From 947a3670169b534d3713969bcdf3feac98c9ce28 Mon Sep 17 00:00:00 2001 From: He4eT Date: Sat, 27 Jan 2024 03:49:56 +0100 Subject: [PATCH] release: 2024-01-27-034952 --- docs/bocfel-core.ee206e48.wasm | Bin 0 -> 1134778 bytes docs/emglken/bocfel-core.js | 4497 ++++++++++++++++ docs/emglken/bocfel-core.wasm | Bin 0 -> 1134778 bytes docs/emglken/git-core.js | 3804 ++++++++++++++ docs/emglken/git-core.wasm | Bin 0 -> 243235 bytes docs/emglken/glulxe-core.js | 3751 ++++++++++++++ docs/emglken/glulxe-core.wasm | Bin 0 -> 282088 bytes docs/emglken/hugo-core.js | 3860 ++++++++++++++ docs/emglken/hugo-core.wasm | Bin 0 -> 223411 bytes docs/emglken/scare-core.js | 3758 ++++++++++++++ docs/emglken/scare-core.wasm | Bin 0 -> 989661 bytes docs/emglken/tads-core.js | 4559 +++++++++++++++++ docs/emglken/tads-core.wasm | Bin 0 -> 3171493 bytes docs/git-core.b75bc635.wasm | Bin 0 -> 243235 bytes docs/hugo-core.34679da7.wasm | Bin 0 -> 223411 bytes docs/index.4a5edb74.js | 2 + docs/index.4a5edb74.js.map | 1 + docs/index.62ef15f1.css | 2 + docs/index.62ef15f1.css.map | 1 + docs/index.6a6ba7ba.js | 2 + docs/index.6a6ba7ba.js.map | 1 + docs/index.7852e909.js | 2 + docs/index.7852e909.js.map | 1 + docs/index.e07a7069.js | 2 + docs/index.e07a7069.js.map | 1 + docs/index.html | 1 + ...en-sans-cyrillic-400-normal.09174fa0.woff2 | Bin 0 -> 10652 bytes ...pen-sans-cyrillic-400-normal.2a726790.woff | Bin 0 -> 8640 bytes ...ans-cyrillic-ext-400-normal.5a91320c.woff2 | Bin 0 -> 17504 bytes ...sans-cyrillic-ext-400-normal.650c7d3f.woff | Bin 0 -> 15412 bytes docs/open-sans-greek-400-normal.3d6f6e23.woff | Bin 0 -> 6820 bytes .../open-sans-greek-400-normal.dc2ae4bd.woff2 | Bin 0 -> 8952 bytes ...n-sans-greek-ext-400-normal.2d040ff0.woff2 | Bin 0 -> 3752 bytes ...en-sans-greek-ext-400-normal.ca43dd21.woff | Bin 0 -> 1500 bytes .../open-sans-hebrew-400-normal.76fb5a51.woff | Bin 0 -> 5508 bytes ...open-sans-hebrew-400-normal.942ca237.woff2 | Bin 0 -> 7532 bytes docs/open-sans-latin-400-normal.36b20d2c.woff | Bin 0 -> 15088 bytes .../open-sans-latin-400-normal.7cf38e2c.woff2 | Bin 0 -> 16740 bytes ...en-sans-latin-ext-400-normal.9030d190.woff | Bin 0 -> 11292 bytes ...n-sans-latin-ext-400-normal.b040be2e.woff2 | Bin 0 -> 12972 bytes ...-sans-vietnamese-400-normal.979797dd.woff2 | Bin 0 -> 7136 bytes ...n-sans-vietnamese-400-normal.c15bfd40.woff | Bin 0 -> 4896 bytes docs/scare-core.0f93f725.wasm | Bin 0 -> 989661 bytes docs/tads-core.768683a2.wasm | Bin 0 -> 3171493 bytes 44 files changed, 24245 insertions(+) create mode 100644 docs/bocfel-core.ee206e48.wasm create mode 100644 docs/emglken/bocfel-core.js create mode 100755 docs/emglken/bocfel-core.wasm create mode 100644 docs/emglken/git-core.js create mode 100755 docs/emglken/git-core.wasm create mode 100644 docs/emglken/glulxe-core.js create mode 100755 docs/emglken/glulxe-core.wasm create mode 100644 docs/emglken/hugo-core.js create mode 100755 docs/emglken/hugo-core.wasm create mode 100644 docs/emglken/scare-core.js create mode 100755 docs/emglken/scare-core.wasm create mode 100644 docs/emglken/tads-core.js create mode 100755 docs/emglken/tads-core.wasm create mode 100644 docs/git-core.b75bc635.wasm create mode 100644 docs/hugo-core.34679da7.wasm create mode 100644 docs/index.4a5edb74.js create mode 100644 docs/index.4a5edb74.js.map create mode 100644 docs/index.62ef15f1.css create mode 100644 docs/index.62ef15f1.css.map create mode 100644 docs/index.6a6ba7ba.js create mode 100644 docs/index.6a6ba7ba.js.map create mode 100644 docs/index.7852e909.js create mode 100644 docs/index.7852e909.js.map create mode 100644 docs/index.e07a7069.js create mode 100644 docs/index.e07a7069.js.map create mode 100644 docs/index.html create mode 100644 docs/open-sans-cyrillic-400-normal.09174fa0.woff2 create mode 100644 docs/open-sans-cyrillic-400-normal.2a726790.woff create mode 100644 docs/open-sans-cyrillic-ext-400-normal.5a91320c.woff2 create mode 100644 docs/open-sans-cyrillic-ext-400-normal.650c7d3f.woff create mode 100644 docs/open-sans-greek-400-normal.3d6f6e23.woff create mode 100644 docs/open-sans-greek-400-normal.dc2ae4bd.woff2 create mode 100644 docs/open-sans-greek-ext-400-normal.2d040ff0.woff2 create mode 100644 docs/open-sans-greek-ext-400-normal.ca43dd21.woff create mode 100644 docs/open-sans-hebrew-400-normal.76fb5a51.woff create mode 100644 docs/open-sans-hebrew-400-normal.942ca237.woff2 create mode 100644 docs/open-sans-latin-400-normal.36b20d2c.woff create mode 100644 docs/open-sans-latin-400-normal.7cf38e2c.woff2 create mode 100644 docs/open-sans-latin-ext-400-normal.9030d190.woff create mode 100644 docs/open-sans-latin-ext-400-normal.b040be2e.woff2 create mode 100644 docs/open-sans-vietnamese-400-normal.979797dd.woff2 create mode 100644 docs/open-sans-vietnamese-400-normal.c15bfd40.woff create mode 100644 docs/scare-core.0f93f725.wasm create mode 100644 docs/tads-core.768683a2.wasm diff --git a/docs/bocfel-core.ee206e48.wasm b/docs/bocfel-core.ee206e48.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6a47a991577cf47d39fe1f71494764bb75120f36 GIT binary patch literal 1134778 zcmd?S3A|-hedoLP+T*$B-l~I^Qc{(6-$Qk}cqv=*n&6mN8>I^5A|xTU$?MN+E2F7v z(pEu;=~q@2Qedels3;DoI7AcyCs3S;BO)rs2^Ez%Vw`ZsIPku||5|%E=iZtCU+2At z*4_K;y~h9gum8OMJKA#k-^5WA#h*7^w^9a_A|E| zy-&lFsJV|GTl$w)(AS6_8!AMPEy7ERXS;UtU$1;bZ##FzJKI9hV`rMSG^p9`hc(V{ zcWO*K_0oFUX`|S=liz+|J0CmjRpRZ+-cQ{|69uBjj;7wXEj=l;xT8NN8nht?IPH9F zyd&PhWOt|)UfQ&GYE(A79o%>T*fWFelRSubJT{`H+XXz_t{n_tu%WmEARfv){bbcJ z{p?a{O6*W|tE9(nNAsL!tpWEr_n>%7yd|39@1I5~fB!7X`1|Kk%-_F=2K@cYDCh5A zfeBmU$JyV%jvV(}qalA6t>okF@84Jpe;Xw{{~uQC2~olQHha50n&bX-YyXUB1^0g! zmHa(3I*h-6AFbr?6RpR8h<=0n{~7%U{?^gG_sK*dg8Wh(IfY#221y6TcRR)>fkAZD0VUbk0_Hxah^~k%A&~W8uP|w zQ99yvoX7FNWiE0vF4xmI8m3V`a>ZPFABxgSIvV70=3GjlH04q5R`N8>H>5d_qN0fI zmuAWAY?jdw^(mTIv3Pzyr?>Pz|Cv9oEH$1y&2yT#zn<`;NVEJfwH_t;fSTOodXZ=D z=#+uZ%*64^l_|rB<1Ef|2t$@9Y4+Rx&IZmf@14f!crHpZmk*=ikx}BJco^GM^PKrb za~f&$UlPsTYwliybdW^avW2 z>F{v+jDRRWV|{XZ&!QE1OdbBmpb8d{mwDon-?`7aXr*)OhDlarhcN+q%Z^P()S@!u zWt7ep4|w3c?>!!l(%}q4$`bttgn#Y-*)qjN2k8dl6ITPG0GSPr0C-UbS_yChTC_4* znUwl(*8k1t!ny#)qF7z5{>}eXaMRpcp{0M;m+M!qT*Loalvpb?1Dt>q>!oEBrbg*7 z8>Cs94F*{;$UuAlGb@Jn|A=+s|4G5BxZ&X`s|6;xJYvx@`@_;{+!-s&z7euzR!(bb zv+4e1)D{x^e+((QC;zQl%l}plC_G>vveXo?KUU24p4G8^len2=2AHusXg3kEMme~f z#xn_c$O6wKNvc0Fs6LaVgCmAQvLwl7lK*&A`X7GduoZJdcI>@oSC&jTjqh9iZz;tA z4u6t3y9el+CNnelm|HRA|3FE9CzkF2KWJoz9Xo(9WFjkRTEtI?Zz*mmvLcRmyWP88 zKA-Q3>q}m;e#j+S_D^xP+u;6u3!CvTwnYD0y1(2Ko#Os#OZ0H}xGm9-O83`WqPLfB z>z3$YZgETWAout!(GN@aH(R0~lA;Qnq)^!kB2b4&F3(*6CG=(DAJ;+E*f(*47h=o6*;pIf4TE?vDP`dsOb z+Y)`ebPwMWeWrAe*b?1Ty5qM*HHc6#^wrY+;g;yj zr8{j)^tICc(U#~d<=_hto;n_Wso3 zr09HoL97k*m&r1){Mz=Nlh=axJ;r`%JX zT`nvvyuN&Kd4Brx__BEGt=X^QGjC458vkQ)Y4NJ!qxl8#tBYqBUvsBED}G6Nk-NqH ztNW?D-F-QGZTgk$tJ$^X3(5=952x=KTr+rbd{O%5@}=bs={4oI()TA%b>|ir6zi^Y zpUtmMzmVKgUN*R@d}H~h@@eH2gBK58J9z0pqxoL(T@CL$#kY%Z75x5H@k{;wMe+0E z--=fj-$}lcJf*m#_(=Tr_{RLz__QSv$L|xvh%a^vS(&5&z_wEGl zUXpz-y*0fw`$783?2_z*>1Wc*vvaerre8>(=U$cFmVP1)fUm;ao`mDlvo~a~&#ua@E}vgsR6ehKUG~cIW#!Z3SHw?At|?w#zNNgld{KF6 z`NHz*!Q(Mxiq{oyC|+M&SzJ-Pv3OJQz2u`#|K1gUGx=bPH;Yf@pUgjz|0^r?=O1;K4{l3tOWxzYmF!MG zRs3`DiQ<#R?(`$YFOm-zHx$20K3;sZ_*iixch~dmy5d8{*RprHtCF`Q=eh@7<92)` z|91Yy_#Nfd$(xgRmS4)An>;tUCHqkMt^AtgOXa)D#jh6MDzA0#v?}MgJ@JS0k0fu4 zRs0JSxw&{x7hapcI)7FE^86q3 zSLUzCUz1;!Uz)!xU$`W{IDc{e!u&<~OY@iHFUS|3n?Eamc7A?-L4INWocx(;__E|z z+3x(8*&W$0va|B{6z?lOP`tl*Z}CsX2StuAOK#8pE&FNqv+O6?&$G7|?=0S3ysLOe z@wVdH;_dEL$&WJq{Xw<>Q+Mab`ro^f?Qe+R5HIuOj`$8Maen;vP-f|qcjxcQ7v7P- zJzscR{?>fqn*1&K!n>3A{Mq7lgYDb5f30{{@nm+)mC0|sIc2D?0vUf< zF8r!oc=BNP;EwXF!NR|lKP!J;F8s9oNqKv@@QZTcyV=5bvW2&}r=(XVZ*gyN3*XLW zu7B%8o-+9EFfMkvja78~TvSDMxj1%Q(#7>I8prh$w~eE%^BM2sI^IT!xK6emKNnZ7 za#n)k_3k$$+@Hu(-fx|c>OJ`q$wo0n>SXa)vp=zw2&l!mIJUfonxHXehv5Lm3QO?Fgm8n;4 z9j6*#!kAq>>VDPHd`zKaW0lSqRl*$mMPrK2r&YY(jZ}456?MdjhE>j_)$n?^cAVDk zjQWx{C0oZDcIB7`17#3Qe=e?n#EkgoXOy-x%Ii_Rs>*4Z8f&(O^2g6Hx46oWb*t4l zy$V*E%E-65+NQp0oCxanVpVv-EUIk1OPNBltxh)2MfL5kPb!VK%7FV$V3`6gWT@@B zW29T{?Mj-gvQvOes2;PV5wnYHx9xb=WUpVpOzXpaUS3gH^O z5_T-X88(sM)tkZa2F*aE{UX|scKm8ZtYH28HzZr?aY3)R1@69DUcnAreS=m7>);-L`dHfJIao$3||{ z0R%$pp`G8%So2qZv{#M;9BdbrEDUgfc&LhiBd84P3)p-7qv1MU97px8Dp~_vhr?O6 zZ@qf!=wbXBeinnnt|Ng1sCHy_BnT1Jvx}6o+c5+wnx{7=!MM4U^KQ7LLfTeP@nm>p z3fPW}>JhwQ9kp$_7J&L=hmO^U(z zk)>PPkp(hmTU4MFe41jjDmMIa94Gsk8mOhIaY^TCMN@-wOjnqknhS%B?iUT~;!LJm zB?i3h%vY1HBH9rq-cf7=VEht1v_gL7%$mMN7qs(sM+}=bS7NrCcYe~$X1Ph*+6tfm zMT8xWGdXF@39oZ;Iz5ZKxT0w@#P#mzF|(?xtz)-|i8()Ox2qD<60(5Gwr}BTRXoo> zJzKSPC_sR{X$uHm9Tr9Uspap1K_n>_BsII$0P8_)G9i8Y5KeCo4PbW>O90phi#VGG z*s2zzjl+W{+IP%{%dEC81a&^wg?(`#tjRq1*bp0mn>K_t?9qPxj;Tb8lJ)*!*>X4YYNd%_xk#OntF zB*-sBUvqHHI5Y@mk^5P=1_zi0mTTKbbn;*7=md{d>$Tk0UFG5Cj!ISovu>!azUlpk zGkhbRlHeGorjOi~)k)KB{bKR8&%HASeuG*&*P~twH~}E)T8-*>GflXS4s@in+tlpy zu8gbKOI{Qx0s!t89XXD!W$@#84b$h%TCLa`KbW)~%yoyHY5q0Xvk_9TL=9i8| z9K-`Zzy;tBdm~X-!lU(D*`xu0M)H9{)^__TS6_Y$*fHYa!S$NJGz>&qenj)`$8xyP zy=^Gl(zT37`JE*3kWU!6)B*(NQA6-o8Nq+?QSoq>XFJ1nkydT;f2{qFq=_`r2XYgS zhFgt2*TWOnjKP&N$I+Q4Pp4Y-xZZWTL{(o9`~k`;@iw)kUGIX|^vVnkj}pPdobdbxO9oGhtdgQ-DY)ne@y zx6?>;2C5mqqQz~G(})qG{OE+_&FGABHfolQ4h?Gz?C{}fd@ve`41Rp517S?uZ5@{k zSaYtjMKqp9g^0JRbW|1W&7u?Pf^azRU

|^GaeJs-lOt7HnFqgA*Ft=3N*D#7?7u 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%0A=UA$7S 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 z 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¥Y(5l#cDm2{1=tD$B+4rz3a}Mj-;35OxI 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 literal 0 HcmV?d00001 diff --git a/docs/emglken/bocfel-core.js b/docs/emglken/bocfel-core.js new file mode 100644 index 0000000..a860d3f --- /dev/null +++ b/docs/emglken/bocfel-core.js @@ -0,0 +1,4497 @@ + +var Module = (() => { + var _scriptDir = import.meta.url; + + return ( +function(Module = {}) { + +var Module = typeof Module != "undefined" ? Module : {}; + +var readyPromiseResolve, readyPromiseReject; + +Module["ready"] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); + +var moduleOverrides = Object.assign({}, Module); + +var arguments_ = []; + +var thisProgram = "./this.program"; + +var quit_ = (status, toThrow) => { + throw toThrow; +}; + +var ENVIRONMENT_IS_WEB = true; + +var ENVIRONMENT_IS_WORKER = false; + +var scriptDirectory = ""; + +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; +} + +var read_, readAsync, readBinary, setWindowTitle; + +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href; + } else if (typeof document != "undefined" && document.currentScript) { + scriptDirectory = document.currentScript.src; + } + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1); + } else { + scriptDirectory = ""; + } + { + read_ = url => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText; + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = url => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response); + }; + } + readAsync = (url, onload, onerror) => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = () => { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + }; + } + setWindowTitle = title => document.title = title; +} else {} + +var out = Module["print"] || console.log.bind(console); + +var err = Module["printErr"] || console.warn.bind(console); + +Object.assign(Module, moduleOverrides); + +moduleOverrides = null; + +if (Module["arguments"]) arguments_ = Module["arguments"]; + +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; + +if (Module["quit"]) quit_ = Module["quit"]; + +var wasmBinary; + +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; + +var noExitRuntime = Module["noExitRuntime"] || false; + +if (typeof WebAssembly != "object") { + abort("no native wasm support detected"); +} + +var wasmMemory; + +var ABORT = false; + +var EXITSTATUS; + +function assert(condition, text) { + if (!condition) { + abort(text); + } +} + +var UTF8Decoder = new TextDecoder("utf8"); + +function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr))); +} + +function UTF8ToString(ptr, maxBytesToRead) { + if (!ptr) return ""; + var maxPtr = ptr + maxBytesToRead; + for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end; + return UTF8Decoder.decode(HEAPU8.subarray(ptr, end)); +} + +function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } + if (u <= 127) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 192 | u >> 6; + heap[outIdx++] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 224 | u >> 12; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } else { + if (outIdx + 3 >= endIdx) break; + heap[outIdx++] = 240 | u >> 18; + heap[outIdx++] = 128 | u >> 12 & 63; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } + } + heap[outIdx] = 0; + return outIdx - startIdx; +} + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); +} + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var c = str.charCodeAt(i); + if (c <= 127) { + len++; + } else if (c <= 2047) { + len += 2; + } else if (c >= 55296 && c <= 57343) { + len += 4; + ++i; + } else { + len += 3; + } + } + return len; +} + +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateMemoryViews() { + var b = wasmMemory.buffer; + Module["HEAP8"] = HEAP8 = new Int8Array(b); + Module["HEAP16"] = HEAP16 = new Int16Array(b); + Module["HEAP32"] = HEAP32 = new Int32Array(b); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(b); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(b); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(b); + Module["HEAPF32"] = HEAPF32 = new Float32Array(b); + Module["HEAPF64"] = HEAPF64 = new Float64Array(b); +} + +var wasmTable; + +var __ATPRERUN__ = []; + +var __ATINIT__ = []; + +var __ATMAIN__ = []; + +var __ATEXIT__ = []; + +var __ATPOSTRUN__ = []; + +var runtimeInitialized = false; + +var runtimeExited = false; + +var runtimeKeepaliveCounter = 0; + +function keepRuntimeAlive() { + return noExitRuntime || runtimeKeepaliveCounter > 0; +} + +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + FS.ignorePermissions = false; + TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + callRuntimeCallbacks(__ATMAIN__); +} + +function exitRuntime() { + ___funcs_on_exit(); + callRuntimeCallbacks(__ATEXIT__); + FS.quit(); + TTY.shutdown(); + 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 addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +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(); + } + } +} + +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what = "Aborted(" + what + ")"; + err(what); + ABORT = true; + EXITSTATUS = 1; + what += ". Build with -sASSERTIONS for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; +} + +var dataURIPrefix = "data:application/octet-stream;base64,"; + +function isDataURI(filename) { + return filename.startsWith(dataURIPrefix); +} + +var wasmBinaryFile; + +if (Module["locateFile"]) { + wasmBinaryFile = "bocfel-core.wasm"; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } +} else { + wasmBinaryFile = new URL("bocfel-core.wasm", import.meta.url).href; +} + +function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; + } catch (err) { + abort(err); + } +} + +function getBinaryPromise(binaryFile) { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch == "function") { + return fetch(binaryFile, { + credentials: "same-origin" + }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + binaryFile + "'"; + } + return response["arrayBuffer"](); + }).catch(function() { + return getBinary(binaryFile); + }); + } + } + return Promise.resolve().then(function() { + return getBinary(binaryFile); + }); +} + +function instantiateArrayBuffer(binaryFile, imports, receiver) { + return getBinaryPromise(binaryFile).then(function(binary) { + return WebAssembly.instantiate(binary, imports); + }).then(function(instance) { + return instance; + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason); + }); +} + +function instantiateAsync(binary, binaryFile, imports, callback) { + if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) && typeof fetch == "function") { + return fetch(binaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, imports); + return result.then(callback, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + return instantiateArrayBuffer(binaryFile, imports, callback); + }); + }); + } else { + return instantiateArrayBuffer(binaryFile, imports, callback); + } +} + +function createWasm() { + var info = { + "a": wasmImports + }; + function receiveInstance(instance, module) { + var exports = instance.exports; + exports = Asyncify.instrumentWasmExports(exports); + Module["asm"] = exports; + wasmMemory = Module["asm"]["da"]; + updateMemoryViews(); + wasmTable = Module["asm"]["na"]; + addOnInit(Module["asm"]["ea"]); + removeRunDependency("wasm-instantiate"); + return exports; + } + addRunDependency("wasm-instantiate"); + function receiveInstantiationResult(result) { + receiveInstance(result["instance"]); + } + if (Module["instantiateWasm"]) { + try { + return Module["instantiateWasm"](info, receiveInstance); + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + readyPromiseReject(e); + } + } + instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject); + return {}; +} + +var tempDouble; + +var tempI64; + +function __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) { + return Asyncify.handleAsync(async () => { + if (!Module.emglken_stdin_buffers.length) { + await new Promise(resolve => { + Module.emglken_stdin_ready = resolve; + }); + } + const input = Module.emglken_stdin_buffers.shift(); + const len = Math.min(input.length, maxlen); + if (len == input.length) { + HEAPU8.set(input, buffer); + } else { + HEAPU8.set(input.subarray(0, len), buffer); + Module.emglken_stdin_buffers.unshift(input.subarray(len)); + } + return len; + }); +} + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +} + +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + callbacks.shift()(Module); + } +} + +var exceptionCaught = []; + +function exception_addRef(info) { + info.add_ref(); +} + +var uncaughtExceptionCount = 0; + +function ___cxa_begin_catch(ptr) { + var info = new ExceptionInfo(ptr); + if (!info.get_caught()) { + info.set_caught(true); + uncaughtExceptionCount--; + } + info.set_rethrown(false); + exceptionCaught.push(info); + exception_addRef(info); + return info.get_exception_ptr(); +} + +var exceptionLast = 0; + +function exception_decRef(info) { + if (info.release_ref() && !info.get_rethrown()) { + var destructor = info.get_destructor(); + if (destructor) { + (a1 => dynCall_ii.apply(null, [ destructor, a1 ]))(info.excPtr); + } + ___cxa_free_exception(info.excPtr); + } +} + +function ___cxa_end_catch() { + _setThrew(0); + var info = exceptionCaught.pop(); + exception_decRef(info); + exceptionLast = 0; +} + +function ExceptionInfo(excPtr) { + this.excPtr = excPtr; + this.ptr = excPtr - 24; + this.set_type = function(type) { + HEAPU32[this.ptr + 4 >> 2] = type; + }; + this.get_type = function() { + return HEAPU32[this.ptr + 4 >> 2]; + }; + this.set_destructor = function(destructor) { + HEAPU32[this.ptr + 8 >> 2] = destructor; + }; + this.get_destructor = function() { + return HEAPU32[this.ptr + 8 >> 2]; + }; + this.set_refcount = function(refcount) { + HEAP32[this.ptr >> 2] = refcount; + }; + this.set_caught = function(caught) { + caught = caught ? 1 : 0; + HEAP8[this.ptr + 12 >> 0] = caught; + }; + this.get_caught = function() { + return HEAP8[this.ptr + 12 >> 0] != 0; + }; + this.set_rethrown = function(rethrown) { + rethrown = rethrown ? 1 : 0; + HEAP8[this.ptr + 13 >> 0] = rethrown; + }; + this.get_rethrown = function() { + return HEAP8[this.ptr + 13 >> 0] != 0; + }; + this.init = function(type, destructor) { + this.set_adjusted_ptr(0); + this.set_type(type); + this.set_destructor(destructor); + this.set_refcount(0); + this.set_caught(false); + this.set_rethrown(false); + }; + this.add_ref = function() { + var value = HEAP32[this.ptr >> 2]; + HEAP32[this.ptr >> 2] = value + 1; + }; + this.release_ref = function() { + var prev = HEAP32[this.ptr >> 2]; + HEAP32[this.ptr >> 2] = prev - 1; + return prev === 1; + }; + this.set_adjusted_ptr = function(adjustedPtr) { + HEAPU32[this.ptr + 16 >> 2] = adjustedPtr; + }; + this.get_adjusted_ptr = function() { + return HEAPU32[this.ptr + 16 >> 2]; + }; + this.get_exception_ptr = function() { + var isPointer = ___cxa_is_pointer_type(this.get_type()); + if (isPointer) { + return HEAPU32[this.excPtr >> 2]; + } + var adjusted = this.get_adjusted_ptr(); + if (adjusted !== 0) return adjusted; + return this.excPtr; + }; +} + +function ___resumeException(ptr) { + if (!exceptionLast) { + exceptionLast = ptr; + } + throw ptr; +} + +function ___cxa_find_matching_catch() { + var thrown = exceptionLast; + if (!thrown) { + setTempRet0(0); + return 0; + } + var info = new ExceptionInfo(thrown); + info.set_adjusted_ptr(thrown); + var thrownType = info.get_type(); + if (!thrownType) { + setTempRet0(0); + return thrown; + } + for (var i = 0; i < arguments.length; i++) { + var caughtType = arguments[i]; + if (caughtType === 0 || caughtType === thrownType) { + break; + } + var adjusted_ptr_addr = info.ptr + 16; + if (___cxa_can_catch(caughtType, thrownType, adjusted_ptr_addr)) { + setTempRet0(caughtType); + return thrown; + } + } + setTempRet0(thrownType); + return thrown; +} + +var ___cxa_find_matching_catch_2 = ___cxa_find_matching_catch; + +var ___cxa_find_matching_catch_3 = ___cxa_find_matching_catch; + +var ___cxa_find_matching_catch_4 = ___cxa_find_matching_catch; + +var ___cxa_find_matching_catch_5 = ___cxa_find_matching_catch; + +var ___cxa_find_matching_catch_6 = ___cxa_find_matching_catch; + +var ___cxa_find_matching_catch_7 = ___cxa_find_matching_catch; + +function ___cxa_rethrow() { + var info = exceptionCaught.pop(); + if (!info) { + abort("no exception to throw"); + } + var ptr = info.excPtr; + if (!info.get_rethrown()) { + exceptionCaught.push(info); + info.set_rethrown(true); + info.set_caught(false); + uncaughtExceptionCount++; + } + exceptionLast = ptr; + throw ptr; +} + +function ___cxa_throw(ptr, type, destructor) { + var info = new ExceptionInfo(ptr); + info.init(type, destructor); + exceptionLast = ptr; + uncaughtExceptionCount++; + throw ptr; +} + +function ___cxa_uncaught_exceptions() { + return uncaughtExceptionCount; +} + +var PATH = { + isAbs: path => path.charAt(0) === "/", + splitPath: filename => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, + normalizeArray: (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: path => { + var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(p => !!p), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, + dirname: 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: path => { + if (path === "/") return "/"; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1); + }, + join: function() { + var paths = Array.prototype.slice.call(arguments); + return PATH.normalize(paths.join("/")); + }, + join2: (l, r) => { + return PATH.normalize(l + "/" + r); + } +}; + +function getRandomDevice() { + if (typeof crypto == "object" && typeof crypto["getRandomValues"] == "function") { + var randomBuffer = new Uint8Array(1); + return () => { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0]; + }; + } else return () => abort("randomDevice"); +} + +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.isAbs(path); + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(p => !!p), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + }, + relative: (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("/"); + } +}; + +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 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(43); + } + stream.tty = tty; + stream.seekable = false; + }, + close: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, + fsync: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + 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(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + 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(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + 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); + } + }, + fsync: 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); + } + }, + fsync: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + } +}; + +function mmapAlloc(size) { + abort(); +} + +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(63); + } + 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; + parent.timestamp = node.timestamp; + } + return node; + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array(0); + 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); + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); + } + 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[44]; + }, + 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(55); + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now(); + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + }, + unlink: function(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + 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(28); + } + 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) { + if (buffer.buffer === HEAP8.buffer) { + 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 = buffer.slice(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(28); + } + 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, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === HEAP8.buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { + ptr: ptr, + allocated: allocated + }; + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0; + } + } +}; + +function asyncLoad(url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency("al " + url) : ""; + readAsync(url, arrayBuffer => { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, event => { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); +} + +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + lookupPath: (path, opts = {}) => { + path = PATH_FS.resolve(path); + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + opts = Object.assign(defaults, opts); + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32); + } + var parts = path.split("/").filter(p => !!p); + 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 + 1 + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32); + } + } + } + } + return { + path: current_path, + node: current + }; + }, + getPath: 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: (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: node => { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, + hashRemoveNode: 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: (parent, name) => { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, 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: (parent, name, mode, rdev) => { + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; + }, + destroyNode: node => { + FS.hashRemoveNode(node); + }, + isRoot: node => { + return node === node.parent; + }, + isMountpoint: node => { + return !!node.mounted; + }, + isFile: mode => { + return (mode & 61440) === 32768; + }, + isDir: mode => { + return (mode & 61440) === 16384; + }, + isLink: mode => { + return (mode & 61440) === 40960; + }, + isChrdev: mode => { + return (mode & 61440) === 8192; + }, + isBlkdev: mode => { + return (mode & 61440) === 24576; + }, + isFIFO: mode => { + return (mode & 61440) === 4096; + }, + isSocket: mode => { + return (mode & 49152) === 49152; + }, + flagModes: { + "r": 0, + "r+": 2, + "w": 577, + "w+": 578, + "a": 1089, + "a+": 1090 + }, + modeStringToFlags: str => { + var flags = FS.flagModes[str]; + if (typeof flags == "undefined") { + throw new Error("Unknown file open mode: " + str); + } + return flags; + }, + flagsToPermissionString: flag => { + var perms = [ "r", "w", "rw" ][flag & 3]; + if (flag & 512) { + perms += "w"; + } + return perms; + }, + nodePermissions: (node, perms) => { + if (FS.ignorePermissions) { + return 0; + } + if (perms.includes("r") && !(node.mode & 292)) { + return 2; + } else if (perms.includes("w") && !(node.mode & 146)) { + return 2; + } else if (perms.includes("x") && !(node.mode & 73)) { + return 2; + } + return 0; + }, + mayLookup: dir => { + var errCode = FS.nodePermissions(dir, "x"); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + }, + mayCreate: (dir, name) => { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) {} + return FS.nodePermissions(dir, "wx"); + }, + mayDelete: (dir, name, isdir) => { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, "wx"); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + }, + mayOpen: (node, flags) => { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, + MAX_OPEN_FDS: 4096, + nextfd: (fd_start = 0, 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(33); + }, + getStream: fd => FS.streams[fd], + createStream: (stream, fd_start, fd_end) => { + if (!FS.FSStream) { + FS.FSStream = function() { + this.shared = {}; + }; + 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; + } + }, + flags: { + get: function() { + return this.shared.flags; + }, + set: function(val) { + this.shared.flags = val; + } + }, + position: { + get: function() { + return this.shared.position; + }, + set: function(val) { + this.shared.position = val; + } + } + }); + } + stream = Object.assign(new FS.FSStream(), stream); + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, + closeStream: fd => { + FS.streams[fd] = null; + }, + chrdev_stream_ops: { + open: 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: () => { + throw new FS.ErrnoError(70); + } + }, + major: dev => dev >> 8, + minor: dev => dev & 255, + makedev: (ma, mi) => ma << 8 | mi, + registerDevice: (dev, ops) => { + FS.devices[dev] = { + stream_ops: ops + }; + }, + getDevice: dev => FS.devices[dev], + getMounts: 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: (populate, callback) => { + if (typeof populate == "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + err("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(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + } + mounts.forEach(mount => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, + mount: (type, opts, mountpoint) => { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } 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(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + 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: mountpoint => { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(hash => { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + current = next; + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + }, + lookup: (parent, name) => { + return parent.node_ops.lookup(parent, name); + }, + mknod: (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(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, + create: (path, mode) => { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, + mkdir: (path, mode) => { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, + mkdirTree: (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 != 20) throw e; + } + } + }, + mkdev: (path, mode, dev) => { + if (typeof dev == "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink: (oldpath, newpath) => { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename: (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; + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node; + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + 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(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + 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 errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + 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); + } + }, + rmdir: path => { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + }, + readdir: path => { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, + unlink: path => { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + }, + readlink: path => { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + }, + stat: (path, dontFollow) => { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, + lstat: path => { + return FS.stat(path, true); + }, + chmod: (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(63); + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }); + }, + lchmod: (path, mode) => { + FS.chmod(path, mode, true); + }, + fchmod: (fd, mode) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + }, + chown: (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(63); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }); + }, + lchown: (path, uid, gid) => { + FS.chown(path, uid, gid, true); + }, + fchown: (fd, uid, gid) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + }, + truncate: (path, len) => { + if (len < 0) { + throw new FS.ErrnoError(28); + } + 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(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + }, + ftruncate: (fd, len) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, + utime: (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: (path, flags, mode) => { + if (path === "") { + throw new FS.ErrnoError(44); + } + 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(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512 && !created) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }); + 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; + } + } + return stream; + }, + close: stream => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + 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: stream => { + return stream.fd === null; + }, + llseek: (stream, offset, whence) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, + read: (stream, buffer, offset, length, position) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + }, + write: (stream, buffer, offset, length, position, canOwn) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && 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(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + }, + allocate: (stream, offset, length) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, + mmap: (stream, length, position, prot, flags) => { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + }, + msync: (stream, buffer, offset, length, mmapFlags) => { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + }, + munmap: stream => 0, + ioctl: (stream, cmd, arg) => { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile: (path, opts = {}) => { + opts.flags = opts.flags || 0; + 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: (path, data, opts = {}) => { + opts.flags = opts.flags || 577; + 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: () => FS.currentPath, + chdir: path => { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, + createDefaultDirectories: () => { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices: () => { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => 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 = getRandomDevice(); + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); + }, + createSpecialDirectories: () => { + FS.mkdir("/proc"); + var proc_self = FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: () => { + var node = FS.createNode(proc_self, "fd", 16384 | 511, 73); + node.node_ops = { + lookup: (parent, name) => { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: () => stream.path + } + }; + ret.parent = ret; + return ret; + } + }; + return node; + } + }, {}, "/proc/self/fd"); + }, + createStandardStreams: () => { + 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", 0); + var stdout = FS.open("/dev/stdout", 1); + var stderr = FS.open("/dev/stderr", 1); + }, + ensureErrnoError: () => { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.name = "ErrnoError"; + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + }; + this.setErrno(errno); + this.message = "FS error"; + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [ 44 ].forEach(code => { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ""; + }); + }, + staticInit: () => { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS + }; + }, + init: (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: () => { + FS.init.initialized = false; + _fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, + getMode: (canRead, canWrite) => { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + }, + findObject: (path, dontResolveLastLink) => { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + }, + analyzePath: (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; + }, + createPath: (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: (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: (parent, name, data, canRead, canWrite, canOwn) => { + var path = name; + if (parent) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + path = name ? PATH.join2(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, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + }, + createDevice: (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: stream => { + stream.seekable = false; + }, + close: stream => { + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: (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(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: (stream, buffer, offset, length, pos) => { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + }, + forceLoadFile: obj => { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return 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 (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + }, + createLazyFile: (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 = (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); + 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 || []); + } + return intArrayFromString(xhr.responseText || "", true); + }; + var lazyArray = this; + lazyArray.setDataGetter(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; + out("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(key => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + 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; + } + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position); + }; + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, HEAP8, ptr, length, position); + return { + ptr: ptr, + allocated: true + }; + }; + node.stream_ops = stream_ops; + return node; + }, + createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { + 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); + } + if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => { + if (onerror) onerror(); + removeRunDependency(dep); + })) { + return; + } + finish(byteArray); + } + addRunDependency(dep); + if (typeof url == "string") { + asyncLoad(url, byteArray => processData(byteArray), onerror); + } else { + processData(url); + } + }, + indexedDB: () => { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + }, + DB_NAME: () => { + return "EM_FS_" + window.location.pathname; + }, + DB_VERSION: 20, + DB_STORE_NAME: "FILE_DATA", + saveFilesToDB: (paths, onload = (() => {}), onerror = (() => {})) => { + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = () => { + out("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + 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(path => { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = () => { + ok++; + if (ok + fail == total) finish(); + }; + putRequest.onerror = () => { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }, + loadFilesFromDB: (paths, onload = (() => {}), onerror = (() => {})) => { + 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 = () => { + 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(path => { + var getRequest = files.get(path); + 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 = () => { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + } +}; + +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + calculateAt: function(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44); + } + return dir; + } + return PATH.join2(dir, 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 -54; + } + throw e; + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAPU32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + 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; + var atime = stat.atime.getTime(); + var mtime = stat.mtime.getTime(); + var ctime = stat.ctime.getTime(); + tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), + +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 + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1]; + HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3; + tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), + +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 + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1]; + HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3; + tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), + +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 + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1]; + HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3; + 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 + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1]; + return 0; + }, + doMsync: function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + return 0; + } + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + }, + varargs: undefined, + get: function() { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret; + }, + getStr: function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, + getStreamFromFD: function(fd) { + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream; + } +}; + +function ___syscall_faccessat(dirfd, path, amode, flags) { + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + if (amode & ~7) { + return -28; + } + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node) { + return -44; + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2; + } + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function setErrNo(value) { + HEAP32[___errno_location() >> 2] = value; + return value; +} + +function ___syscall_fcntl64(fd, cmd, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: + { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; + } + var newStream; + newStream = FS.createStream(stream, 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 5: + { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0; + } + + case 6: + case 7: + return 0; + + case 16: + case 8: + return -28; + + case 9: + setErrNo(28); + return -1; + + default: + { + return -28; + } + } + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_getcwd(buf, size) { + try { + if (size === 0) return -28; + var cwd = FS.cwd(); + var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1; + if (size < cwdLengthInBytes) return -68; + stringToUTF8(cwd, buf, size); + return cwdLengthInBytes; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: + { + if (!stream.tty) return -59; + return 0; + } + + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: + { + if (!stream.tty) return -59; + return 0; + } + + case 21519: + { + if (!stream.tty) return -59; + var argp = SYSCALLS.get(); + HEAP32[argp >> 2] = 0; + return 0; + } + + case 21520: + { + if (!stream.tty) return -59; + return -28; + } + + case 21531: + { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + + case 21523: + { + if (!stream.tty) return -59; + return 0; + } + + case 21524: + { + if (!stream.tty) return -59; + return 0; + } + + default: + return -28; + } + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_openat(dirfd, path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + var mode = varargs ? SYSCALLS.get() : 0; + return FS.open(path, flags, mode).fd; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +var nowIsMonotonic = true; + +function __emscripten_get_now_is_monotonic() { + return nowIsMonotonic; +} + +function readI53FromI64(ptr) { + return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296; +} + +function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); +} + +var __MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ]; + +var __MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ]; + +function __yday_from_date(date) { + var isLeapYear = __isLeapYear(date.getFullYear()); + var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE; + var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; + return yday; +} + +function __localtime_js(time, tmPtr) { + var date = new Date(readI53FromI64(time) * 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 yday = __yday_from_date(date) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); + var start = new Date(date.getFullYear(), 0, 1); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[tmPtr + 32 >> 2] = dst; +} + +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +function __tzset_js(timezone, daylight, tzname) { + var currentYear = new Date().getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + var winterOffset = winter.getTimezoneOffset(); + var summerOffset = summer.getTimezoneOffset(); + var stdTimezoneOffset = Math.max(winterOffset, summerOffset); + HEAPU32[timezone >> 2] = stdTimezoneOffset * 60; + HEAP32[daylight >> 2] = Number(winterOffset != summerOffset); + 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 = allocateUTF8(winterName); + var summerNamePtr = allocateUTF8(summerName); + if (summerOffset < winterOffset) { + HEAPU32[tzname >> 2] = winterNamePtr; + HEAPU32[tzname + 4 >> 2] = summerNamePtr; + } else { + HEAPU32[tzname >> 2] = summerNamePtr; + HEAPU32[tzname + 4 >> 2] = winterNamePtr; + } +} + +function _abort() { + abort(""); +} + +function _emscripten_date_now() { + return Date.now(); +} + +var _emscripten_get_now; + +_emscripten_get_now = () => performance.now(); + +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); +} + +function getHeapMax() { + return 2147483648; +} + +function emscripten_realloc_buffer(size) { + var b = wasmMemory.buffer; + try { + wasmMemory.grow(size - b.byteLength + 65535 >>> 16); + updateMemoryViews(); + return 1; + } catch (e) {} +} + +function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + return false; + } + let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + .2 / cutDown); + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true; + } + } + return false; +} + +var ENV = {}; + +function getExecutableName() { + return thisProgram || "./this.program"; +} + +function getEnvStrings() { + if (!getEnvStrings.strings) { + var lang = (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + var env = { + "USER": "web_user", + "LOGNAME": "web_user", + "PATH": "/", + "PWD": "/", + "HOME": "/home/web_user", + "LANG": lang, + "_": getExecutableName() + }; + for (var x in ENV) { + if (ENV[x] === undefined) delete env[x]; else env[x] = ENV[x]; + } + var strings = []; + for (var x in env) { + strings.push(x + "=" + env[x]); + } + getEnvStrings.strings = strings; + } + return getEnvStrings.strings; +} + +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 _environ_get(__environ, environ_buf) { + var bufSize = 0; + getEnvStrings().forEach(function(string, i) { + var ptr = environ_buf + bufSize; + HEAPU32[__environ + i * 4 >> 2] = ptr; + writeAsciiToMemory(string, ptr); + bufSize += string.length + 1; + }); + return 0; +} + +function _environ_sizes_get(penviron_count, penviron_buf_size) { + var strings = getEnvStrings(); + HEAPU32[penviron_count >> 2] = strings.length; + var bufSize = 0; + strings.forEach(function(string) { + bufSize += string.length + 1; + }); + HEAPU32[penviron_buf_size >> 2] = bufSize; + return 0; +} + +function _proc_exit(code) { + EXITSTATUS = code; + if (!keepRuntimeAlive()) { + if (Module["onExit"]) Module["onExit"](code); + ABORT = true; + } + quit_(code, new ExitStatus(code)); +} + +function exitJS(status, implicit) { + EXITSTATUS = status; + if (!keepRuntimeAlive()) { + exitRuntime(); + } + _proc_exit(status); +} + +var _exit = exitJS; + +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function doReadv(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[iov >> 2]; + var len = HEAPU32[iov + 4 >> 2]; + iov += 8; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; +} + +function _fd_read(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function convertI32PairToI53Checked(lo, hi) { + return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN; +} + +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var offset = convertI32PairToI53Checked(offset_low, offset_high); + if (isNaN(offset)) return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + 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[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function doWritev(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[iov >> 2]; + var len = HEAPU32[iov + 4 >> 2]; + iov += 8; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; +} + +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + HEAPU32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function _llvm_eh_typeid_for(type) { + return type; +} + +function __arraySum(array, index) { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]) {} + return sum; +} + +var __MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; + +var __MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; + +function __addDays(date, days) { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = __isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1); + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1); + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate; + } + } + return newDate; +} + +function writeArrayToMemory(array, buffer) { + HEAP8.set(array, buffer); +} + +function _strftime(s, maxsize, format, tm) { + var tm_zone = HEAP32[tm + 40 >> 2]; + var date = { + tm_sec: HEAP32[tm >> 2], + tm_min: HEAP32[tm + 4 >> 2], + tm_hour: HEAP32[tm + 8 >> 2], + tm_mday: HEAP32[tm + 12 >> 2], + tm_mon: HEAP32[tm + 16 >> 2], + tm_year: HEAP32[tm + 20 >> 2], + tm_wday: HEAP32[tm + 24 >> 2], + tm_yday: HEAP32[tm + 28 >> 2], + tm_isdst: HEAP32[tm + 32 >> 2], + tm_gmtoff: HEAP32[tm + 36 >> 2], + tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" + }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { + "%c": "%a %b %d %H:%M:%S %Y", + "%D": "%m/%d/%y", + "%F": "%Y-%m-%d", + "%h": "%b", + "%r": "%I:%M:%S %p", + "%R": "%H:%M", + "%T": "%H:%M:%S", + "%x": "%m/%d/%y", + "%X": "%H:%M:%S", + "%Ec": "%c", + "%EC": "%C", + "%Ex": "%m/%d/%y", + "%EX": "%H:%M:%S", + "%Ey": "%y", + "%EY": "%Y", + "%Od": "%d", + "%Oe": "%e", + "%OH": "%H", + "%OI": "%I", + "%Om": "%m", + "%OM": "%M", + "%OS": "%S", + "%Ou": "%u", + "%OU": "%U", + "%OV": "%V", + "%Ow": "%w", + "%OW": "%W", + "%Oy": "%y" + }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]); + } + var WEEKDAYS = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ]; + var MONTHS = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; + function leadingSomething(value, digits, character) { + var str = typeof value == "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str; + } + return str; + } + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0"); + } + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0; + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()); + } + } + return compare; + } + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + + case 1: + return janFourth; + + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30); + } + } + function getWeekBasedYear(date) { + var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1; + } + return thisDate.getFullYear(); + } + return thisDate.getFullYear() - 1; + } + var EXPANSION_RULES_2 = { + "%a": function(date) { + return WEEKDAYS[date.tm_wday].substring(0, 3); + }, + "%A": function(date) { + return WEEKDAYS[date.tm_wday]; + }, + "%b": function(date) { + return MONTHS[date.tm_mon].substring(0, 3); + }, + "%B": function(date) { + return MONTHS[date.tm_mon]; + }, + "%C": function(date) { + var year = date.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2); + }, + "%d": function(date) { + return leadingNulls(date.tm_mday, 2); + }, + "%e": function(date) { + return leadingSomething(date.tm_mday, 2, " "); + }, + "%g": function(date) { + return getWeekBasedYear(date).toString().substring(2); + }, + "%G": function(date) { + return getWeekBasedYear(date); + }, + "%H": function(date) { + return leadingNulls(date.tm_hour, 2); + }, + "%I": function(date) { + var twelveHour = date.tm_hour; + if (twelveHour == 0) twelveHour = 12; else if (twelveHour > 12) twelveHour -= 12; + return leadingNulls(twelveHour, 2); + }, + "%j": function(date) { + return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3); + }, + "%m": function(date) { + return leadingNulls(date.tm_mon + 1, 2); + }, + "%M": function(date) { + return leadingNulls(date.tm_min, 2); + }, + "%n": function() { + return "\n"; + }, + "%p": function(date) { + if (date.tm_hour >= 0 && date.tm_hour < 12) { + return "AM"; + } + return "PM"; + }, + "%S": function(date) { + return leadingNulls(date.tm_sec, 2); + }, + "%t": function() { + return "\t"; + }, + "%u": function(date) { + return date.tm_wday || 7; + }, + "%U": function(date) { + var days = date.tm_yday + 7 - date.tm_wday; + return leadingNulls(Math.floor(days / 7), 2); + }, + "%V": function(date) { + var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7) / 7); + if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) { + val++; + } + if (!val) { + val = 52; + var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7; + if (dec31 == 4 || dec31 == 5 && __isLeapYear(date.tm_year % 400 - 1)) { + val++; + } + } else if (val == 53) { + var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7; + if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) val = 1; + } + return leadingNulls(val, 2); + }, + "%w": function(date) { + return date.tm_wday; + }, + "%W": function(date) { + var days = date.tm_yday + 7 - (date.tm_wday + 6) % 7; + return leadingNulls(Math.floor(days / 7), 2); + }, + "%y": function(date) { + return (date.tm_year + 1900).toString().substring(2); + }, + "%Y": function(date) { + return date.tm_year + 1900; + }, + "%z": function(date) { + var off = date.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+" : "-") + String("0000" + off).slice(-4); + }, + "%Z": function(date) { + return date.tm_zone; + }, + "%%": function() { + return "%"; + } + }; + pattern = pattern.replace(/%%/g, "\0\0"); + for (var rule in EXPANSION_RULES_2) { + if (pattern.includes(rule)) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)); + } + } + pattern = pattern.replace(/\0\0/g, "%"); + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0; + } + writeArrayToMemory(bytes, s); + return bytes.length - 1; +} + +function _strftime_l(s, maxsize, format, tm, loc) { + return _strftime(s, maxsize, format, tm); +} + +function handleException(e) { + if (e instanceof ExitStatus || e == "unwind") { + return EXITSTATUS; + } + quit_(1, e); +} + +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +function runAndAbortIfError(func) { + try { + return func(); + } catch (e) { + abort(e); + } +} + +function maybeExit() { + if (!keepRuntimeAlive()) { + try { + _exit(EXITSTATUS); + } catch (e) { + handleException(e); + } + } +} + +function callUserCallback(func) { + if (runtimeExited || ABORT) { + return; + } + try { + func(); + maybeExit(); + } catch (e) { + handleException(e); + } +} + +function runtimeKeepalivePush() { + runtimeKeepaliveCounter += 1; +} + +function runtimeKeepalivePop() { + runtimeKeepaliveCounter -= 1; +} + +var Asyncify = { + instrumentWasmImports: function(imports) { + var ASYNCIFY_IMPORTS = [ "invoke_*", "emscripten_sleep", "emscripten_wget", "emscripten_wget_data", "emscripten_idb_load", "emscripten_idb_store", "emscripten_idb_delete", "emscripten_idb_exists", "emscripten_idb_load_blob", "emscripten_idb_store_blob", "SDL_Delay", "emscripten_scan_registers", "emscripten_lazy_load_code", "emscripten_fiber_swap", "__load_secondary_module", "fd_sync", "__wasi_fd_sync", "_emval_await", "_dlopen_js", "__asyncjs__*" ]; + for (var x in imports) { + (function(x) { + var original = imports[x]; + var sig = original.sig; + if (typeof original == "function") { + var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith("__asyncjs__"); + } + })(x); + } + }, + instrumentWasmExports: function(exports) { + var ret = {}; + for (var x in exports) { + (function(x) { + var original = exports[x]; + if (typeof original == "function") { + ret[x] = function() { + Asyncify.exportCallStack.push(x); + try { + return original.apply(null, arguments); + } finally { + if (!ABORT) { + var y = Asyncify.exportCallStack.pop(); + assert(y === x); + Asyncify.maybeStopUnwind(); + } + } + }; + } else { + ret[x] = original; + } + })(x); + } + return ret; + }, + State: { + Normal: 0, + Unwinding: 1, + Rewinding: 2, + Disabled: 3 + }, + state: 0, + StackSize: 8192, + currData: null, + handleSleepReturnValue: 0, + exportCallStack: [], + callStackNameToId: {}, + callStackIdToName: {}, + callStackId: 0, + asyncPromiseHandlers: null, + sleepCallbacks: [], + getCallStackId: function(funcName) { + var id = Asyncify.callStackNameToId[funcName]; + if (id === undefined) { + id = Asyncify.callStackId++; + Asyncify.callStackNameToId[funcName] = id; + Asyncify.callStackIdToName[id] = funcName; + } + return id; + }, + maybeStopUnwind: function() { + if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) { + Asyncify.state = Asyncify.State.Normal; + runtimeKeepalivePush(); + runAndAbortIfError(_asyncify_stop_unwind); + if (typeof Fibers != "undefined") { + Fibers.trampoline(); + } + } + }, + whenDone: function() { + return new Promise((resolve, reject) => { + Asyncify.asyncPromiseHandlers = { + resolve: resolve, + reject: reject + }; + }); + }, + allocateData: function() { + var ptr = _malloc(12 + Asyncify.StackSize); + Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize); + Asyncify.setDataRewindFunc(ptr); + return ptr; + }, + setDataHeader: function(ptr, stack, stackSize) { + HEAP32[ptr >> 2] = stack; + HEAP32[ptr + 4 >> 2] = stack + stackSize; + }, + setDataRewindFunc: function(ptr) { + var bottomOfCallStack = Asyncify.exportCallStack[0]; + var rewindId = Asyncify.getCallStackId(bottomOfCallStack); + HEAP32[ptr + 8 >> 2] = rewindId; + }, + getDataRewindFunc: function(ptr) { + var id = HEAP32[ptr + 8 >> 2]; + var name = Asyncify.callStackIdToName[id]; + var func = Module["asm"][name]; + return func; + }, + doRewind: function(ptr) { + var start = Asyncify.getDataRewindFunc(ptr); + runtimeKeepalivePop(); + return start(); + }, + handleSleep: function(startAsync) { + if (ABORT) return; + if (Asyncify.state === Asyncify.State.Normal) { + var reachedCallback = false; + var reachedAfterCallback = false; + startAsync((handleSleepReturnValue = 0) => { + if (ABORT) return; + Asyncify.handleSleepReturnValue = handleSleepReturnValue; + reachedCallback = true; + if (!reachedAfterCallback) { + return; + } + Asyncify.state = Asyncify.State.Rewinding; + runAndAbortIfError(() => _asyncify_start_rewind(Asyncify.currData)); + if (typeof Browser != "undefined" && Browser.mainLoop.func) { + Browser.mainLoop.resume(); + } + var asyncWasmReturnValue, isError = false; + try { + asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData); + } catch (err) { + asyncWasmReturnValue = err; + isError = true; + } + var handled = false; + if (!Asyncify.currData) { + var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers; + if (asyncPromiseHandlers) { + Asyncify.asyncPromiseHandlers = null; + (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue); + handled = true; + } + } + if (isError && !handled) { + throw asyncWasmReturnValue; + } + }); + reachedAfterCallback = true; + if (!reachedCallback) { + Asyncify.state = Asyncify.State.Unwinding; + Asyncify.currData = Asyncify.allocateData(); + if (typeof Browser != "undefined" && Browser.mainLoop.func) { + Browser.mainLoop.pause(); + } + runAndAbortIfError(() => _asyncify_start_unwind(Asyncify.currData)); + } + } else if (Asyncify.state === Asyncify.State.Rewinding) { + Asyncify.state = Asyncify.State.Normal; + runAndAbortIfError(_asyncify_stop_rewind); + _free(Asyncify.currData); + Asyncify.currData = null; + Asyncify.sleepCallbacks.forEach(func => callUserCallback(func)); + } else { + abort("invalid state: " + Asyncify.state); + } + return Asyncify.handleSleepReturnValue; + }, + handleAsync: function(startAsync) { + return Asyncify.handleSleep(wakeUp => { + startAsync().then(wakeUp); + }); + } +}; + +function AsciiToString(ptr) { + var str = ""; + while (1) { + var ch = HEAPU8[ptr++ >> 0]; + if (!ch) return str; + str += String.fromCharCode(ch); + } +} + +var 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; +}; + +var readMode = 292 | 73; + +var writeMode = 146; + +Object.defineProperties(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); + } + } +}); + +FS.FSNode = FSNode; + +FS.staticInit(); + +var wasmImports = { + "S": __asyncjs__emglken_fill_stdin_buffer, + "k": ___cxa_begin_catch, + "n": ___cxa_end_catch, + "a": ___cxa_find_matching_catch_2, + "d": ___cxa_find_matching_catch_3, + "m": ___cxa_find_matching_catch_4, + "s": ___cxa_find_matching_catch_5, + "x": ___cxa_find_matching_catch_6, + "ca": ___cxa_find_matching_catch_7, + "K": ___cxa_rethrow, + "o": ___cxa_throw, + "ba": ___cxa_uncaught_exceptions, + "g": ___resumeException, + "aa": ___syscall_faccessat, + "J": ___syscall_fcntl64, + "$": ___syscall_getcwd, + "_": ___syscall_ioctl, + "Z": ___syscall_openat, + "V": __emscripten_get_now_is_monotonic, + "U": __localtime_js, + "T": __tzset_js, + "D": _abort, + "B": _emscripten_date_now, + "R": _emscripten_memcpy_big, + "Q": _emscripten_resize_heap, + "Y": _environ_get, + "X": _environ_sizes_get, + "C": _exit, + "I": _fd_close, + "W": _fd_read, + "P": _fd_seek, + "H": _fd_write, + "G": invoke_diii, + "F": invoke_fiii, + "q": invoke_i, + "b": invoke_ii, + "c": invoke_iii, + "e": invoke_iiii, + "p": invoke_iiiii, + "u": invoke_iiiiii, + "w": invoke_iiiiiii, + "E": invoke_iiiiiiii, + "A": invoke_iiiiiiiiiiii, + "O": invoke_ji, + "N": invoke_jiiii, + "h": invoke_v, + "i": invoke_vi, + "f": invoke_vii, + "j": invoke_viii, + "r": invoke_viiii, + "t": invoke_viiiii, + "v": invoke_viiiiiii, + "y": invoke_viiiiiiiiii, + "z": invoke_viiiiiiiiiiiiiii, + "l": _llvm_eh_typeid_for, + "M": _strftime, + "L": _strftime_l +}; + +var asm = createWasm(); + +var ___wasm_call_ctors = function() { + return (___wasm_call_ctors = Module["asm"]["ea"]).apply(null, arguments); +}; + +var ___cxa_free_exception = function() { + return (___cxa_free_exception = Module["asm"]["fa"]).apply(null, arguments); +}; + +var _fflush = Module["_fflush"] = function() { + return (_fflush = Module["_fflush"] = Module["asm"]["ga"]).apply(null, arguments); +}; + +var ___errno_location = function() { + return (___errno_location = Module["asm"]["ha"]).apply(null, arguments); +}; + +var _main = Module["_main"] = function() { + return (_main = Module["_main"] = Module["asm"]["ia"]).apply(null, arguments); +}; + +var _malloc = function() { + return (_malloc = Module["asm"]["ja"]).apply(null, arguments); +}; + +var _free = function() { + return (_free = Module["asm"]["ka"]).apply(null, arguments); +}; + +var _gidispatch_get_game_id = Module["_gidispatch_get_game_id"] = function() { + return (_gidispatch_get_game_id = Module["_gidispatch_get_game_id"] = Module["asm"]["la"]).apply(null, arguments); +}; + +var ___funcs_on_exit = function() { + return (___funcs_on_exit = Module["asm"]["ma"]).apply(null, arguments); +}; + +var _setThrew = function() { + return (_setThrew = Module["asm"]["oa"]).apply(null, arguments); +}; + +var setTempRet0 = function() { + return (setTempRet0 = Module["asm"]["pa"]).apply(null, arguments); +}; + +var _emscripten_stack_set_limits = function() { + return (_emscripten_stack_set_limits = Module["asm"]["emscripten_stack_set_limits"]).apply(null, arguments); +}; + +var _emscripten_stack_get_base = function() { + return (_emscripten_stack_get_base = Module["asm"]["emscripten_stack_get_base"]).apply(null, arguments); +}; + +var _emscripten_stack_get_end = function() { + return (_emscripten_stack_get_end = Module["asm"]["emscripten_stack_get_end"]).apply(null, arguments); +}; + +var stackSave = function() { + return (stackSave = Module["asm"]["qa"]).apply(null, arguments); +}; + +var stackRestore = function() { + return (stackRestore = Module["asm"]["ra"]).apply(null, arguments); +}; + +var stackAlloc = function() { + return (stackAlloc = Module["asm"]["sa"]).apply(null, arguments); +}; + +var ___cxa_can_catch = function() { + return (___cxa_can_catch = Module["asm"]["ta"]).apply(null, arguments); +}; + +var ___cxa_is_pointer_type = function() { + return (___cxa_is_pointer_type = Module["asm"]["ua"]).apply(null, arguments); +}; + +var dynCall_ii = Module["dynCall_ii"] = function() { + return (dynCall_ii = Module["dynCall_ii"] = Module["asm"]["va"]).apply(null, arguments); +}; + +var dynCall_iiii = Module["dynCall_iiii"] = function() { + return (dynCall_iiii = Module["dynCall_iiii"] = Module["asm"]["wa"]).apply(null, arguments); +}; + +var dynCall_viii = Module["dynCall_viii"] = function() { + return (dynCall_viii = Module["dynCall_viii"] = Module["asm"]["xa"]).apply(null, arguments); +}; + +var dynCall_v = Module["dynCall_v"] = function() { + return (dynCall_v = Module["dynCall_v"] = Module["asm"]["ya"]).apply(null, arguments); +}; + +var dynCall_vi = Module["dynCall_vi"] = function() { + return (dynCall_vi = Module["dynCall_vi"] = Module["asm"]["za"]).apply(null, arguments); +}; + +var dynCall_iii = Module["dynCall_iii"] = function() { + return (dynCall_iii = Module["dynCall_iii"] = Module["asm"]["Aa"]).apply(null, arguments); +}; + +var dynCall_vii = Module["dynCall_vii"] = function() { + return (dynCall_vii = Module["dynCall_vii"] = Module["asm"]["Ba"]).apply(null, arguments); +}; + +var dynCall_iiiiii = Module["dynCall_iiiiii"] = function() { + return (dynCall_iiiiii = Module["dynCall_iiiiii"] = Module["asm"]["Ca"]).apply(null, arguments); +}; + +var dynCall_iiiii = Module["dynCall_iiiii"] = function() { + return (dynCall_iiiii = Module["dynCall_iiiii"] = Module["asm"]["Da"]).apply(null, arguments); +}; + +var dynCall_i = Module["dynCall_i"] = function() { + return (dynCall_i = Module["dynCall_i"] = Module["asm"]["Ea"]).apply(null, arguments); +}; + +var dynCall_iiiiiii = Module["dynCall_iiiiiii"] = function() { + return (dynCall_iiiiiii = Module["dynCall_iiiiiii"] = Module["asm"]["Fa"]).apply(null, arguments); +}; + +var dynCall_viiii = Module["dynCall_viiii"] = function() { + return (dynCall_viiii = Module["dynCall_viiii"] = Module["asm"]["Ga"]).apply(null, arguments); +}; + +var dynCall_ji = Module["dynCall_ji"] = function() { + return (dynCall_ji = Module["dynCall_ji"] = Module["asm"]["Ha"]).apply(null, arguments); +}; + +var dynCall_viiiii = Module["dynCall_viiiii"] = function() { + return (dynCall_viiiii = Module["dynCall_viiiii"] = Module["asm"]["Ia"]).apply(null, arguments); +}; + +var dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = function() { + return (dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = Module["asm"]["Ja"]).apply(null, arguments); +}; + +var dynCall_jiiii = Module["dynCall_jiiii"] = function() { + return (dynCall_jiiii = Module["dynCall_jiiii"] = Module["asm"]["Ka"]).apply(null, arguments); +}; + +var dynCall_fiii = Module["dynCall_fiii"] = function() { + return (dynCall_fiii = Module["dynCall_fiii"] = Module["asm"]["La"]).apply(null, arguments); +}; + +var dynCall_diii = Module["dynCall_diii"] = function() { + return (dynCall_diii = Module["dynCall_diii"] = Module["asm"]["Ma"]).apply(null, arguments); +}; + +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = function() { + return (dynCall_viiiiiii = Module["dynCall_viiiiiii"] = Module["asm"]["Na"]).apply(null, arguments); +}; + +var dynCall_iiiiiiiiiiii = Module["dynCall_iiiiiiiiiiii"] = function() { + return (dynCall_iiiiiiiiiiii = Module["dynCall_iiiiiiiiiiii"] = Module["asm"]["Oa"]).apply(null, arguments); +}; + +var dynCall_viiiiiiiiii = Module["dynCall_viiiiiiiiii"] = function() { + return (dynCall_viiiiiiiiii = Module["dynCall_viiiiiiiiii"] = Module["asm"]["Pa"]).apply(null, arguments); +}; + +var dynCall_viiiiiiiiiiiiiii = Module["dynCall_viiiiiiiiiiiiiii"] = function() { + return (dynCall_viiiiiiiiiiiiiii = Module["dynCall_viiiiiiiiiiiiiii"] = Module["asm"]["Qa"]).apply(null, arguments); +}; + +var _asyncify_start_unwind = function() { + return (_asyncify_start_unwind = Module["asm"]["Ra"]).apply(null, arguments); +}; + +var _asyncify_stop_unwind = function() { + return (_asyncify_stop_unwind = Module["asm"]["Sa"]).apply(null, arguments); +}; + +var _asyncify_start_rewind = function() { + return (_asyncify_start_rewind = Module["asm"]["Ta"]).apply(null, arguments); +}; + +var _asyncify_stop_rewind = function() { + return (_asyncify_stop_rewind = Module["asm"]["Ua"]).apply(null, arguments); +}; + +var ___start_em_js = Module["___start_em_js"] = 52440; + +var ___stop_em_js = Module["___stop_em_js"] = 55125; + +function invoke_ii(index, a1) { + var sp = stackSave(); + try { + return dynCall_ii(index, a1); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiii(index, a1, a2, a3) { + var sp = stackSave(); + try { + return dynCall_iiii(index, a1, a2, a3); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viii(index, a1, a2, a3) { + var sp = stackSave(); + try { + dynCall_viii(index, a1, a2, a3); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_v(index) { + var sp = stackSave(); + try { + dynCall_v(index); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_vi(index, a1) { + var sp = stackSave(); + try { + dynCall_vi(index, a1); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iii(index, a1, a2) { + var sp = stackSave(); + try { + return dynCall_iii(index, a1, a2); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_vii(index, a1, a2) { + var sp = stackSave(); + try { + dynCall_vii(index, a1, a2); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiiii(index, a1, a2, a3, a4, a5) { + var sp = stackSave(); + try { + return dynCall_iiiiii(index, a1, a2, a3, a4, a5); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiii(index, a1, a2, a3, a4) { + var sp = stackSave(); + try { + return dynCall_iiiii(index, a1, a2, a3, a4); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) { + var sp = stackSave(); + try { + return dynCall_iiiiiii(index, a1, a2, a3, a4, a5, a6); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viiii(index, a1, a2, a3, a4) { + var sp = stackSave(); + try { + dynCall_viiii(index, a1, a2, a3, a4); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viiiii(index, a1, a2, a3, a4, a5) { + var sp = stackSave(); + try { + dynCall_viiiii(index, a1, a2, a3, a4, a5); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + var sp = stackSave(); + try { + return dynCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_fiii(index, a1, a2, a3) { + var sp = stackSave(); + try { + return dynCall_fiii(index, a1, a2, a3); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_diii(index, a1, a2, a3) { + var sp = stackSave(); + try { + return dynCall_diii(index, a1, a2, a3); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_i(index) { + var sp = stackSave(); + try { + return dynCall_i(index); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + var sp = stackSave(); + try { + dynCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { + var sp = stackSave(); + try { + return dynCall_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + var sp = stackSave(); + try { + dynCall_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) { + var sp = stackSave(); + try { + dynCall_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_ji(index, a1) { + var sp = stackSave(); + try { + return dynCall_ji(index, a1); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_jiiii(index, a1, a2, a3, a4) { + var sp = stackSave(); + try { + return dynCall_jiiii(index, a1, a2, a3, a4); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +Module["AsciiToString"] = AsciiToString; + +Module["FS"] = FS; + +var calledRun; + +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; +}; + +function callMain(args = []) { + var entryFunction = _main; + args.unshift(thisProgram); + var argc = args.length; + var argv = stackAlloc((argc + 1) * 4); + var argv_ptr = argv >> 2; + args.forEach(arg => { + HEAP32[argv_ptr++] = allocateUTF8OnStack(arg); + }); + HEAP32[argv_ptr] = 0; + try { + var ret = entryFunction(argc, argv); + exitJS(ret, true); + return ret; + } catch (e) { + return handleException(e); + } +} + +function run(args = arguments_) { + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) return; + initRuntime(); + preMain(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + if (shouldRunNow) callMain(args); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } +} + +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } +} + +var shouldRunNow = true; + +if (Module["noInitialRun"]) shouldRunNow = false; + +run(); + + + return Module.ready +} + +); +})(); +export default Module; \ No newline at end of file diff --git a/docs/emglken/bocfel-core.wasm b/docs/emglken/bocfel-core.wasm new file mode 100755 index 0000000000000000000000000000000000000000..6a47a991577cf47d39fe1f71494764bb75120f36 GIT binary patch literal 1134778 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

|^GaeJs-lOt7HnFqgA*Ft=3N*D#7?7u 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%0A=UA$7S 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 z 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¥Y(5l#cDm2{1=tD$B+4rz3a}Mj-;35OxI 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 literal 0 HcmV?d00001 diff --git a/docs/emglken/git-core.js b/docs/emglken/git-core.js new file mode 100644 index 0000000..b4a1750 --- /dev/null +++ b/docs/emglken/git-core.js @@ -0,0 +1,3804 @@ + +var Module = (() => { + var _scriptDir = import.meta.url; + + return ( +function(Module = {}) { + +var Module = typeof Module != "undefined" ? Module : {}; + +var readyPromiseResolve, readyPromiseReject; + +Module["ready"] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); + +var moduleOverrides = Object.assign({}, Module); + +var arguments_ = []; + +var thisProgram = "./this.program"; + +var quit_ = (status, toThrow) => { + throw toThrow; +}; + +var ENVIRONMENT_IS_WEB = true; + +var ENVIRONMENT_IS_WORKER = false; + +var scriptDirectory = ""; + +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; +} + +var read_, readAsync, readBinary, setWindowTitle; + +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href; + } else if (typeof document != "undefined" && document.currentScript) { + scriptDirectory = document.currentScript.src; + } + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1); + } else { + scriptDirectory = ""; + } + { + read_ = url => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText; + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = url => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response); + }; + } + readAsync = (url, onload, onerror) => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = () => { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + }; + } + setWindowTitle = title => document.title = title; +} else {} + +var out = Module["print"] || console.log.bind(console); + +var err = Module["printErr"] || console.warn.bind(console); + +Object.assign(Module, moduleOverrides); + +moduleOverrides = null; + +if (Module["arguments"]) arguments_ = Module["arguments"]; + +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; + +if (Module["quit"]) quit_ = Module["quit"]; + +var wasmBinary; + +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; + +var noExitRuntime = Module["noExitRuntime"] || false; + +if (typeof WebAssembly != "object") { + abort("no native wasm support detected"); +} + +var wasmMemory; + +var ABORT = false; + +var EXITSTATUS; + +function assert(condition, text) { + if (!condition) { + abort(text); + } +} + +var UTF8Decoder = new TextDecoder("utf8"); + +function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr))); +} + +function UTF8ToString(ptr, maxBytesToRead) { + if (!ptr) return ""; + var maxPtr = ptr + maxBytesToRead; + for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end; + return UTF8Decoder.decode(HEAPU8.subarray(ptr, end)); +} + +function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } + if (u <= 127) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 192 | u >> 6; + heap[outIdx++] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 224 | u >> 12; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } else { + if (outIdx + 3 >= endIdx) break; + heap[outIdx++] = 240 | u >> 18; + heap[outIdx++] = 128 | u >> 12 & 63; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } + } + heap[outIdx] = 0; + return outIdx - startIdx; +} + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); +} + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var c = str.charCodeAt(i); + if (c <= 127) { + len++; + } else if (c <= 2047) { + len += 2; + } else if (c >= 55296 && c <= 57343) { + len += 4; + ++i; + } else { + len += 3; + } + } + return len; +} + +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateMemoryViews() { + var b = wasmMemory.buffer; + Module["HEAP8"] = HEAP8 = new Int8Array(b); + Module["HEAP16"] = HEAP16 = new Int16Array(b); + Module["HEAP32"] = HEAP32 = new Int32Array(b); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(b); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(b); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(b); + Module["HEAPF32"] = HEAPF32 = new Float32Array(b); + Module["HEAPF64"] = HEAPF64 = new Float64Array(b); +} + +var wasmTable; + +var __ATPRERUN__ = []; + +var __ATINIT__ = []; + +var __ATMAIN__ = []; + +var __ATEXIT__ = []; + +var __ATPOSTRUN__ = []; + +var runtimeInitialized = false; + +var runtimeExited = false; + +var runtimeKeepaliveCounter = 0; + +function keepRuntimeAlive() { + return noExitRuntime || runtimeKeepaliveCounter > 0; +} + +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + FS.ignorePermissions = false; + TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + callRuntimeCallbacks(__ATMAIN__); +} + +function exitRuntime() { + ___funcs_on_exit(); + callRuntimeCallbacks(__ATEXIT__); + FS.quit(); + TTY.shutdown(); + 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 addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +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(); + } + } +} + +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what = "Aborted(" + what + ")"; + err(what); + ABORT = true; + EXITSTATUS = 1; + what += ". Build with -sASSERTIONS for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; +} + +var dataURIPrefix = "data:application/octet-stream;base64,"; + +function isDataURI(filename) { + return filename.startsWith(dataURIPrefix); +} + +var wasmBinaryFile; + +if (Module["locateFile"]) { + wasmBinaryFile = "git-core.wasm"; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } +} else { + wasmBinaryFile = new URL("git-core.wasm", import.meta.url).href; +} + +function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; + } catch (err) { + abort(err); + } +} + +function getBinaryPromise(binaryFile) { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch == "function") { + return fetch(binaryFile, { + credentials: "same-origin" + }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + binaryFile + "'"; + } + return response["arrayBuffer"](); + }).catch(function() { + return getBinary(binaryFile); + }); + } + } + return Promise.resolve().then(function() { + return getBinary(binaryFile); + }); +} + +function instantiateArrayBuffer(binaryFile, imports, receiver) { + return getBinaryPromise(binaryFile).then(function(binary) { + return WebAssembly.instantiate(binary, imports); + }).then(function(instance) { + return instance; + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason); + }); +} + +function instantiateAsync(binary, binaryFile, imports, callback) { + if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) && typeof fetch == "function") { + return fetch(binaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, imports); + return result.then(callback, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + return instantiateArrayBuffer(binaryFile, imports, callback); + }); + }); + } else { + return instantiateArrayBuffer(binaryFile, imports, callback); + } +} + +function createWasm() { + var info = { + "a": wasmImports + }; + function receiveInstance(instance, module) { + var exports = instance.exports; + exports = Asyncify.instrumentWasmExports(exports); + Module["asm"] = exports; + wasmMemory = Module["asm"]["E"]; + updateMemoryViews(); + wasmTable = Module["asm"]["N"]; + addOnInit(Module["asm"]["F"]); + removeRunDependency("wasm-instantiate"); + return exports; + } + addRunDependency("wasm-instantiate"); + function receiveInstantiationResult(result) { + receiveInstance(result["instance"]); + } + if (Module["instantiateWasm"]) { + try { + return Module["instantiateWasm"](info, receiveInstance); + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + readyPromiseReject(e); + } + } + instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject); + return {}; +} + +var tempDouble; + +var tempI64; + +function emglken_common_buffer_transformer(buf, len, numchars, func, dont_reduce) { + const index = buf >> 2; + const utf32 = HEAPU32.subarray(index, index + numchars); + const data = dont_reduce ? utf32 : utf32.reduce((prev, ch) => prev + String.fromCodePoint(ch), ""); + const new_str = func(data); + const newbuf = Uint32Array.from(new_str, ch => ch.codePointAt(0)); + const newlen = newbuf.length; + HEAPU32.set(newbuf.subarray(0, Math.min(len, newlen)), index); + return newlen; +} + +function glk_buffer_to_lower_case_uni(buf, len, numchars) { + return emglken_common_buffer_transformer(buf, len, numchars, str => str.toLowerCase()); +} + +function glk_buffer_to_upper_case_uni(buf, len, numchars) { + return emglken_common_buffer_transformer(buf, len, numchars, str => str.toUpperCase()); +} + +function glk_buffer_to_title_case_uni(buf, len, numchars, lowerrest) { + return emglken_common_buffer_transformer(buf, len, numchars, utf32 => utf32.reduce((prev, ch, index) => { + const special_cases = { + "ß": "Ss", + "DŽ": "Dž", + "Dž": "Dž", + "dž": "Dž", + "LJ": "Lj", + "Lj": "Lj", + "lj": "Lj", + "NJ": "Nj", + "Nj": "Nj", + "nj": "Nj", + "DZ": "Dz", + "Dz": "Dz", + "dz": "Dz", + "և": "Եւ", + "ᾲ": "Ὰͅ", + "ᾳ": "ᾼ", + "ᾴ": "Άͅ", + "ᾷ": "ᾼ͂", + "ᾼ": "ᾼ", + "ῂ": "Ὴͅ", + "ῃ": "ῌ", + "ῄ": "Ήͅ", + "ῇ": "ῌ͂", + "ῌ": "ῌ", + "ῲ": "Ὼͅ", + "ῳ": "ῼ", + "ῴ": "Ώͅ", + "ῷ": "ῼ͂", + "ῼ": "ῼ", + "ff": "Ff", + "fi": "Fi", + "fl": "Fl", + "ffi": "Ffi", + "ffl": "Ffl", + "ſt": "St", + "st": "St", + "ﬓ": "Մն", + "ﬔ": "Մե", + "ﬕ": "Մի", + "ﬖ": "Վն", + "ﬗ": "Մխ" + }; + const slightly_less_special_cases = [ "ᾈᾉᾊᾋᾌᾍᾎᾏ", "ᾘᾙᾚᾛᾜᾝᾞᾟ", "ᾨᾩᾪᾫᾬᾭᾮᾯ" ]; + let thischar = String.fromCodePoint(ch); + if (index === 0) { + if (special_cases[thischar]) { + thischar = special_cases[thischar]; + } else if (ch >= 8064 && ch < 8112) { + thischar = slightly_less_special_cases[(ch - 8064) / 16 | 0][ch % 8]; + } else { + thischar = thischar.toUpperCase(); + } + } else if (lowerrest) { + thischar = thischar.toLowerCase(); + } + return prev + thischar; + }, ""), 1); +} + +function glk_buffer_canon_decompose_uni(buf, len, numchars) { + return emglken_common_buffer_transformer(buf, len, numchars, str => str.normalize("NFD")); +} + +function glk_buffer_canon_normalize_uni(buf, len, numchars) { + return emglken_common_buffer_transformer(buf, len, numchars, str => str.normalize("NFC")); +} + +function __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) { + return Asyncify.handleAsync(async () => { + if (!Module.emglken_stdin_buffers.length) { + await new Promise(resolve => { + Module.emglken_stdin_ready = resolve; + }); + } + const input = Module.emglken_stdin_buffers.shift(); + const len = Math.min(input.length, maxlen); + if (len == input.length) { + HEAPU8.set(input, buffer); + } else { + HEAPU8.set(input.subarray(0, len), buffer); + Module.emglken_stdin_buffers.unshift(input.subarray(len)); + } + return len; + }); +} + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +} + +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + callbacks.shift()(Module); + } +} + +var PATH = { + isAbs: path => path.charAt(0) === "/", + splitPath: filename => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, + normalizeArray: (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: path => { + var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(p => !!p), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, + dirname: 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: path => { + if (path === "/") return "/"; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1); + }, + join: function() { + var paths = Array.prototype.slice.call(arguments); + return PATH.normalize(paths.join("/")); + }, + join2: (l, r) => { + return PATH.normalize(l + "/" + r); + } +}; + +function getRandomDevice() { + if (typeof crypto == "object" && typeof crypto["getRandomValues"] == "function") { + var randomBuffer = new Uint8Array(1); + return () => { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0]; + }; + } else return () => abort("randomDevice"); +} + +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.isAbs(path); + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(p => !!p), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + }, + relative: (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("/"); + } +}; + +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 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(43); + } + stream.tty = tty; + stream.seekable = false; + }, + close: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, + fsync: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + 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(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + 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(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + 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); + } + }, + fsync: 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); + } + }, + fsync: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + } +}; + +function mmapAlloc(size) { + abort(); +} + +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(63); + } + 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; + parent.timestamp = node.timestamp; + } + return node; + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array(0); + 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); + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); + } + 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[44]; + }, + 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(55); + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now(); + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + }, + unlink: function(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + 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(28); + } + 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) { + if (buffer.buffer === HEAP8.buffer) { + 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 = buffer.slice(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(28); + } + 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, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === HEAP8.buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { + ptr: ptr, + allocated: allocated + }; + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0; + } + } +}; + +function asyncLoad(url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency("al " + url) : ""; + readAsync(url, arrayBuffer => { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, event => { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); +} + +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + lookupPath: (path, opts = {}) => { + path = PATH_FS.resolve(path); + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + opts = Object.assign(defaults, opts); + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32); + } + var parts = path.split("/").filter(p => !!p); + 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 + 1 + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32); + } + } + } + } + return { + path: current_path, + node: current + }; + }, + getPath: 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: (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: node => { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, + hashRemoveNode: 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: (parent, name) => { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, 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: (parent, name, mode, rdev) => { + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; + }, + destroyNode: node => { + FS.hashRemoveNode(node); + }, + isRoot: node => { + return node === node.parent; + }, + isMountpoint: node => { + return !!node.mounted; + }, + isFile: mode => { + return (mode & 61440) === 32768; + }, + isDir: mode => { + return (mode & 61440) === 16384; + }, + isLink: mode => { + return (mode & 61440) === 40960; + }, + isChrdev: mode => { + return (mode & 61440) === 8192; + }, + isBlkdev: mode => { + return (mode & 61440) === 24576; + }, + isFIFO: mode => { + return (mode & 61440) === 4096; + }, + isSocket: mode => { + return (mode & 49152) === 49152; + }, + flagModes: { + "r": 0, + "r+": 2, + "w": 577, + "w+": 578, + "a": 1089, + "a+": 1090 + }, + modeStringToFlags: str => { + var flags = FS.flagModes[str]; + if (typeof flags == "undefined") { + throw new Error("Unknown file open mode: " + str); + } + return flags; + }, + flagsToPermissionString: flag => { + var perms = [ "r", "w", "rw" ][flag & 3]; + if (flag & 512) { + perms += "w"; + } + return perms; + }, + nodePermissions: (node, perms) => { + if (FS.ignorePermissions) { + return 0; + } + if (perms.includes("r") && !(node.mode & 292)) { + return 2; + } else if (perms.includes("w") && !(node.mode & 146)) { + return 2; + } else if (perms.includes("x") && !(node.mode & 73)) { + return 2; + } + return 0; + }, + mayLookup: dir => { + var errCode = FS.nodePermissions(dir, "x"); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + }, + mayCreate: (dir, name) => { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) {} + return FS.nodePermissions(dir, "wx"); + }, + mayDelete: (dir, name, isdir) => { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, "wx"); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + }, + mayOpen: (node, flags) => { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, + MAX_OPEN_FDS: 4096, + nextfd: (fd_start = 0, 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(33); + }, + getStream: fd => FS.streams[fd], + createStream: (stream, fd_start, fd_end) => { + if (!FS.FSStream) { + FS.FSStream = function() { + this.shared = {}; + }; + 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; + } + }, + flags: { + get: function() { + return this.shared.flags; + }, + set: function(val) { + this.shared.flags = val; + } + }, + position: { + get: function() { + return this.shared.position; + }, + set: function(val) { + this.shared.position = val; + } + } + }); + } + stream = Object.assign(new FS.FSStream(), stream); + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, + closeStream: fd => { + FS.streams[fd] = null; + }, + chrdev_stream_ops: { + open: 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: () => { + throw new FS.ErrnoError(70); + } + }, + major: dev => dev >> 8, + minor: dev => dev & 255, + makedev: (ma, mi) => ma << 8 | mi, + registerDevice: (dev, ops) => { + FS.devices[dev] = { + stream_ops: ops + }; + }, + getDevice: dev => FS.devices[dev], + getMounts: 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: (populate, callback) => { + if (typeof populate == "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + err("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(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + } + mounts.forEach(mount => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, + mount: (type, opts, mountpoint) => { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } 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(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + 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: mountpoint => { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(hash => { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + current = next; + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + }, + lookup: (parent, name) => { + return parent.node_ops.lookup(parent, name); + }, + mknod: (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(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, + create: (path, mode) => { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, + mkdir: (path, mode) => { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, + mkdirTree: (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 != 20) throw e; + } + } + }, + mkdev: (path, mode, dev) => { + if (typeof dev == "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink: (oldpath, newpath) => { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename: (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; + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node; + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + 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(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + 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 errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + 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); + } + }, + rmdir: path => { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + }, + readdir: path => { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, + unlink: path => { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + }, + readlink: path => { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + }, + stat: (path, dontFollow) => { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, + lstat: path => { + return FS.stat(path, true); + }, + chmod: (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(63); + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }); + }, + lchmod: (path, mode) => { + FS.chmod(path, mode, true); + }, + fchmod: (fd, mode) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + }, + chown: (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(63); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }); + }, + lchown: (path, uid, gid) => { + FS.chown(path, uid, gid, true); + }, + fchown: (fd, uid, gid) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + }, + truncate: (path, len) => { + if (len < 0) { + throw new FS.ErrnoError(28); + } + 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(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + }, + ftruncate: (fd, len) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, + utime: (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: (path, flags, mode) => { + if (path === "") { + throw new FS.ErrnoError(44); + } + 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(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512 && !created) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }); + 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; + } + } + return stream; + }, + close: stream => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + 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: stream => { + return stream.fd === null; + }, + llseek: (stream, offset, whence) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, + read: (stream, buffer, offset, length, position) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + }, + write: (stream, buffer, offset, length, position, canOwn) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && 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(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + }, + allocate: (stream, offset, length) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, + mmap: (stream, length, position, prot, flags) => { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + }, + msync: (stream, buffer, offset, length, mmapFlags) => { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + }, + munmap: stream => 0, + ioctl: (stream, cmd, arg) => { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile: (path, opts = {}) => { + opts.flags = opts.flags || 0; + 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: (path, data, opts = {}) => { + opts.flags = opts.flags || 577; + 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: () => FS.currentPath, + chdir: path => { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, + createDefaultDirectories: () => { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices: () => { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => 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 = getRandomDevice(); + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); + }, + createSpecialDirectories: () => { + FS.mkdir("/proc"); + var proc_self = FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: () => { + var node = FS.createNode(proc_self, "fd", 16384 | 511, 73); + node.node_ops = { + lookup: (parent, name) => { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: () => stream.path + } + }; + ret.parent = ret; + return ret; + } + }; + return node; + } + }, {}, "/proc/self/fd"); + }, + createStandardStreams: () => { + 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", 0); + var stdout = FS.open("/dev/stdout", 1); + var stderr = FS.open("/dev/stderr", 1); + }, + ensureErrnoError: () => { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.name = "ErrnoError"; + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + }; + this.setErrno(errno); + this.message = "FS error"; + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [ 44 ].forEach(code => { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ""; + }); + }, + staticInit: () => { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS + }; + }, + init: (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: () => { + FS.init.initialized = false; + _fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, + getMode: (canRead, canWrite) => { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + }, + findObject: (path, dontResolveLastLink) => { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + }, + analyzePath: (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; + }, + createPath: (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: (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: (parent, name, data, canRead, canWrite, canOwn) => { + var path = name; + if (parent) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + path = name ? PATH.join2(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, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + }, + createDevice: (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: stream => { + stream.seekable = false; + }, + close: stream => { + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: (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(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: (stream, buffer, offset, length, pos) => { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + }, + forceLoadFile: obj => { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return 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 (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + }, + createLazyFile: (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 = (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); + 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 || []); + } + return intArrayFromString(xhr.responseText || "", true); + }; + var lazyArray = this; + lazyArray.setDataGetter(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; + out("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(key => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + 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; + } + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position); + }; + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, HEAP8, ptr, length, position); + return { + ptr: ptr, + allocated: true + }; + }; + node.stream_ops = stream_ops; + return node; + }, + createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { + 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); + } + if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => { + if (onerror) onerror(); + removeRunDependency(dep); + })) { + return; + } + finish(byteArray); + } + addRunDependency(dep); + if (typeof url == "string") { + asyncLoad(url, byteArray => processData(byteArray), onerror); + } else { + processData(url); + } + }, + indexedDB: () => { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + }, + DB_NAME: () => { + return "EM_FS_" + window.location.pathname; + }, + DB_VERSION: 20, + DB_STORE_NAME: "FILE_DATA", + saveFilesToDB: (paths, onload = (() => {}), onerror = (() => {})) => { + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = () => { + out("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + 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(path => { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = () => { + ok++; + if (ok + fail == total) finish(); + }; + putRequest.onerror = () => { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }, + loadFilesFromDB: (paths, onload = (() => {}), onerror = (() => {})) => { + 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 = () => { + 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(path => { + var getRequest = files.get(path); + 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 = () => { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + } +}; + +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + calculateAt: function(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44); + } + return dir; + } + return PATH.join2(dir, 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 -54; + } + throw e; + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAPU32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + 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; + var atime = stat.atime.getTime(); + var mtime = stat.mtime.getTime(); + var ctime = stat.ctime.getTime(); + tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), + +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 + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1]; + HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3; + tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), + +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 + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1]; + HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3; + tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), + +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 + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1]; + HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3; + 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 + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1]; + return 0; + }, + doMsync: function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + return 0; + } + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + }, + varargs: undefined, + get: function() { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret; + }, + getStr: function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, + getStreamFromFD: function(fd) { + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream; + } +}; + +function ___syscall_faccessat(dirfd, path, amode, flags) { + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + if (amode & ~7) { + return -28; + } + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node) { + return -44; + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2; + } + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function setErrNo(value) { + HEAP32[___errno_location() >> 2] = value; + return value; +} + +function ___syscall_fcntl64(fd, cmd, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: + { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; + } + var newStream; + newStream = FS.createStream(stream, 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 5: + { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0; + } + + case 6: + case 7: + return 0; + + case 16: + case 8: + return -28; + + case 9: + setErrNo(28); + return -1; + + default: + { + return -28; + } + } + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_getcwd(buf, size) { + try { + if (size === 0) return -28; + var cwd = FS.cwd(); + var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1; + if (size < cwdLengthInBytes) return -68; + stringToUTF8(cwd, buf, size); + return cwdLengthInBytes; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: + { + if (!stream.tty) return -59; + return 0; + } + + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: + { + if (!stream.tty) return -59; + return 0; + } + + case 21519: + { + if (!stream.tty) return -59; + var argp = SYSCALLS.get(); + HEAP32[argp >> 2] = 0; + return 0; + } + + case 21520: + { + if (!stream.tty) return -59; + return -28; + } + + case 21531: + { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + + case 21523: + { + if (!stream.tty) return -59; + return 0; + } + + case 21524: + { + if (!stream.tty) return -59; + return 0; + } + + default: + return -28; + } + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_openat(dirfd, path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + var mode = varargs ? SYSCALLS.get() : 0; + return FS.open(path, flags, mode).fd; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_stat64(path, buf) { + try { + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.stat, path, buf); + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_unlinkat(dirfd, path, flags) { + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + if (flags === 0) { + FS.unlink(path); + } else if (flags === 512) { + FS.rmdir(path); + } else { + abort("Invalid flags passed to unlinkat"); + } + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +var nowIsMonotonic = true; + +function __emscripten_get_now_is_monotonic() { + return nowIsMonotonic; +} + +function __emscripten_throw_longjmp() { + throw Infinity; +} + +function readI53FromI64(ptr) { + return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296; +} + +function __gmtime_js(time, tmPtr) { + var date = new Date(readI53FromI64(time) * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); + HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); + HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; + 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; +} + +function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); +} + +var __MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ]; + +var __MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ]; + +function __yday_from_date(date) { + var isLeapYear = __isLeapYear(date.getFullYear()); + var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE; + var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; + return yday; +} + +function __localtime_js(time, tmPtr) { + var date = new Date(readI53FromI64(time) * 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 yday = __yday_from_date(date) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); + var start = new Date(date.getFullYear(), 0, 1); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[tmPtr + 32 >> 2] = dst; +} + +function __mktime_js(tmPtr) { + 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(date.getFullYear(), 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 = __yday_from_date(date) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + 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.getYear(); + return date.getTime() / 1e3 | 0; +} + +function __timegm_js(tmPtr) { + 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 allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +function __tzset_js(timezone, daylight, tzname) { + var currentYear = new Date().getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + var winterOffset = winter.getTimezoneOffset(); + var summerOffset = summer.getTimezoneOffset(); + var stdTimezoneOffset = Math.max(winterOffset, summerOffset); + HEAPU32[timezone >> 2] = stdTimezoneOffset * 60; + HEAP32[daylight >> 2] = Number(winterOffset != summerOffset); + 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 = allocateUTF8(winterName); + var summerNamePtr = allocateUTF8(summerName); + if (summerOffset < winterOffset) { + HEAPU32[tzname >> 2] = winterNamePtr; + HEAPU32[tzname + 4 >> 2] = summerNamePtr; + } else { + HEAPU32[tzname >> 2] = summerNamePtr; + HEAPU32[tzname + 4 >> 2] = winterNamePtr; + } +} + +function _emscripten_date_now() { + return Date.now(); +} + +var _emscripten_get_now; + +_emscripten_get_now = () => performance.now(); + +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); +} + +function getHeapMax() { + return 2147483648; +} + +function emscripten_realloc_buffer(size) { + var b = wasmMemory.buffer; + try { + wasmMemory.grow(size - b.byteLength + 65535 >>> 16); + updateMemoryViews(); + return 1; + } catch (e) {} +} + +function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + return false; + } + let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + .2 / cutDown); + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true; + } + } + return false; +} + +function _proc_exit(code) { + EXITSTATUS = code; + if (!keepRuntimeAlive()) { + if (Module["onExit"]) Module["onExit"](code); + ABORT = true; + } + quit_(code, new ExitStatus(code)); +} + +function exitJS(status, implicit) { + EXITSTATUS = status; + if (!keepRuntimeAlive()) { + exitRuntime(); + } + _proc_exit(status); +} + +var _exit = exitJS; + +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function doReadv(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[iov >> 2]; + var len = HEAPU32[iov + 4 >> 2]; + iov += 8; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; +} + +function _fd_read(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function convertI32PairToI53Checked(lo, hi) { + return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN; +} + +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var offset = convertI32PairToI53Checked(offset_low, offset_high); + if (isNaN(offset)) return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + 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[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function doWritev(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[iov >> 2]; + var len = HEAPU32[iov + 4 >> 2]; + iov += 8; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; +} + +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + HEAPU32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function handleException(e) { + if (e instanceof ExitStatus || e == "unwind") { + return EXITSTATUS; + } + quit_(1, e); +} + +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +function runAndAbortIfError(func) { + try { + return func(); + } catch (e) { + abort(e); + } +} + +function maybeExit() { + if (!keepRuntimeAlive()) { + try { + _exit(EXITSTATUS); + } catch (e) { + handleException(e); + } + } +} + +function callUserCallback(func) { + if (runtimeExited || ABORT) { + return; + } + try { + func(); + maybeExit(); + } catch (e) { + handleException(e); + } +} + +function runtimeKeepalivePush() { + runtimeKeepaliveCounter += 1; +} + +function runtimeKeepalivePop() { + runtimeKeepaliveCounter -= 1; +} + +var Asyncify = { + instrumentWasmImports: function(imports) { + var ASYNCIFY_IMPORTS = [ "emscripten_sleep", "emscripten_wget", "emscripten_wget_data", "emscripten_idb_load", "emscripten_idb_store", "emscripten_idb_delete", "emscripten_idb_exists", "emscripten_idb_load_blob", "emscripten_idb_store_blob", "SDL_Delay", "emscripten_scan_registers", "emscripten_lazy_load_code", "emscripten_fiber_swap", "__load_secondary_module", "fd_sync", "__wasi_fd_sync", "_emval_await", "_dlopen_js", "__asyncjs__*" ]; + for (var x in imports) { + (function(x) { + var original = imports[x]; + var sig = original.sig; + if (typeof original == "function") { + var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith("__asyncjs__"); + } + })(x); + } + }, + instrumentWasmExports: function(exports) { + var ret = {}; + for (var x in exports) { + (function(x) { + var original = exports[x]; + if (typeof original == "function") { + ret[x] = function() { + Asyncify.exportCallStack.push(x); + try { + return original.apply(null, arguments); + } finally { + if (!ABORT) { + var y = Asyncify.exportCallStack.pop(); + assert(y === x); + Asyncify.maybeStopUnwind(); + } + } + }; + } else { + ret[x] = original; + } + })(x); + } + return ret; + }, + State: { + Normal: 0, + Unwinding: 1, + Rewinding: 2, + Disabled: 3 + }, + state: 0, + StackSize: 8192, + currData: null, + handleSleepReturnValue: 0, + exportCallStack: [], + callStackNameToId: {}, + callStackIdToName: {}, + callStackId: 0, + asyncPromiseHandlers: null, + sleepCallbacks: [], + getCallStackId: function(funcName) { + var id = Asyncify.callStackNameToId[funcName]; + if (id === undefined) { + id = Asyncify.callStackId++; + Asyncify.callStackNameToId[funcName] = id; + Asyncify.callStackIdToName[id] = funcName; + } + return id; + }, + maybeStopUnwind: function() { + if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) { + Asyncify.state = Asyncify.State.Normal; + runtimeKeepalivePush(); + runAndAbortIfError(_asyncify_stop_unwind); + if (typeof Fibers != "undefined") { + Fibers.trampoline(); + } + } + }, + whenDone: function() { + return new Promise((resolve, reject) => { + Asyncify.asyncPromiseHandlers = { + resolve: resolve, + reject: reject + }; + }); + }, + allocateData: function() { + var ptr = _malloc(12 + Asyncify.StackSize); + Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize); + Asyncify.setDataRewindFunc(ptr); + return ptr; + }, + setDataHeader: function(ptr, stack, stackSize) { + HEAP32[ptr >> 2] = stack; + HEAP32[ptr + 4 >> 2] = stack + stackSize; + }, + setDataRewindFunc: function(ptr) { + var bottomOfCallStack = Asyncify.exportCallStack[0]; + var rewindId = Asyncify.getCallStackId(bottomOfCallStack); + HEAP32[ptr + 8 >> 2] = rewindId; + }, + getDataRewindFunc: function(ptr) { + var id = HEAP32[ptr + 8 >> 2]; + var name = Asyncify.callStackIdToName[id]; + var func = Module["asm"][name]; + return func; + }, + doRewind: function(ptr) { + var start = Asyncify.getDataRewindFunc(ptr); + runtimeKeepalivePop(); + return start(); + }, + handleSleep: function(startAsync) { + if (ABORT) return; + if (Asyncify.state === Asyncify.State.Normal) { + var reachedCallback = false; + var reachedAfterCallback = false; + startAsync((handleSleepReturnValue = 0) => { + if (ABORT) return; + Asyncify.handleSleepReturnValue = handleSleepReturnValue; + reachedCallback = true; + if (!reachedAfterCallback) { + return; + } + Asyncify.state = Asyncify.State.Rewinding; + runAndAbortIfError(() => _asyncify_start_rewind(Asyncify.currData)); + if (typeof Browser != "undefined" && Browser.mainLoop.func) { + Browser.mainLoop.resume(); + } + var asyncWasmReturnValue, isError = false; + try { + asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData); + } catch (err) { + asyncWasmReturnValue = err; + isError = true; + } + var handled = false; + if (!Asyncify.currData) { + var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers; + if (asyncPromiseHandlers) { + Asyncify.asyncPromiseHandlers = null; + (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue); + handled = true; + } + } + if (isError && !handled) { + throw asyncWasmReturnValue; + } + }); + reachedAfterCallback = true; + if (!reachedCallback) { + Asyncify.state = Asyncify.State.Unwinding; + Asyncify.currData = Asyncify.allocateData(); + if (typeof Browser != "undefined" && Browser.mainLoop.func) { + Browser.mainLoop.pause(); + } + runAndAbortIfError(() => _asyncify_start_unwind(Asyncify.currData)); + } + } else if (Asyncify.state === Asyncify.State.Rewinding) { + Asyncify.state = Asyncify.State.Normal; + runAndAbortIfError(_asyncify_stop_rewind); + _free(Asyncify.currData); + Asyncify.currData = null; + Asyncify.sleepCallbacks.forEach(func => callUserCallback(func)); + } else { + abort("invalid state: " + Asyncify.state); + } + return Asyncify.handleSleepReturnValue; + }, + handleAsync: function(startAsync) { + return Asyncify.handleSleep(wakeUp => { + startAsync().then(wakeUp); + }); + } +}; + +function AsciiToString(ptr) { + var str = ""; + while (1) { + var ch = HEAPU8[ptr++ >> 0]; + if (!ch) return str; + str += String.fromCharCode(ch); + } +} + +var 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; +}; + +var readMode = 292 | 73; + +var writeMode = 146; + +Object.defineProperties(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); + } + } +}); + +FS.FSNode = FSNode; + +FS.staticInit(); + +var wasmImports = { + "q": __asyncjs__emglken_fill_stdin_buffer, + "D": ___syscall_faccessat, + "l": ___syscall_fcntl64, + "C": ___syscall_getcwd, + "B": ___syscall_ioctl, + "k": ___syscall_openat, + "A": ___syscall_stat64, + "z": ___syscall_unlinkat, + "x": __emscripten_get_now_is_monotonic, + "w": __emscripten_throw_longjmp, + "v": __gmtime_js, + "u": __localtime_js, + "t": __mktime_js, + "s": __timegm_js, + "r": __tzset_js, + "i": _emscripten_date_now, + "p": _emscripten_memcpy_big, + "o": _emscripten_resize_heap, + "a": _exit, + "c": _fd_close, + "y": _fd_read, + "m": _fd_seek, + "j": _fd_write, + "h": glk_buffer_canon_decompose_uni, + "g": glk_buffer_canon_normalize_uni, + "f": glk_buffer_to_lower_case_uni, + "e": glk_buffer_to_title_case_uni, + "d": glk_buffer_to_upper_case_uni, + "n": invoke_vi, + "b": invoke_vii +}; + +var asm = createWasm(); + +var ___wasm_call_ctors = function() { + return (___wasm_call_ctors = Module["asm"]["F"]).apply(null, arguments); +}; + +var _malloc = function() { + return (_malloc = Module["asm"]["G"]).apply(null, arguments); +}; + +var _free = function() { + return (_free = Module["asm"]["H"]).apply(null, arguments); +}; + +var _main = Module["_main"] = function() { + return (_main = Module["_main"] = Module["asm"]["I"]).apply(null, arguments); +}; + +var _gidispatch_get_game_id = Module["_gidispatch_get_game_id"] = function() { + return (_gidispatch_get_game_id = Module["_gidispatch_get_game_id"] = Module["asm"]["J"]).apply(null, arguments); +}; + +var _fflush = Module["_fflush"] = function() { + return (_fflush = Module["_fflush"] = Module["asm"]["K"]).apply(null, arguments); +}; + +var ___errno_location = function() { + return (___errno_location = Module["asm"]["L"]).apply(null, arguments); +}; + +var ___funcs_on_exit = function() { + return (___funcs_on_exit = Module["asm"]["M"]).apply(null, arguments); +}; + +var _setThrew = function() { + return (_setThrew = Module["asm"]["O"]).apply(null, arguments); +}; + +var _saveSetjmp = function() { + return (_saveSetjmp = Module["asm"]["saveSetjmp"]).apply(null, arguments); +}; + +var _emscripten_stack_set_limits = function() { + return (_emscripten_stack_set_limits = Module["asm"]["emscripten_stack_set_limits"]).apply(null, arguments); +}; + +var _emscripten_stack_get_base = function() { + return (_emscripten_stack_get_base = Module["asm"]["emscripten_stack_get_base"]).apply(null, arguments); +}; + +var _emscripten_stack_get_end = function() { + return (_emscripten_stack_get_end = Module["asm"]["emscripten_stack_get_end"]).apply(null, arguments); +}; + +var stackSave = function() { + return (stackSave = Module["asm"]["P"]).apply(null, arguments); +}; + +var stackRestore = function() { + return (stackRestore = Module["asm"]["Q"]).apply(null, arguments); +}; + +var stackAlloc = function() { + return (stackAlloc = Module["asm"]["R"]).apply(null, arguments); +}; + +var dynCall_vii = Module["dynCall_vii"] = function() { + return (dynCall_vii = Module["dynCall_vii"] = Module["asm"]["S"]).apply(null, arguments); +}; + +var dynCall_vi = Module["dynCall_vi"] = function() { + return (dynCall_vi = Module["dynCall_vi"] = Module["asm"]["T"]).apply(null, arguments); +}; + +var _asyncify_start_unwind = function() { + return (_asyncify_start_unwind = Module["asm"]["U"]).apply(null, arguments); +}; + +var _asyncify_stop_unwind = function() { + return (_asyncify_stop_unwind = Module["asm"]["V"]).apply(null, arguments); +}; + +var _asyncify_start_rewind = function() { + return (_asyncify_start_rewind = Module["asm"]["W"]).apply(null, arguments); +}; + +var _asyncify_stop_rewind = function() { + return (_asyncify_stop_rewind = Module["asm"]["X"]).apply(null, arguments); +}; + +var ___start_em_js = Module["___start_em_js"] = 33568; + +var ___stop_em_js = Module["___stop_em_js"] = 36253; + +function invoke_vii(index, a1, a2) { + var sp = stackSave(); + try { + dynCall_vii(index, a1, a2); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_vi(index, a1) { + var sp = stackSave(); + try { + dynCall_vi(index, a1); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +Module["AsciiToString"] = AsciiToString; + +Module["FS"] = FS; + +var calledRun; + +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; +}; + +function callMain(args = []) { + var entryFunction = _main; + args.unshift(thisProgram); + var argc = args.length; + var argv = stackAlloc((argc + 1) * 4); + var argv_ptr = argv >> 2; + args.forEach(arg => { + HEAP32[argv_ptr++] = allocateUTF8OnStack(arg); + }); + HEAP32[argv_ptr] = 0; + try { + var ret = entryFunction(argc, argv); + exitJS(ret, true); + return ret; + } catch (e) { + return handleException(e); + } +} + +function run(args = arguments_) { + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) return; + initRuntime(); + preMain(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + if (shouldRunNow) callMain(args); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } +} + +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } +} + +var shouldRunNow = true; + +if (Module["noInitialRun"]) shouldRunNow = false; + +run(); + + + return Module.ready +} + +); +})(); +export default Module; \ No newline at end of file diff --git a/docs/emglken/git-core.wasm b/docs/emglken/git-core.wasm new file mode 100755 index 0000000000000000000000000000000000000000..bd6ea4efb86572fdfc3bc185d0bb089d6837894e GIT binary patch literal 243235 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�@8e&^$b9Uqo4~W0b72%BwAUbX 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 { + var _scriptDir = import.meta.url; + + return ( +function(Module = {}) { + +var Module = typeof Module != "undefined" ? Module : {}; + +var readyPromiseResolve, readyPromiseReject; + +Module["ready"] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); + +var moduleOverrides = Object.assign({}, Module); + +var arguments_ = []; + +var thisProgram = "./this.program"; + +var quit_ = (status, toThrow) => { + throw toThrow; +}; + +var ENVIRONMENT_IS_WEB = true; + +var ENVIRONMENT_IS_WORKER = false; + +var scriptDirectory = ""; + +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; +} + +var read_, readAsync, readBinary, setWindowTitle; + +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href; + } else if (typeof document != "undefined" && document.currentScript) { + scriptDirectory = document.currentScript.src; + } + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1); + } else { + scriptDirectory = ""; + } + { + read_ = url => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText; + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = url => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response); + }; + } + readAsync = (url, onload, onerror) => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = () => { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + }; + } + setWindowTitle = title => document.title = title; +} else {} + +var out = Module["print"] || console.log.bind(console); + +var err = Module["printErr"] || console.warn.bind(console); + +Object.assign(Module, moduleOverrides); + +moduleOverrides = null; + +if (Module["arguments"]) arguments_ = Module["arguments"]; + +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; + +if (Module["quit"]) quit_ = Module["quit"]; + +var wasmBinary; + +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; + +var noExitRuntime = Module["noExitRuntime"] || false; + +if (typeof WebAssembly != "object") { + abort("no native wasm support detected"); +} + +var wasmMemory; + +var ABORT = false; + +var EXITSTATUS; + +function assert(condition, text) { + if (!condition) { + abort(text); + } +} + +var UTF8Decoder = new TextDecoder("utf8"); + +function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr))); +} + +function UTF8ToString(ptr, maxBytesToRead) { + if (!ptr) return ""; + var maxPtr = ptr + maxBytesToRead; + for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end; + return UTF8Decoder.decode(HEAPU8.subarray(ptr, end)); +} + +function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } + if (u <= 127) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 192 | u >> 6; + heap[outIdx++] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 224 | u >> 12; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } else { + if (outIdx + 3 >= endIdx) break; + heap[outIdx++] = 240 | u >> 18; + heap[outIdx++] = 128 | u >> 12 & 63; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } + } + heap[outIdx] = 0; + return outIdx - startIdx; +} + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); +} + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var c = str.charCodeAt(i); + if (c <= 127) { + len++; + } else if (c <= 2047) { + len += 2; + } else if (c >= 55296 && c <= 57343) { + len += 4; + ++i; + } else { + len += 3; + } + } + return len; +} + +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateMemoryViews() { + var b = wasmMemory.buffer; + Module["HEAP8"] = HEAP8 = new Int8Array(b); + Module["HEAP16"] = HEAP16 = new Int16Array(b); + Module["HEAP32"] = HEAP32 = new Int32Array(b); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(b); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(b); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(b); + Module["HEAPF32"] = HEAPF32 = new Float32Array(b); + Module["HEAPF64"] = HEAPF64 = new Float64Array(b); +} + +var wasmTable; + +var __ATPRERUN__ = []; + +var __ATINIT__ = []; + +var __ATMAIN__ = []; + +var __ATEXIT__ = []; + +var __ATPOSTRUN__ = []; + +var runtimeInitialized = false; + +var runtimeExited = false; + +var runtimeKeepaliveCounter = 0; + +function keepRuntimeAlive() { + return noExitRuntime || runtimeKeepaliveCounter > 0; +} + +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + FS.ignorePermissions = false; + TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + callRuntimeCallbacks(__ATMAIN__); +} + +function exitRuntime() { + ___funcs_on_exit(); + callRuntimeCallbacks(__ATEXIT__); + FS.quit(); + TTY.shutdown(); + 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 addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +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(); + } + } +} + +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what = "Aborted(" + what + ")"; + err(what); + ABORT = true; + EXITSTATUS = 1; + what += ". Build with -sASSERTIONS for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; +} + +var dataURIPrefix = "data:application/octet-stream;base64,"; + +function isDataURI(filename) { + return filename.startsWith(dataURIPrefix); +} + +var wasmBinaryFile; + +if (Module["locateFile"]) { + wasmBinaryFile = "glulxe-core.wasm"; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } +} else { + wasmBinaryFile = new URL("glulxe-core.wasm", import.meta.url).href; +} + +function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; + } catch (err) { + abort(err); + } +} + +function getBinaryPromise(binaryFile) { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch == "function") { + return fetch(binaryFile, { + credentials: "same-origin" + }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + binaryFile + "'"; + } + return response["arrayBuffer"](); + }).catch(function() { + return getBinary(binaryFile); + }); + } + } + return Promise.resolve().then(function() { + return getBinary(binaryFile); + }); +} + +function instantiateArrayBuffer(binaryFile, imports, receiver) { + return getBinaryPromise(binaryFile).then(function(binary) { + return WebAssembly.instantiate(binary, imports); + }).then(function(instance) { + return instance; + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason); + }); +} + +function instantiateAsync(binary, binaryFile, imports, callback) { + if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) && typeof fetch == "function") { + return fetch(binaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, imports); + return result.then(callback, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + return instantiateArrayBuffer(binaryFile, imports, callback); + }); + }); + } else { + return instantiateArrayBuffer(binaryFile, imports, callback); + } +} + +function createWasm() { + var info = { + "a": wasmImports + }; + function receiveInstance(instance, module) { + var exports = instance.exports; + exports = Asyncify.instrumentWasmExports(exports); + Module["asm"] = exports; + wasmMemory = Module["asm"]["B"]; + updateMemoryViews(); + wasmTable = Module["asm"]["K"]; + addOnInit(Module["asm"]["C"]); + removeRunDependency("wasm-instantiate"); + return exports; + } + addRunDependency("wasm-instantiate"); + function receiveInstantiationResult(result) { + receiveInstance(result["instance"]); + } + if (Module["instantiateWasm"]) { + try { + return Module["instantiateWasm"](info, receiveInstance); + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + readyPromiseReject(e); + } + } + instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject); + return {}; +} + +var tempDouble; + +var tempI64; + +function emglken_common_buffer_transformer(buf, len, numchars, func, dont_reduce) { + const index = buf >> 2; + const utf32 = HEAPU32.subarray(index, index + numchars); + const data = dont_reduce ? utf32 : utf32.reduce((prev, ch) => prev + String.fromCodePoint(ch), ""); + const new_str = func(data); + const newbuf = Uint32Array.from(new_str, ch => ch.codePointAt(0)); + const newlen = newbuf.length; + HEAPU32.set(newbuf.subarray(0, Math.min(len, newlen)), index); + return newlen; +} + +function glk_buffer_to_lower_case_uni(buf, len, numchars) { + return emglken_common_buffer_transformer(buf, len, numchars, str => str.toLowerCase()); +} + +function glk_buffer_to_upper_case_uni(buf, len, numchars) { + return emglken_common_buffer_transformer(buf, len, numchars, str => str.toUpperCase()); +} + +function glk_buffer_to_title_case_uni(buf, len, numchars, lowerrest) { + return emglken_common_buffer_transformer(buf, len, numchars, utf32 => utf32.reduce((prev, ch, index) => { + const special_cases = { + "ß": "Ss", + "DŽ": "Dž", + "Dž": "Dž", + "dž": "Dž", + "LJ": "Lj", + "Lj": "Lj", + "lj": "Lj", + "NJ": "Nj", + "Nj": "Nj", + "nj": "Nj", + "DZ": "Dz", + "Dz": "Dz", + "dz": "Dz", + "և": "Եւ", + "ᾲ": "Ὰͅ", + "ᾳ": "ᾼ", + "ᾴ": "Άͅ", + "ᾷ": "ᾼ͂", + "ᾼ": "ᾼ", + "ῂ": "Ὴͅ", + "ῃ": "ῌ", + "ῄ": "Ήͅ", + "ῇ": "ῌ͂", + "ῌ": "ῌ", + "ῲ": "Ὼͅ", + "ῳ": "ῼ", + "ῴ": "Ώͅ", + "ῷ": "ῼ͂", + "ῼ": "ῼ", + "ff": "Ff", + "fi": "Fi", + "fl": "Fl", + "ffi": "Ffi", + "ffl": "Ffl", + "ſt": "St", + "st": "St", + "ﬓ": "Մն", + "ﬔ": "Մե", + "ﬕ": "Մի", + "ﬖ": "Վն", + "ﬗ": "Մխ" + }; + const slightly_less_special_cases = [ "ᾈᾉᾊᾋᾌᾍᾎᾏ", "ᾘᾙᾚᾛᾜᾝᾞᾟ", "ᾨᾩᾪᾫᾬᾭᾮᾯ" ]; + let thischar = String.fromCodePoint(ch); + if (index === 0) { + if (special_cases[thischar]) { + thischar = special_cases[thischar]; + } else if (ch >= 8064 && ch < 8112) { + thischar = slightly_less_special_cases[(ch - 8064) / 16 | 0][ch % 8]; + } else { + thischar = thischar.toUpperCase(); + } + } else if (lowerrest) { + thischar = thischar.toLowerCase(); + } + return prev + thischar; + }, ""), 1); +} + +function glk_buffer_canon_decompose_uni(buf, len, numchars) { + return emglken_common_buffer_transformer(buf, len, numchars, str => str.normalize("NFD")); +} + +function glk_buffer_canon_normalize_uni(buf, len, numchars) { + return emglken_common_buffer_transformer(buf, len, numchars, str => str.normalize("NFC")); +} + +function __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) { + return Asyncify.handleAsync(async () => { + if (!Module.emglken_stdin_buffers.length) { + await new Promise(resolve => { + Module.emglken_stdin_ready = resolve; + }); + } + const input = Module.emglken_stdin_buffers.shift(); + const len = Math.min(input.length, maxlen); + if (len == input.length) { + HEAPU8.set(input, buffer); + } else { + HEAPU8.set(input.subarray(0, len), buffer); + Module.emglken_stdin_buffers.unshift(input.subarray(len)); + } + return len; + }); +} + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +} + +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + callbacks.shift()(Module); + } +} + +var PATH = { + isAbs: path => path.charAt(0) === "/", + splitPath: filename => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, + normalizeArray: (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: path => { + var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(p => !!p), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, + dirname: 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: path => { + if (path === "/") return "/"; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1); + }, + join: function() { + var paths = Array.prototype.slice.call(arguments); + return PATH.normalize(paths.join("/")); + }, + join2: (l, r) => { + return PATH.normalize(l + "/" + r); + } +}; + +function getRandomDevice() { + if (typeof crypto == "object" && typeof crypto["getRandomValues"] == "function") { + var randomBuffer = new Uint8Array(1); + return () => { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0]; + }; + } else return () => abort("randomDevice"); +} + +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.isAbs(path); + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(p => !!p), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + }, + relative: (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("/"); + } +}; + +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 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(43); + } + stream.tty = tty; + stream.seekable = false; + }, + close: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, + fsync: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + 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(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + 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(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + 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); + } + }, + fsync: 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); + } + }, + fsync: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + } +}; + +function mmapAlloc(size) { + abort(); +} + +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(63); + } + 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; + parent.timestamp = node.timestamp; + } + return node; + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array(0); + 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); + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); + } + 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[44]; + }, + 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(55); + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now(); + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + }, + unlink: function(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + 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(28); + } + 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) { + if (buffer.buffer === HEAP8.buffer) { + 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 = buffer.slice(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(28); + } + 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, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === HEAP8.buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { + ptr: ptr, + allocated: allocated + }; + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0; + } + } +}; + +function asyncLoad(url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency("al " + url) : ""; + readAsync(url, arrayBuffer => { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, event => { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); +} + +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + lookupPath: (path, opts = {}) => { + path = PATH_FS.resolve(path); + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + opts = Object.assign(defaults, opts); + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32); + } + var parts = path.split("/").filter(p => !!p); + 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 + 1 + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32); + } + } + } + } + return { + path: current_path, + node: current + }; + }, + getPath: 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: (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: node => { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, + hashRemoveNode: 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: (parent, name) => { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, 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: (parent, name, mode, rdev) => { + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; + }, + destroyNode: node => { + FS.hashRemoveNode(node); + }, + isRoot: node => { + return node === node.parent; + }, + isMountpoint: node => { + return !!node.mounted; + }, + isFile: mode => { + return (mode & 61440) === 32768; + }, + isDir: mode => { + return (mode & 61440) === 16384; + }, + isLink: mode => { + return (mode & 61440) === 40960; + }, + isChrdev: mode => { + return (mode & 61440) === 8192; + }, + isBlkdev: mode => { + return (mode & 61440) === 24576; + }, + isFIFO: mode => { + return (mode & 61440) === 4096; + }, + isSocket: mode => { + return (mode & 49152) === 49152; + }, + flagModes: { + "r": 0, + "r+": 2, + "w": 577, + "w+": 578, + "a": 1089, + "a+": 1090 + }, + modeStringToFlags: str => { + var flags = FS.flagModes[str]; + if (typeof flags == "undefined") { + throw new Error("Unknown file open mode: " + str); + } + return flags; + }, + flagsToPermissionString: flag => { + var perms = [ "r", "w", "rw" ][flag & 3]; + if (flag & 512) { + perms += "w"; + } + return perms; + }, + nodePermissions: (node, perms) => { + if (FS.ignorePermissions) { + return 0; + } + if (perms.includes("r") && !(node.mode & 292)) { + return 2; + } else if (perms.includes("w") && !(node.mode & 146)) { + return 2; + } else if (perms.includes("x") && !(node.mode & 73)) { + return 2; + } + return 0; + }, + mayLookup: dir => { + var errCode = FS.nodePermissions(dir, "x"); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + }, + mayCreate: (dir, name) => { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) {} + return FS.nodePermissions(dir, "wx"); + }, + mayDelete: (dir, name, isdir) => { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, "wx"); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + }, + mayOpen: (node, flags) => { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, + MAX_OPEN_FDS: 4096, + nextfd: (fd_start = 0, 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(33); + }, + getStream: fd => FS.streams[fd], + createStream: (stream, fd_start, fd_end) => { + if (!FS.FSStream) { + FS.FSStream = function() { + this.shared = {}; + }; + 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; + } + }, + flags: { + get: function() { + return this.shared.flags; + }, + set: function(val) { + this.shared.flags = val; + } + }, + position: { + get: function() { + return this.shared.position; + }, + set: function(val) { + this.shared.position = val; + } + } + }); + } + stream = Object.assign(new FS.FSStream(), stream); + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, + closeStream: fd => { + FS.streams[fd] = null; + }, + chrdev_stream_ops: { + open: 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: () => { + throw new FS.ErrnoError(70); + } + }, + major: dev => dev >> 8, + minor: dev => dev & 255, + makedev: (ma, mi) => ma << 8 | mi, + registerDevice: (dev, ops) => { + FS.devices[dev] = { + stream_ops: ops + }; + }, + getDevice: dev => FS.devices[dev], + getMounts: 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: (populate, callback) => { + if (typeof populate == "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + err("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(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + } + mounts.forEach(mount => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, + mount: (type, opts, mountpoint) => { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } 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(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + 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: mountpoint => { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(hash => { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + current = next; + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + }, + lookup: (parent, name) => { + return parent.node_ops.lookup(parent, name); + }, + mknod: (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(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, + create: (path, mode) => { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, + mkdir: (path, mode) => { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, + mkdirTree: (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 != 20) throw e; + } + } + }, + mkdev: (path, mode, dev) => { + if (typeof dev == "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink: (oldpath, newpath) => { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename: (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; + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node; + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + 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(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + 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 errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + 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); + } + }, + rmdir: path => { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + }, + readdir: path => { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, + unlink: path => { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + }, + readlink: path => { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + }, + stat: (path, dontFollow) => { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, + lstat: path => { + return FS.stat(path, true); + }, + chmod: (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(63); + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }); + }, + lchmod: (path, mode) => { + FS.chmod(path, mode, true); + }, + fchmod: (fd, mode) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + }, + chown: (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(63); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }); + }, + lchown: (path, uid, gid) => { + FS.chown(path, uid, gid, true); + }, + fchown: (fd, uid, gid) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + }, + truncate: (path, len) => { + if (len < 0) { + throw new FS.ErrnoError(28); + } + 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(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + }, + ftruncate: (fd, len) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, + utime: (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: (path, flags, mode) => { + if (path === "") { + throw new FS.ErrnoError(44); + } + 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(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512 && !created) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }); + 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; + } + } + return stream; + }, + close: stream => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + 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: stream => { + return stream.fd === null; + }, + llseek: (stream, offset, whence) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, + read: (stream, buffer, offset, length, position) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + }, + write: (stream, buffer, offset, length, position, canOwn) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && 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(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + }, + allocate: (stream, offset, length) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, + mmap: (stream, length, position, prot, flags) => { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + }, + msync: (stream, buffer, offset, length, mmapFlags) => { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + }, + munmap: stream => 0, + ioctl: (stream, cmd, arg) => { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile: (path, opts = {}) => { + opts.flags = opts.flags || 0; + 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: (path, data, opts = {}) => { + opts.flags = opts.flags || 577; + 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: () => FS.currentPath, + chdir: path => { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, + createDefaultDirectories: () => { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices: () => { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => 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 = getRandomDevice(); + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); + }, + createSpecialDirectories: () => { + FS.mkdir("/proc"); + var proc_self = FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: () => { + var node = FS.createNode(proc_self, "fd", 16384 | 511, 73); + node.node_ops = { + lookup: (parent, name) => { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: () => stream.path + } + }; + ret.parent = ret; + return ret; + } + }; + return node; + } + }, {}, "/proc/self/fd"); + }, + createStandardStreams: () => { + 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", 0); + var stdout = FS.open("/dev/stdout", 1); + var stderr = FS.open("/dev/stderr", 1); + }, + ensureErrnoError: () => { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.name = "ErrnoError"; + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + }; + this.setErrno(errno); + this.message = "FS error"; + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [ 44 ].forEach(code => { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ""; + }); + }, + staticInit: () => { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS + }; + }, + init: (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: () => { + FS.init.initialized = false; + _fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, + getMode: (canRead, canWrite) => { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + }, + findObject: (path, dontResolveLastLink) => { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + }, + analyzePath: (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; + }, + createPath: (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: (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: (parent, name, data, canRead, canWrite, canOwn) => { + var path = name; + if (parent) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + path = name ? PATH.join2(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, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + }, + createDevice: (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: stream => { + stream.seekable = false; + }, + close: stream => { + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: (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(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: (stream, buffer, offset, length, pos) => { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + }, + forceLoadFile: obj => { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return 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 (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + }, + createLazyFile: (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 = (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); + 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 || []); + } + return intArrayFromString(xhr.responseText || "", true); + }; + var lazyArray = this; + lazyArray.setDataGetter(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; + out("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(key => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + 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; + } + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position); + }; + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, HEAP8, ptr, length, position); + return { + ptr: ptr, + allocated: true + }; + }; + node.stream_ops = stream_ops; + return node; + }, + createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { + 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); + } + if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => { + if (onerror) onerror(); + removeRunDependency(dep); + })) { + return; + } + finish(byteArray); + } + addRunDependency(dep); + if (typeof url == "string") { + asyncLoad(url, byteArray => processData(byteArray), onerror); + } else { + processData(url); + } + }, + indexedDB: () => { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + }, + DB_NAME: () => { + return "EM_FS_" + window.location.pathname; + }, + DB_VERSION: 20, + DB_STORE_NAME: "FILE_DATA", + saveFilesToDB: (paths, onload = (() => {}), onerror = (() => {})) => { + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = () => { + out("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + 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(path => { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = () => { + ok++; + if (ok + fail == total) finish(); + }; + putRequest.onerror = () => { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }, + loadFilesFromDB: (paths, onload = (() => {}), onerror = (() => {})) => { + 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 = () => { + 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(path => { + var getRequest = files.get(path); + 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 = () => { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + } +}; + +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + calculateAt: function(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44); + } + return dir; + } + return PATH.join2(dir, 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 -54; + } + throw e; + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAPU32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + 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; + var atime = stat.atime.getTime(); + var mtime = stat.mtime.getTime(); + var ctime = stat.ctime.getTime(); + tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), + +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 + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1]; + HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3; + tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), + +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 + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1]; + HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3; + tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), + +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 + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1]; + HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3; + 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 + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1]; + return 0; + }, + doMsync: function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + return 0; + } + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + }, + varargs: undefined, + get: function() { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret; + }, + getStr: function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, + getStreamFromFD: function(fd) { + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream; + } +}; + +function ___syscall_faccessat(dirfd, path, amode, flags) { + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + if (amode & ~7) { + return -28; + } + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node) { + return -44; + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2; + } + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function setErrNo(value) { + HEAP32[___errno_location() >> 2] = value; + return value; +} + +function ___syscall_fcntl64(fd, cmd, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: + { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; + } + var newStream; + newStream = FS.createStream(stream, 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 5: + { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0; + } + + case 6: + case 7: + return 0; + + case 16: + case 8: + return -28; + + case 9: + setErrNo(28); + return -1; + + default: + { + return -28; + } + } + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_getcwd(buf, size) { + try { + if (size === 0) return -28; + var cwd = FS.cwd(); + var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1; + if (size < cwdLengthInBytes) return -68; + stringToUTF8(cwd, buf, size); + return cwdLengthInBytes; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: + { + if (!stream.tty) return -59; + return 0; + } + + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: + { + if (!stream.tty) return -59; + return 0; + } + + case 21519: + { + if (!stream.tty) return -59; + var argp = SYSCALLS.get(); + HEAP32[argp >> 2] = 0; + return 0; + } + + case 21520: + { + if (!stream.tty) return -59; + return -28; + } + + case 21531: + { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + + case 21523: + { + if (!stream.tty) return -59; + return 0; + } + + case 21524: + { + if (!stream.tty) return -59; + return 0; + } + + default: + return -28; + } + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_openat(dirfd, path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + var mode = varargs ? SYSCALLS.get() : 0; + return FS.open(path, flags, mode).fd; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_stat64(path, buf) { + try { + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.stat, path, buf); + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_unlinkat(dirfd, path, flags) { + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + if (flags === 0) { + FS.unlink(path); + } else if (flags === 512) { + FS.rmdir(path); + } else { + abort("Invalid flags passed to unlinkat"); + } + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +var nowIsMonotonic = true; + +function __emscripten_get_now_is_monotonic() { + return nowIsMonotonic; +} + +function readI53FromI64(ptr) { + return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296; +} + +function __gmtime_js(time, tmPtr) { + var date = new Date(readI53FromI64(time) * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); + HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); + HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; + 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; +} + +function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); +} + +var __MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ]; + +var __MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ]; + +function __yday_from_date(date) { + var isLeapYear = __isLeapYear(date.getFullYear()); + var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE; + var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; + return yday; +} + +function __localtime_js(time, tmPtr) { + var date = new Date(readI53FromI64(time) * 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 yday = __yday_from_date(date) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); + var start = new Date(date.getFullYear(), 0, 1); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[tmPtr + 32 >> 2] = dst; +} + +function __mktime_js(tmPtr) { + 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(date.getFullYear(), 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 = __yday_from_date(date) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + 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.getYear(); + return date.getTime() / 1e3 | 0; +} + +function __timegm_js(tmPtr) { + 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 allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +function __tzset_js(timezone, daylight, tzname) { + var currentYear = new Date().getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + var winterOffset = winter.getTimezoneOffset(); + var summerOffset = summer.getTimezoneOffset(); + var stdTimezoneOffset = Math.max(winterOffset, summerOffset); + HEAPU32[timezone >> 2] = stdTimezoneOffset * 60; + HEAP32[daylight >> 2] = Number(winterOffset != summerOffset); + 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 = allocateUTF8(winterName); + var summerNamePtr = allocateUTF8(summerName); + if (summerOffset < winterOffset) { + HEAPU32[tzname >> 2] = winterNamePtr; + HEAPU32[tzname + 4 >> 2] = summerNamePtr; + } else { + HEAPU32[tzname >> 2] = summerNamePtr; + HEAPU32[tzname + 4 >> 2] = winterNamePtr; + } +} + +function _emscripten_date_now() { + return Date.now(); +} + +var _emscripten_get_now; + +_emscripten_get_now = () => performance.now(); + +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); +} + +function getHeapMax() { + return 2147483648; +} + +function emscripten_realloc_buffer(size) { + var b = wasmMemory.buffer; + try { + wasmMemory.grow(size - b.byteLength + 65535 >>> 16); + updateMemoryViews(); + return 1; + } catch (e) {} +} + +function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + return false; + } + let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + .2 / cutDown); + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true; + } + } + return false; +} + +function _proc_exit(code) { + EXITSTATUS = code; + if (!keepRuntimeAlive()) { + if (Module["onExit"]) Module["onExit"](code); + ABORT = true; + } + quit_(code, new ExitStatus(code)); +} + +function exitJS(status, implicit) { + EXITSTATUS = status; + if (!keepRuntimeAlive()) { + exitRuntime(); + } + _proc_exit(status); +} + +var _exit = exitJS; + +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function doReadv(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[iov >> 2]; + var len = HEAPU32[iov + 4 >> 2]; + iov += 8; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; +} + +function _fd_read(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function convertI32PairToI53Checked(lo, hi) { + return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN; +} + +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var offset = convertI32PairToI53Checked(offset_low, offset_high); + if (isNaN(offset)) return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + 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[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function doWritev(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[iov >> 2]; + var len = HEAPU32[iov + 4 >> 2]; + iov += 8; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; +} + +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + HEAPU32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function handleException(e) { + if (e instanceof ExitStatus || e == "unwind") { + return EXITSTATUS; + } + quit_(1, e); +} + +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +function runAndAbortIfError(func) { + try { + return func(); + } catch (e) { + abort(e); + } +} + +function maybeExit() { + if (!keepRuntimeAlive()) { + try { + _exit(EXITSTATUS); + } catch (e) { + handleException(e); + } + } +} + +function callUserCallback(func) { + if (runtimeExited || ABORT) { + return; + } + try { + func(); + maybeExit(); + } catch (e) { + handleException(e); + } +} + +function runtimeKeepalivePush() { + runtimeKeepaliveCounter += 1; +} + +function runtimeKeepalivePop() { + runtimeKeepaliveCounter -= 1; +} + +var Asyncify = { + instrumentWasmImports: function(imports) { + var ASYNCIFY_IMPORTS = [ "emscripten_sleep", "emscripten_wget", "emscripten_wget_data", "emscripten_idb_load", "emscripten_idb_store", "emscripten_idb_delete", "emscripten_idb_exists", "emscripten_idb_load_blob", "emscripten_idb_store_blob", "SDL_Delay", "emscripten_scan_registers", "emscripten_lazy_load_code", "emscripten_fiber_swap", "__load_secondary_module", "fd_sync", "__wasi_fd_sync", "_emval_await", "_dlopen_js", "__asyncjs__*" ]; + for (var x in imports) { + (function(x) { + var original = imports[x]; + var sig = original.sig; + if (typeof original == "function") { + var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith("__asyncjs__"); + } + })(x); + } + }, + instrumentWasmExports: function(exports) { + var ret = {}; + for (var x in exports) { + (function(x) { + var original = exports[x]; + if (typeof original == "function") { + ret[x] = function() { + Asyncify.exportCallStack.push(x); + try { + return original.apply(null, arguments); + } finally { + if (!ABORT) { + var y = Asyncify.exportCallStack.pop(); + assert(y === x); + Asyncify.maybeStopUnwind(); + } + } + }; + } else { + ret[x] = original; + } + })(x); + } + return ret; + }, + State: { + Normal: 0, + Unwinding: 1, + Rewinding: 2, + Disabled: 3 + }, + state: 0, + StackSize: 8192, + currData: null, + handleSleepReturnValue: 0, + exportCallStack: [], + callStackNameToId: {}, + callStackIdToName: {}, + callStackId: 0, + asyncPromiseHandlers: null, + sleepCallbacks: [], + getCallStackId: function(funcName) { + var id = Asyncify.callStackNameToId[funcName]; + if (id === undefined) { + id = Asyncify.callStackId++; + Asyncify.callStackNameToId[funcName] = id; + Asyncify.callStackIdToName[id] = funcName; + } + return id; + }, + maybeStopUnwind: function() { + if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) { + Asyncify.state = Asyncify.State.Normal; + runtimeKeepalivePush(); + runAndAbortIfError(_asyncify_stop_unwind); + if (typeof Fibers != "undefined") { + Fibers.trampoline(); + } + } + }, + whenDone: function() { + return new Promise((resolve, reject) => { + Asyncify.asyncPromiseHandlers = { + resolve: resolve, + reject: reject + }; + }); + }, + allocateData: function() { + var ptr = _malloc(12 + Asyncify.StackSize); + Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize); + Asyncify.setDataRewindFunc(ptr); + return ptr; + }, + setDataHeader: function(ptr, stack, stackSize) { + HEAP32[ptr >> 2] = stack; + HEAP32[ptr + 4 >> 2] = stack + stackSize; + }, + setDataRewindFunc: function(ptr) { + var bottomOfCallStack = Asyncify.exportCallStack[0]; + var rewindId = Asyncify.getCallStackId(bottomOfCallStack); + HEAP32[ptr + 8 >> 2] = rewindId; + }, + getDataRewindFunc: function(ptr) { + var id = HEAP32[ptr + 8 >> 2]; + var name = Asyncify.callStackIdToName[id]; + var func = Module["asm"][name]; + return func; + }, + doRewind: function(ptr) { + var start = Asyncify.getDataRewindFunc(ptr); + runtimeKeepalivePop(); + return start(); + }, + handleSleep: function(startAsync) { + if (ABORT) return; + if (Asyncify.state === Asyncify.State.Normal) { + var reachedCallback = false; + var reachedAfterCallback = false; + startAsync((handleSleepReturnValue = 0) => { + if (ABORT) return; + Asyncify.handleSleepReturnValue = handleSleepReturnValue; + reachedCallback = true; + if (!reachedAfterCallback) { + return; + } + Asyncify.state = Asyncify.State.Rewinding; + runAndAbortIfError(() => _asyncify_start_rewind(Asyncify.currData)); + if (typeof Browser != "undefined" && Browser.mainLoop.func) { + Browser.mainLoop.resume(); + } + var asyncWasmReturnValue, isError = false; + try { + asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData); + } catch (err) { + asyncWasmReturnValue = err; + isError = true; + } + var handled = false; + if (!Asyncify.currData) { + var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers; + if (asyncPromiseHandlers) { + Asyncify.asyncPromiseHandlers = null; + (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue); + handled = true; + } + } + if (isError && !handled) { + throw asyncWasmReturnValue; + } + }); + reachedAfterCallback = true; + if (!reachedCallback) { + Asyncify.state = Asyncify.State.Unwinding; + Asyncify.currData = Asyncify.allocateData(); + if (typeof Browser != "undefined" && Browser.mainLoop.func) { + Browser.mainLoop.pause(); + } + runAndAbortIfError(() => _asyncify_start_unwind(Asyncify.currData)); + } + } else if (Asyncify.state === Asyncify.State.Rewinding) { + Asyncify.state = Asyncify.State.Normal; + runAndAbortIfError(_asyncify_stop_rewind); + _free(Asyncify.currData); + Asyncify.currData = null; + Asyncify.sleepCallbacks.forEach(func => callUserCallback(func)); + } else { + abort("invalid state: " + Asyncify.state); + } + return Asyncify.handleSleepReturnValue; + }, + handleAsync: function(startAsync) { + return Asyncify.handleSleep(wakeUp => { + startAsync().then(wakeUp); + }); + } +}; + +function AsciiToString(ptr) { + var str = ""; + while (1) { + var ch = HEAPU8[ptr++ >> 0]; + if (!ch) return str; + str += String.fromCharCode(ch); + } +} + +var 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; +}; + +var readMode = 292 | 73; + +var writeMode = 146; + +Object.defineProperties(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); + } + } +}); + +FS.FSNode = FSNode; + +FS.staticInit(); + +var wasmImports = { + "o": __asyncjs__emglken_fill_stdin_buffer, + "A": ___syscall_faccessat, + "k": ___syscall_fcntl64, + "z": ___syscall_getcwd, + "y": ___syscall_ioctl, + "j": ___syscall_openat, + "x": ___syscall_stat64, + "w": ___syscall_unlinkat, + "u": __emscripten_get_now_is_monotonic, + "t": __gmtime_js, + "s": __localtime_js, + "r": __mktime_js, + "q": __timegm_js, + "p": __tzset_js, + "h": _emscripten_date_now, + "n": _emscripten_memcpy_big, + "m": _emscripten_resize_heap, + "a": _exit, + "b": _fd_close, + "v": _fd_read, + "l": _fd_seek, + "i": _fd_write, + "g": glk_buffer_canon_decompose_uni, + "f": glk_buffer_canon_normalize_uni, + "e": glk_buffer_to_lower_case_uni, + "d": glk_buffer_to_title_case_uni, + "c": glk_buffer_to_upper_case_uni +}; + +var asm = createWasm(); + +var ___wasm_call_ctors = function() { + return (___wasm_call_ctors = Module["asm"]["C"]).apply(null, arguments); +}; + +var _malloc = function() { + return (_malloc = Module["asm"]["D"]).apply(null, arguments); +}; + +var _free = function() { + return (_free = Module["asm"]["E"]).apply(null, arguments); +}; + +var _main = Module["_main"] = function() { + return (_main = Module["_main"] = Module["asm"]["F"]).apply(null, arguments); +}; + +var _gidispatch_get_game_id = Module["_gidispatch_get_game_id"] = function() { + return (_gidispatch_get_game_id = Module["_gidispatch_get_game_id"] = Module["asm"]["G"]).apply(null, arguments); +}; + +var _fflush = Module["_fflush"] = function() { + return (_fflush = Module["_fflush"] = Module["asm"]["H"]).apply(null, arguments); +}; + +var ___errno_location = function() { + return (___errno_location = Module["asm"]["I"]).apply(null, arguments); +}; + +var ___funcs_on_exit = function() { + return (___funcs_on_exit = Module["asm"]["J"]).apply(null, arguments); +}; + +var _emscripten_stack_set_limits = function() { + return (_emscripten_stack_set_limits = Module["asm"]["emscripten_stack_set_limits"]).apply(null, arguments); +}; + +var _emscripten_stack_get_base = function() { + return (_emscripten_stack_get_base = Module["asm"]["emscripten_stack_get_base"]).apply(null, arguments); +}; + +var _emscripten_stack_get_end = function() { + return (_emscripten_stack_get_end = Module["asm"]["emscripten_stack_get_end"]).apply(null, arguments); +}; + +var stackAlloc = function() { + return (stackAlloc = Module["asm"]["L"]).apply(null, arguments); +}; + +var _asyncify_start_unwind = function() { + return (_asyncify_start_unwind = Module["asm"]["M"]).apply(null, arguments); +}; + +var _asyncify_stop_unwind = function() { + return (_asyncify_stop_unwind = Module["asm"]["N"]).apply(null, arguments); +}; + +var _asyncify_start_rewind = function() { + return (_asyncify_start_rewind = Module["asm"]["O"]).apply(null, arguments); +}; + +var _asyncify_stop_rewind = function() { + return (_asyncify_stop_rewind = Module["asm"]["P"]).apply(null, arguments); +}; + +var ___start_em_js = Module["___start_em_js"] = 39312; + +var ___stop_em_js = Module["___stop_em_js"] = 41997; + +Module["AsciiToString"] = AsciiToString; + +Module["FS"] = FS; + +var calledRun; + +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; +}; + +function callMain(args = []) { + var entryFunction = _main; + args.unshift(thisProgram); + var argc = args.length; + var argv = stackAlloc((argc + 1) * 4); + var argv_ptr = argv >> 2; + args.forEach(arg => { + HEAP32[argv_ptr++] = allocateUTF8OnStack(arg); + }); + HEAP32[argv_ptr] = 0; + try { + var ret = entryFunction(argc, argv); + exitJS(ret, true); + return ret; + } catch (e) { + return handleException(e); + } +} + +function run(args = arguments_) { + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) return; + initRuntime(); + preMain(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + if (shouldRunNow) callMain(args); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } +} + +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } +} + +var shouldRunNow = true; + +if (Module["noInitialRun"]) shouldRunNow = false; + +run(); + + + return Module.ready +} + +); +})(); +export default Module; \ No newline at end of file diff --git a/docs/emglken/glulxe-core.wasm b/docs/emglken/glulxe-core.wasm new file mode 100755 index 0000000000000000000000000000000000000000..1f5d07a01447174edd83913e79430879005c44f6 GIT binary patch literal 282088 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

3KCaA)pUQc_T{QgA8}3Jz?Udxz2f&@`BjI2 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 literal 0 HcmV?d00001 diff --git a/docs/emglken/hugo-core.js b/docs/emglken/hugo-core.js new file mode 100644 index 0000000..796e270 --- /dev/null +++ b/docs/emglken/hugo-core.js @@ -0,0 +1,3860 @@ + +var Module = (() => { + var _scriptDir = import.meta.url; + + return ( +function(Module = {}) { + +var Module = typeof Module != "undefined" ? Module : {}; + +var readyPromiseResolve, readyPromiseReject; + +Module["ready"] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); + +var moduleOverrides = Object.assign({}, Module); + +var arguments_ = []; + +var thisProgram = "./this.program"; + +var quit_ = (status, toThrow) => { + throw toThrow; +}; + +var ENVIRONMENT_IS_WEB = true; + +var ENVIRONMENT_IS_WORKER = false; + +var scriptDirectory = ""; + +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; +} + +var read_, readAsync, readBinary, setWindowTitle; + +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href; + } else if (typeof document != "undefined" && document.currentScript) { + scriptDirectory = document.currentScript.src; + } + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1); + } else { + scriptDirectory = ""; + } + { + read_ = url => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText; + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = url => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response); + }; + } + readAsync = (url, onload, onerror) => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = () => { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + }; + } + setWindowTitle = title => document.title = title; +} else {} + +var out = Module["print"] || console.log.bind(console); + +var err = Module["printErr"] || console.warn.bind(console); + +Object.assign(Module, moduleOverrides); + +moduleOverrides = null; + +if (Module["arguments"]) arguments_ = Module["arguments"]; + +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; + +if (Module["quit"]) quit_ = Module["quit"]; + +var wasmBinary; + +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; + +var noExitRuntime = Module["noExitRuntime"] || false; + +if (typeof WebAssembly != "object") { + abort("no native wasm support detected"); +} + +var wasmMemory; + +var ABORT = false; + +var EXITSTATUS; + +function assert(condition, text) { + if (!condition) { + abort(text); + } +} + +var UTF8Decoder = new TextDecoder("utf8"); + +function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr))); +} + +function UTF8ToString(ptr, maxBytesToRead) { + if (!ptr) return ""; + var maxPtr = ptr + maxBytesToRead; + for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end; + return UTF8Decoder.decode(HEAPU8.subarray(ptr, end)); +} + +function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } + if (u <= 127) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 192 | u >> 6; + heap[outIdx++] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 224 | u >> 12; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } else { + if (outIdx + 3 >= endIdx) break; + heap[outIdx++] = 240 | u >> 18; + heap[outIdx++] = 128 | u >> 12 & 63; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } + } + heap[outIdx] = 0; + return outIdx - startIdx; +} + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); +} + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var c = str.charCodeAt(i); + if (c <= 127) { + len++; + } else if (c <= 2047) { + len += 2; + } else if (c >= 55296 && c <= 57343) { + len += 4; + ++i; + } else { + len += 3; + } + } + return len; +} + +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateMemoryViews() { + var b = wasmMemory.buffer; + Module["HEAP8"] = HEAP8 = new Int8Array(b); + Module["HEAP16"] = HEAP16 = new Int16Array(b); + Module["HEAP32"] = HEAP32 = new Int32Array(b); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(b); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(b); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(b); + Module["HEAPF32"] = HEAPF32 = new Float32Array(b); + Module["HEAPF64"] = HEAPF64 = new Float64Array(b); +} + +var wasmTable; + +var __ATPRERUN__ = []; + +var __ATINIT__ = []; + +var __ATMAIN__ = []; + +var __ATEXIT__ = []; + +var __ATPOSTRUN__ = []; + +var runtimeInitialized = false; + +var runtimeExited = false; + +var runtimeKeepaliveCounter = 0; + +function keepRuntimeAlive() { + return noExitRuntime || runtimeKeepaliveCounter > 0; +} + +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + FS.ignorePermissions = false; + TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + callRuntimeCallbacks(__ATMAIN__); +} + +function exitRuntime() { + ___funcs_on_exit(); + callRuntimeCallbacks(__ATEXIT__); + FS.quit(); + TTY.shutdown(); + 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 addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +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(); + } + } +} + +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what = "Aborted(" + what + ")"; + err(what); + ABORT = true; + EXITSTATUS = 1; + what += ". Build with -sASSERTIONS for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; +} + +var dataURIPrefix = "data:application/octet-stream;base64,"; + +function isDataURI(filename) { + return filename.startsWith(dataURIPrefix); +} + +var wasmBinaryFile; + +if (Module["locateFile"]) { + wasmBinaryFile = "hugo-core.wasm"; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } +} else { + wasmBinaryFile = new URL("hugo-core.wasm", import.meta.url).href; +} + +function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; + } catch (err) { + abort(err); + } +} + +function getBinaryPromise(binaryFile) { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch == "function") { + return fetch(binaryFile, { + credentials: "same-origin" + }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + binaryFile + "'"; + } + return response["arrayBuffer"](); + }).catch(function() { + return getBinary(binaryFile); + }); + } + } + return Promise.resolve().then(function() { + return getBinary(binaryFile); + }); +} + +function instantiateArrayBuffer(binaryFile, imports, receiver) { + return getBinaryPromise(binaryFile).then(function(binary) { + return WebAssembly.instantiate(binary, imports); + }).then(function(instance) { + return instance; + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason); + }); +} + +function instantiateAsync(binary, binaryFile, imports, callback) { + if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) && typeof fetch == "function") { + return fetch(binaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, imports); + return result.then(callback, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + return instantiateArrayBuffer(binaryFile, imports, callback); + }); + }); + } else { + return instantiateArrayBuffer(binaryFile, imports, callback); + } +} + +function createWasm() { + var info = { + "a": wasmImports + }; + function receiveInstance(instance, module) { + var exports = instance.exports; + exports = Asyncify.instrumentWasmExports(exports); + Module["asm"] = exports; + wasmMemory = Module["asm"]["t"]; + updateMemoryViews(); + wasmTable = Module["asm"]["C"]; + addOnInit(Module["asm"]["u"]); + removeRunDependency("wasm-instantiate"); + return exports; + } + addRunDependency("wasm-instantiate"); + function receiveInstantiationResult(result) { + receiveInstance(result["instance"]); + } + if (Module["instantiateWasm"]) { + try { + return Module["instantiateWasm"](info, receiveInstance); + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + readyPromiseReject(e); + } + } + instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject); + return {}; +} + +var tempDouble; + +var tempI64; + +function __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) { + return Asyncify.handleAsync(async () => { + if (!Module.emglken_stdin_buffers.length) { + await new Promise(resolve => { + Module.emglken_stdin_ready = resolve; + }); + } + const input = Module.emglken_stdin_buffers.shift(); + const len = Math.min(input.length, maxlen); + if (len == input.length) { + HEAPU8.set(input, buffer); + } else { + HEAPU8.set(input.subarray(0, len), buffer); + Module.emglken_stdin_buffers.unshift(input.subarray(len)); + } + return len; + }); +} + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +} + +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + callbacks.shift()(Module); + } +} + +var PATH = { + isAbs: path => path.charAt(0) === "/", + splitPath: filename => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, + normalizeArray: (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: path => { + var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(p => !!p), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, + dirname: 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: path => { + if (path === "/") return "/"; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1); + }, + join: function() { + var paths = Array.prototype.slice.call(arguments); + return PATH.normalize(paths.join("/")); + }, + join2: (l, r) => { + return PATH.normalize(l + "/" + r); + } +}; + +function getRandomDevice() { + if (typeof crypto == "object" && typeof crypto["getRandomValues"] == "function") { + var randomBuffer = new Uint8Array(1); + return () => { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0]; + }; + } else return () => abort("randomDevice"); +} + +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.isAbs(path); + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(p => !!p), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + }, + relative: (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("/"); + } +}; + +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 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(43); + } + stream.tty = tty; + stream.seekable = false; + }, + close: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, + fsync: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + 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(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + 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(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + 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); + } + }, + fsync: 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); + } + }, + fsync: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + } +}; + +function mmapAlloc(size) { + abort(); +} + +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(63); + } + 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; + parent.timestamp = node.timestamp; + } + return node; + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array(0); + 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); + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); + } + 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[44]; + }, + 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(55); + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now(); + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + }, + unlink: function(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + 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(28); + } + 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) { + if (buffer.buffer === HEAP8.buffer) { + 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 = buffer.slice(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(28); + } + 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, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === HEAP8.buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { + ptr: ptr, + allocated: allocated + }; + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0; + } + } +}; + +function asyncLoad(url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency("al " + url) : ""; + readAsync(url, arrayBuffer => { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, event => { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); +} + +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + lookupPath: (path, opts = {}) => { + path = PATH_FS.resolve(path); + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + opts = Object.assign(defaults, opts); + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32); + } + var parts = path.split("/").filter(p => !!p); + 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 + 1 + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32); + } + } + } + } + return { + path: current_path, + node: current + }; + }, + getPath: 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: (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: node => { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, + hashRemoveNode: 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: (parent, name) => { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, 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: (parent, name, mode, rdev) => { + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; + }, + destroyNode: node => { + FS.hashRemoveNode(node); + }, + isRoot: node => { + return node === node.parent; + }, + isMountpoint: node => { + return !!node.mounted; + }, + isFile: mode => { + return (mode & 61440) === 32768; + }, + isDir: mode => { + return (mode & 61440) === 16384; + }, + isLink: mode => { + return (mode & 61440) === 40960; + }, + isChrdev: mode => { + return (mode & 61440) === 8192; + }, + isBlkdev: mode => { + return (mode & 61440) === 24576; + }, + isFIFO: mode => { + return (mode & 61440) === 4096; + }, + isSocket: mode => { + return (mode & 49152) === 49152; + }, + flagModes: { + "r": 0, + "r+": 2, + "w": 577, + "w+": 578, + "a": 1089, + "a+": 1090 + }, + modeStringToFlags: str => { + var flags = FS.flagModes[str]; + if (typeof flags == "undefined") { + throw new Error("Unknown file open mode: " + str); + } + return flags; + }, + flagsToPermissionString: flag => { + var perms = [ "r", "w", "rw" ][flag & 3]; + if (flag & 512) { + perms += "w"; + } + return perms; + }, + nodePermissions: (node, perms) => { + if (FS.ignorePermissions) { + return 0; + } + if (perms.includes("r") && !(node.mode & 292)) { + return 2; + } else if (perms.includes("w") && !(node.mode & 146)) { + return 2; + } else if (perms.includes("x") && !(node.mode & 73)) { + return 2; + } + return 0; + }, + mayLookup: dir => { + var errCode = FS.nodePermissions(dir, "x"); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + }, + mayCreate: (dir, name) => { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) {} + return FS.nodePermissions(dir, "wx"); + }, + mayDelete: (dir, name, isdir) => { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, "wx"); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + }, + mayOpen: (node, flags) => { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, + MAX_OPEN_FDS: 4096, + nextfd: (fd_start = 0, 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(33); + }, + getStream: fd => FS.streams[fd], + createStream: (stream, fd_start, fd_end) => { + if (!FS.FSStream) { + FS.FSStream = function() { + this.shared = {}; + }; + 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; + } + }, + flags: { + get: function() { + return this.shared.flags; + }, + set: function(val) { + this.shared.flags = val; + } + }, + position: { + get: function() { + return this.shared.position; + }, + set: function(val) { + this.shared.position = val; + } + } + }); + } + stream = Object.assign(new FS.FSStream(), stream); + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, + closeStream: fd => { + FS.streams[fd] = null; + }, + chrdev_stream_ops: { + open: 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: () => { + throw new FS.ErrnoError(70); + } + }, + major: dev => dev >> 8, + minor: dev => dev & 255, + makedev: (ma, mi) => ma << 8 | mi, + registerDevice: (dev, ops) => { + FS.devices[dev] = { + stream_ops: ops + }; + }, + getDevice: dev => FS.devices[dev], + getMounts: 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: (populate, callback) => { + if (typeof populate == "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + err("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(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + } + mounts.forEach(mount => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, + mount: (type, opts, mountpoint) => { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } 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(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + 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: mountpoint => { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(hash => { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + current = next; + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + }, + lookup: (parent, name) => { + return parent.node_ops.lookup(parent, name); + }, + mknod: (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(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, + create: (path, mode) => { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, + mkdir: (path, mode) => { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, + mkdirTree: (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 != 20) throw e; + } + } + }, + mkdev: (path, mode, dev) => { + if (typeof dev == "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink: (oldpath, newpath) => { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename: (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; + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node; + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + 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(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + 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 errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + 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); + } + }, + rmdir: path => { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + }, + readdir: path => { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, + unlink: path => { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + }, + readlink: path => { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + }, + stat: (path, dontFollow) => { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, + lstat: path => { + return FS.stat(path, true); + }, + chmod: (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(63); + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }); + }, + lchmod: (path, mode) => { + FS.chmod(path, mode, true); + }, + fchmod: (fd, mode) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + }, + chown: (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(63); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }); + }, + lchown: (path, uid, gid) => { + FS.chown(path, uid, gid, true); + }, + fchown: (fd, uid, gid) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + }, + truncate: (path, len) => { + if (len < 0) { + throw new FS.ErrnoError(28); + } + 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(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + }, + ftruncate: (fd, len) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, + utime: (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: (path, flags, mode) => { + if (path === "") { + throw new FS.ErrnoError(44); + } + 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(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512 && !created) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }); + 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; + } + } + return stream; + }, + close: stream => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + 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: stream => { + return stream.fd === null; + }, + llseek: (stream, offset, whence) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, + read: (stream, buffer, offset, length, position) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + }, + write: (stream, buffer, offset, length, position, canOwn) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && 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(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + }, + allocate: (stream, offset, length) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, + mmap: (stream, length, position, prot, flags) => { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + }, + msync: (stream, buffer, offset, length, mmapFlags) => { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + }, + munmap: stream => 0, + ioctl: (stream, cmd, arg) => { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile: (path, opts = {}) => { + opts.flags = opts.flags || 0; + 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: (path, data, opts = {}) => { + opts.flags = opts.flags || 577; + 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: () => FS.currentPath, + chdir: path => { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, + createDefaultDirectories: () => { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices: () => { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => 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 = getRandomDevice(); + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); + }, + createSpecialDirectories: () => { + FS.mkdir("/proc"); + var proc_self = FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: () => { + var node = FS.createNode(proc_self, "fd", 16384 | 511, 73); + node.node_ops = { + lookup: (parent, name) => { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: () => stream.path + } + }; + ret.parent = ret; + return ret; + } + }; + return node; + } + }, {}, "/proc/self/fd"); + }, + createStandardStreams: () => { + 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", 0); + var stdout = FS.open("/dev/stdout", 1); + var stderr = FS.open("/dev/stderr", 1); + }, + ensureErrnoError: () => { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.name = "ErrnoError"; + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + }; + this.setErrno(errno); + this.message = "FS error"; + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [ 44 ].forEach(code => { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ""; + }); + }, + staticInit: () => { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS + }; + }, + init: (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: () => { + FS.init.initialized = false; + _fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, + getMode: (canRead, canWrite) => { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + }, + findObject: (path, dontResolveLastLink) => { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + }, + analyzePath: (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; + }, + createPath: (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: (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: (parent, name, data, canRead, canWrite, canOwn) => { + var path = name; + if (parent) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + path = name ? PATH.join2(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, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + }, + createDevice: (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: stream => { + stream.seekable = false; + }, + close: stream => { + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: (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(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: (stream, buffer, offset, length, pos) => { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + }, + forceLoadFile: obj => { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return 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 (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + }, + createLazyFile: (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 = (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); + 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 || []); + } + return intArrayFromString(xhr.responseText || "", true); + }; + var lazyArray = this; + lazyArray.setDataGetter(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; + out("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(key => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + 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; + } + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position); + }; + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, HEAP8, ptr, length, position); + return { + ptr: ptr, + allocated: true + }; + }; + node.stream_ops = stream_ops; + return node; + }, + createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { + 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); + } + if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => { + if (onerror) onerror(); + removeRunDependency(dep); + })) { + return; + } + finish(byteArray); + } + addRunDependency(dep); + if (typeof url == "string") { + asyncLoad(url, byteArray => processData(byteArray), onerror); + } else { + processData(url); + } + }, + indexedDB: () => { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + }, + DB_NAME: () => { + return "EM_FS_" + window.location.pathname; + }, + DB_VERSION: 20, + DB_STORE_NAME: "FILE_DATA", + saveFilesToDB: (paths, onload = (() => {}), onerror = (() => {})) => { + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = () => { + out("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + 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(path => { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = () => { + ok++; + if (ok + fail == total) finish(); + }; + putRequest.onerror = () => { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }, + loadFilesFromDB: (paths, onload = (() => {}), onerror = (() => {})) => { + 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 = () => { + 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(path => { + var getRequest = files.get(path); + 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 = () => { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + } +}; + +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + calculateAt: function(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44); + } + return dir; + } + return PATH.join2(dir, 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 -54; + } + throw e; + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAPU32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + 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; + var atime = stat.atime.getTime(); + var mtime = stat.mtime.getTime(); + var ctime = stat.ctime.getTime(); + tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), + +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 + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1]; + HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3; + tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), + +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 + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1]; + HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3; + tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), + +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 + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1]; + HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3; + 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 + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1]; + return 0; + }, + doMsync: function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + return 0; + } + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + }, + varargs: undefined, + get: function() { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret; + }, + getStr: function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, + getStreamFromFD: function(fd) { + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream; + } +}; + +function ___syscall_faccessat(dirfd, path, amode, flags) { + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + if (amode & ~7) { + return -28; + } + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node) { + return -44; + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2; + } + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function setErrNo(value) { + HEAP32[___errno_location() >> 2] = value; + return value; +} + +function ___syscall_fcntl64(fd, cmd, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: + { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; + } + var newStream; + newStream = FS.createStream(stream, 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 5: + { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0; + } + + case 6: + case 7: + return 0; + + case 16: + case 8: + return -28; + + case 9: + setErrNo(28); + return -1; + + default: + { + return -28; + } + } + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_getcwd(buf, size) { + try { + if (size === 0) return -28; + var cwd = FS.cwd(); + var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1; + if (size < cwdLengthInBytes) return -68; + stringToUTF8(cwd, buf, size); + return cwdLengthInBytes; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: + { + if (!stream.tty) return -59; + return 0; + } + + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: + { + if (!stream.tty) return -59; + return 0; + } + + case 21519: + { + if (!stream.tty) return -59; + var argp = SYSCALLS.get(); + HEAP32[argp >> 2] = 0; + return 0; + } + + case 21520: + { + if (!stream.tty) return -59; + return -28; + } + + case 21531: + { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + + case 21523: + { + if (!stream.tty) return -59; + return 0; + } + + case 21524: + { + if (!stream.tty) return -59; + return 0; + } + + default: + return -28; + } + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_openat(dirfd, path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + var mode = varargs ? SYSCALLS.get() : 0; + return FS.open(path, flags, mode).fd; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_stat64(path, buf) { + try { + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.stat, path, buf); + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +var nowIsMonotonic = true; + +function __emscripten_get_now_is_monotonic() { + return nowIsMonotonic; +} + +function readI53FromI64(ptr) { + return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296; +} + +function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); +} + +var __MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ]; + +var __MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ]; + +function __yday_from_date(date) { + var isLeapYear = __isLeapYear(date.getFullYear()); + var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE; + var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; + return yday; +} + +function __localtime_js(time, tmPtr) { + var date = new Date(readI53FromI64(time) * 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 yday = __yday_from_date(date) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); + var start = new Date(date.getFullYear(), 0, 1); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[tmPtr + 32 >> 2] = dst; +} + +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +function __tzset_js(timezone, daylight, tzname) { + var currentYear = new Date().getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + var winterOffset = winter.getTimezoneOffset(); + var summerOffset = summer.getTimezoneOffset(); + var stdTimezoneOffset = Math.max(winterOffset, summerOffset); + HEAPU32[timezone >> 2] = stdTimezoneOffset * 60; + HEAP32[daylight >> 2] = Number(winterOffset != summerOffset); + 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 = allocateUTF8(winterName); + var summerNamePtr = allocateUTF8(summerName); + if (summerOffset < winterOffset) { + HEAPU32[tzname >> 2] = winterNamePtr; + HEAPU32[tzname + 4 >> 2] = summerNamePtr; + } else { + HEAPU32[tzname >> 2] = summerNamePtr; + HEAPU32[tzname + 4 >> 2] = winterNamePtr; + } +} + +function _emscripten_date_now() { + return Date.now(); +} + +var _emscripten_get_now; + +_emscripten_get_now = () => performance.now(); + +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); +} + +function getHeapMax() { + return 2147483648; +} + +function emscripten_realloc_buffer(size) { + var b = wasmMemory.buffer; + try { + wasmMemory.grow(size - b.byteLength + 65535 >>> 16); + updateMemoryViews(); + return 1; + } catch (e) {} +} + +function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + return false; + } + let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + .2 / cutDown); + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true; + } + } + return false; +} + +function _proc_exit(code) { + EXITSTATUS = code; + if (!keepRuntimeAlive()) { + if (Module["onExit"]) Module["onExit"](code); + ABORT = true; + } + quit_(code, new ExitStatus(code)); +} + +function exitJS(status, implicit) { + EXITSTATUS = status; + if (!keepRuntimeAlive()) { + exitRuntime(); + } + _proc_exit(status); +} + +var _exit = exitJS; + +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function doReadv(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[iov >> 2]; + var len = HEAPU32[iov + 4 >> 2]; + iov += 8; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; +} + +function _fd_read(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function convertI32PairToI53Checked(lo, hi) { + return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN; +} + +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var offset = convertI32PairToI53Checked(offset_low, offset_high); + if (isNaN(offset)) return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + 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[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function doWritev(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[iov >> 2]; + var len = HEAPU32[iov + 4 >> 2]; + iov += 8; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; +} + +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + HEAPU32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function __arraySum(array, index) { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]) {} + return sum; +} + +var __MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; + +var __MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; + +function __addDays(date, days) { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = __isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1); + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1); + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate; + } + } + return newDate; +} + +function writeArrayToMemory(array, buffer) { + HEAP8.set(array, buffer); +} + +function _strftime(s, maxsize, format, tm) { + var tm_zone = HEAP32[tm + 40 >> 2]; + var date = { + tm_sec: HEAP32[tm >> 2], + tm_min: HEAP32[tm + 4 >> 2], + tm_hour: HEAP32[tm + 8 >> 2], + tm_mday: HEAP32[tm + 12 >> 2], + tm_mon: HEAP32[tm + 16 >> 2], + tm_year: HEAP32[tm + 20 >> 2], + tm_wday: HEAP32[tm + 24 >> 2], + tm_yday: HEAP32[tm + 28 >> 2], + tm_isdst: HEAP32[tm + 32 >> 2], + tm_gmtoff: HEAP32[tm + 36 >> 2], + tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" + }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { + "%c": "%a %b %d %H:%M:%S %Y", + "%D": "%m/%d/%y", + "%F": "%Y-%m-%d", + "%h": "%b", + "%r": "%I:%M:%S %p", + "%R": "%H:%M", + "%T": "%H:%M:%S", + "%x": "%m/%d/%y", + "%X": "%H:%M:%S", + "%Ec": "%c", + "%EC": "%C", + "%Ex": "%m/%d/%y", + "%EX": "%H:%M:%S", + "%Ey": "%y", + "%EY": "%Y", + "%Od": "%d", + "%Oe": "%e", + "%OH": "%H", + "%OI": "%I", + "%Om": "%m", + "%OM": "%M", + "%OS": "%S", + "%Ou": "%u", + "%OU": "%U", + "%OV": "%V", + "%Ow": "%w", + "%OW": "%W", + "%Oy": "%y" + }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]); + } + var WEEKDAYS = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ]; + var MONTHS = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; + function leadingSomething(value, digits, character) { + var str = typeof value == "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str; + } + return str; + } + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0"); + } + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0; + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()); + } + } + return compare; + } + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + + case 1: + return janFourth; + + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30); + } + } + function getWeekBasedYear(date) { + var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1; + } + return thisDate.getFullYear(); + } + return thisDate.getFullYear() - 1; + } + var EXPANSION_RULES_2 = { + "%a": function(date) { + return WEEKDAYS[date.tm_wday].substring(0, 3); + }, + "%A": function(date) { + return WEEKDAYS[date.tm_wday]; + }, + "%b": function(date) { + return MONTHS[date.tm_mon].substring(0, 3); + }, + "%B": function(date) { + return MONTHS[date.tm_mon]; + }, + "%C": function(date) { + var year = date.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2); + }, + "%d": function(date) { + return leadingNulls(date.tm_mday, 2); + }, + "%e": function(date) { + return leadingSomething(date.tm_mday, 2, " "); + }, + "%g": function(date) { + return getWeekBasedYear(date).toString().substring(2); + }, + "%G": function(date) { + return getWeekBasedYear(date); + }, + "%H": function(date) { + return leadingNulls(date.tm_hour, 2); + }, + "%I": function(date) { + var twelveHour = date.tm_hour; + if (twelveHour == 0) twelveHour = 12; else if (twelveHour > 12) twelveHour -= 12; + return leadingNulls(twelveHour, 2); + }, + "%j": function(date) { + return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3); + }, + "%m": function(date) { + return leadingNulls(date.tm_mon + 1, 2); + }, + "%M": function(date) { + return leadingNulls(date.tm_min, 2); + }, + "%n": function() { + return "\n"; + }, + "%p": function(date) { + if (date.tm_hour >= 0 && date.tm_hour < 12) { + return "AM"; + } + return "PM"; + }, + "%S": function(date) { + return leadingNulls(date.tm_sec, 2); + }, + "%t": function() { + return "\t"; + }, + "%u": function(date) { + return date.tm_wday || 7; + }, + "%U": function(date) { + var days = date.tm_yday + 7 - date.tm_wday; + return leadingNulls(Math.floor(days / 7), 2); + }, + "%V": function(date) { + var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7) / 7); + if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) { + val++; + } + if (!val) { + val = 52; + var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7; + if (dec31 == 4 || dec31 == 5 && __isLeapYear(date.tm_year % 400 - 1)) { + val++; + } + } else if (val == 53) { + var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7; + if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) val = 1; + } + return leadingNulls(val, 2); + }, + "%w": function(date) { + return date.tm_wday; + }, + "%W": function(date) { + var days = date.tm_yday + 7 - (date.tm_wday + 6) % 7; + return leadingNulls(Math.floor(days / 7), 2); + }, + "%y": function(date) { + return (date.tm_year + 1900).toString().substring(2); + }, + "%Y": function(date) { + return date.tm_year + 1900; + }, + "%z": function(date) { + var off = date.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+" : "-") + String("0000" + off).slice(-4); + }, + "%Z": function(date) { + return date.tm_zone; + }, + "%%": function() { + return "%"; + } + }; + pattern = pattern.replace(/%%/g, "\0\0"); + for (var rule in EXPANSION_RULES_2) { + if (pattern.includes(rule)) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)); + } + } + pattern = pattern.replace(/\0\0/g, "%"); + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0; + } + writeArrayToMemory(bytes, s); + return bytes.length - 1; +} + +function handleException(e) { + if (e instanceof ExitStatus || e == "unwind") { + return EXITSTATUS; + } + quit_(1, e); +} + +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +function runAndAbortIfError(func) { + try { + return func(); + } catch (e) { + abort(e); + } +} + +function maybeExit() { + if (!keepRuntimeAlive()) { + try { + _exit(EXITSTATUS); + } catch (e) { + handleException(e); + } + } +} + +function callUserCallback(func) { + if (runtimeExited || ABORT) { + return; + } + try { + func(); + maybeExit(); + } catch (e) { + handleException(e); + } +} + +function runtimeKeepalivePush() { + runtimeKeepaliveCounter += 1; +} + +function runtimeKeepalivePop() { + runtimeKeepaliveCounter -= 1; +} + +var Asyncify = { + instrumentWasmImports: function(imports) { + var ASYNCIFY_IMPORTS = [ "emscripten_sleep", "emscripten_wget", "emscripten_wget_data", "emscripten_idb_load", "emscripten_idb_store", "emscripten_idb_delete", "emscripten_idb_exists", "emscripten_idb_load_blob", "emscripten_idb_store_blob", "SDL_Delay", "emscripten_scan_registers", "emscripten_lazy_load_code", "emscripten_fiber_swap", "__load_secondary_module", "fd_sync", "__wasi_fd_sync", "_emval_await", "_dlopen_js", "__asyncjs__*" ]; + for (var x in imports) { + (function(x) { + var original = imports[x]; + var sig = original.sig; + if (typeof original == "function") { + var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith("__asyncjs__"); + } + })(x); + } + }, + instrumentWasmExports: function(exports) { + var ret = {}; + for (var x in exports) { + (function(x) { + var original = exports[x]; + if (typeof original == "function") { + ret[x] = function() { + Asyncify.exportCallStack.push(x); + try { + return original.apply(null, arguments); + } finally { + if (!ABORT) { + var y = Asyncify.exportCallStack.pop(); + assert(y === x); + Asyncify.maybeStopUnwind(); + } + } + }; + } else { + ret[x] = original; + } + })(x); + } + return ret; + }, + State: { + Normal: 0, + Unwinding: 1, + Rewinding: 2, + Disabled: 3 + }, + state: 0, + StackSize: 8192, + currData: null, + handleSleepReturnValue: 0, + exportCallStack: [], + callStackNameToId: {}, + callStackIdToName: {}, + callStackId: 0, + asyncPromiseHandlers: null, + sleepCallbacks: [], + getCallStackId: function(funcName) { + var id = Asyncify.callStackNameToId[funcName]; + if (id === undefined) { + id = Asyncify.callStackId++; + Asyncify.callStackNameToId[funcName] = id; + Asyncify.callStackIdToName[id] = funcName; + } + return id; + }, + maybeStopUnwind: function() { + if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) { + Asyncify.state = Asyncify.State.Normal; + runtimeKeepalivePush(); + runAndAbortIfError(_asyncify_stop_unwind); + if (typeof Fibers != "undefined") { + Fibers.trampoline(); + } + } + }, + whenDone: function() { + return new Promise((resolve, reject) => { + Asyncify.asyncPromiseHandlers = { + resolve: resolve, + reject: reject + }; + }); + }, + allocateData: function() { + var ptr = _malloc(12 + Asyncify.StackSize); + Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize); + Asyncify.setDataRewindFunc(ptr); + return ptr; + }, + setDataHeader: function(ptr, stack, stackSize) { + HEAP32[ptr >> 2] = stack; + HEAP32[ptr + 4 >> 2] = stack + stackSize; + }, + setDataRewindFunc: function(ptr) { + var bottomOfCallStack = Asyncify.exportCallStack[0]; + var rewindId = Asyncify.getCallStackId(bottomOfCallStack); + HEAP32[ptr + 8 >> 2] = rewindId; + }, + getDataRewindFunc: function(ptr) { + var id = HEAP32[ptr + 8 >> 2]; + var name = Asyncify.callStackIdToName[id]; + var func = Module["asm"][name]; + return func; + }, + doRewind: function(ptr) { + var start = Asyncify.getDataRewindFunc(ptr); + runtimeKeepalivePop(); + return start(); + }, + handleSleep: function(startAsync) { + if (ABORT) return; + if (Asyncify.state === Asyncify.State.Normal) { + var reachedCallback = false; + var reachedAfterCallback = false; + startAsync((handleSleepReturnValue = 0) => { + if (ABORT) return; + Asyncify.handleSleepReturnValue = handleSleepReturnValue; + reachedCallback = true; + if (!reachedAfterCallback) { + return; + } + Asyncify.state = Asyncify.State.Rewinding; + runAndAbortIfError(() => _asyncify_start_rewind(Asyncify.currData)); + if (typeof Browser != "undefined" && Browser.mainLoop.func) { + Browser.mainLoop.resume(); + } + var asyncWasmReturnValue, isError = false; + try { + asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData); + } catch (err) { + asyncWasmReturnValue = err; + isError = true; + } + var handled = false; + if (!Asyncify.currData) { + var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers; + if (asyncPromiseHandlers) { + Asyncify.asyncPromiseHandlers = null; + (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue); + handled = true; + } + } + if (isError && !handled) { + throw asyncWasmReturnValue; + } + }); + reachedAfterCallback = true; + if (!reachedCallback) { + Asyncify.state = Asyncify.State.Unwinding; + Asyncify.currData = Asyncify.allocateData(); + if (typeof Browser != "undefined" && Browser.mainLoop.func) { + Browser.mainLoop.pause(); + } + runAndAbortIfError(() => _asyncify_start_unwind(Asyncify.currData)); + } + } else if (Asyncify.state === Asyncify.State.Rewinding) { + Asyncify.state = Asyncify.State.Normal; + runAndAbortIfError(_asyncify_stop_rewind); + _free(Asyncify.currData); + Asyncify.currData = null; + Asyncify.sleepCallbacks.forEach(func => callUserCallback(func)); + } else { + abort("invalid state: " + Asyncify.state); + } + return Asyncify.handleSleepReturnValue; + }, + handleAsync: function(startAsync) { + return Asyncify.handleSleep(wakeUp => { + startAsync().then(wakeUp); + }); + } +}; + +function AsciiToString(ptr) { + var str = ""; + while (1) { + var ch = HEAPU8[ptr++ >> 0]; + if (!ch) return str; + str += String.fromCharCode(ch); + } +} + +var 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; +}; + +var readMode = 292 | 73; + +var writeMode = 146; + +Object.defineProperties(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); + } + } +}); + +FS.FSNode = FSNode; + +FS.staticInit(); + +var wasmImports = { + "j": __asyncjs__emglken_fill_stdin_buffer, + "s": ___syscall_faccessat, + "e": ___syscall_fcntl64, + "r": ___syscall_getcwd, + "q": ___syscall_ioctl, + "p": ___syscall_openat, + "o": ___syscall_stat64, + "m": __emscripten_get_now_is_monotonic, + "l": __localtime_js, + "k": __tzset_js, + "b": _emscripten_date_now, + "i": _emscripten_memcpy_big, + "h": _emscripten_resize_heap, + "a": _exit, + "d": _fd_close, + "n": _fd_read, + "g": _fd_seek, + "c": _fd_write, + "f": _strftime +}; + +var asm = createWasm(); + +var ___wasm_call_ctors = function() { + return (___wasm_call_ctors = Module["asm"]["u"]).apply(null, arguments); +}; + +var _malloc = function() { + return (_malloc = Module["asm"]["v"]).apply(null, arguments); +}; + +var _free = function() { + return (_free = Module["asm"]["w"]).apply(null, arguments); +}; + +var _main = Module["_main"] = function() { + return (_main = Module["_main"] = Module["asm"]["x"]).apply(null, arguments); +}; + +var _gidispatch_get_game_id = Module["_gidispatch_get_game_id"] = function() { + return (_gidispatch_get_game_id = Module["_gidispatch_get_game_id"] = Module["asm"]["y"]).apply(null, arguments); +}; + +var _fflush = Module["_fflush"] = function() { + return (_fflush = Module["_fflush"] = Module["asm"]["z"]).apply(null, arguments); +}; + +var ___errno_location = function() { + return (___errno_location = Module["asm"]["A"]).apply(null, arguments); +}; + +var ___funcs_on_exit = function() { + return (___funcs_on_exit = Module["asm"]["B"]).apply(null, arguments); +}; + +var _emscripten_stack_set_limits = function() { + return (_emscripten_stack_set_limits = Module["asm"]["emscripten_stack_set_limits"]).apply(null, arguments); +}; + +var _emscripten_stack_get_base = function() { + return (_emscripten_stack_get_base = Module["asm"]["emscripten_stack_get_base"]).apply(null, arguments); +}; + +var _emscripten_stack_get_end = function() { + return (_emscripten_stack_get_end = Module["asm"]["emscripten_stack_get_end"]).apply(null, arguments); +}; + +var stackAlloc = function() { + return (stackAlloc = Module["asm"]["D"]).apply(null, arguments); +}; + +var _asyncify_start_unwind = function() { + return (_asyncify_start_unwind = Module["asm"]["E"]).apply(null, arguments); +}; + +var _asyncify_stop_unwind = function() { + return (_asyncify_stop_unwind = Module["asm"]["F"]).apply(null, arguments); +}; + +var _asyncify_start_rewind = function() { + return (_asyncify_start_rewind = Module["asm"]["G"]).apply(null, arguments); +}; + +var _asyncify_stop_rewind = function() { + return (_asyncify_stop_rewind = Module["asm"]["H"]).apply(null, arguments); +}; + +var ___start_em_js = Module["___start_em_js"] = 18128; + +var ___stop_em_js = Module["___stop_em_js"] = 20813; + +Module["AsciiToString"] = AsciiToString; + +Module["FS"] = FS; + +var calledRun; + +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; +}; + +function callMain(args = []) { + var entryFunction = _main; + args.unshift(thisProgram); + var argc = args.length; + var argv = stackAlloc((argc + 1) * 4); + var argv_ptr = argv >> 2; + args.forEach(arg => { + HEAP32[argv_ptr++] = allocateUTF8OnStack(arg); + }); + HEAP32[argv_ptr] = 0; + try { + var ret = entryFunction(argc, argv); + exitJS(ret, true); + return ret; + } catch (e) { + return handleException(e); + } +} + +function run(args = arguments_) { + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) return; + initRuntime(); + preMain(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + if (shouldRunNow) callMain(args); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } +} + +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } +} + +var shouldRunNow = true; + +if (Module["noInitialRun"]) shouldRunNow = false; + +run(); + + + return Module.ready +} + +); +})(); +export default Module; \ No newline at end of file diff --git a/docs/emglken/hugo-core.wasm b/docs/emglken/hugo-core.wasm new file mode 100755 index 0000000000000000000000000000000000000000..342e884cd8569875fac24acc34d2e8ad720da475 GIT binary patch literal 223411 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 I?jzIw9~)+9ga7~l literal 0 HcmV?d00001 diff --git a/docs/emglken/scare-core.js b/docs/emglken/scare-core.js new file mode 100644 index 0000000..dc5cdf2 --- /dev/null +++ b/docs/emglken/scare-core.js @@ -0,0 +1,3758 @@ + +var Module = (() => { + var _scriptDir = import.meta.url; + + return ( +function(Module = {}) { + +var Module = typeof Module != "undefined" ? Module : {}; + +var readyPromiseResolve, readyPromiseReject; + +Module["ready"] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); + +var moduleOverrides = Object.assign({}, Module); + +var arguments_ = []; + +var thisProgram = "./this.program"; + +var quit_ = (status, toThrow) => { + throw toThrow; +}; + +var ENVIRONMENT_IS_WEB = true; + +var ENVIRONMENT_IS_WORKER = false; + +var scriptDirectory = ""; + +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; +} + +var read_, readAsync, readBinary, setWindowTitle; + +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href; + } else if (typeof document != "undefined" && document.currentScript) { + scriptDirectory = document.currentScript.src; + } + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1); + } else { + scriptDirectory = ""; + } + { + read_ = url => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText; + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = url => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response); + }; + } + readAsync = (url, onload, onerror) => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = () => { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + }; + } + setWindowTitle = title => document.title = title; +} else {} + +var out = Module["print"] || console.log.bind(console); + +var err = Module["printErr"] || console.warn.bind(console); + +Object.assign(Module, moduleOverrides); + +moduleOverrides = null; + +if (Module["arguments"]) arguments_ = Module["arguments"]; + +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; + +if (Module["quit"]) quit_ = Module["quit"]; + +var wasmBinary; + +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; + +var noExitRuntime = Module["noExitRuntime"] || false; + +if (typeof WebAssembly != "object") { + abort("no native wasm support detected"); +} + +var wasmMemory; + +var ABORT = false; + +var EXITSTATUS; + +function assert(condition, text) { + if (!condition) { + abort(text); + } +} + +var UTF8Decoder = new TextDecoder("utf8"); + +function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr))); +} + +function UTF8ToString(ptr, maxBytesToRead) { + if (!ptr) return ""; + var maxPtr = ptr + maxBytesToRead; + for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end; + return UTF8Decoder.decode(HEAPU8.subarray(ptr, end)); +} + +function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } + if (u <= 127) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 192 | u >> 6; + heap[outIdx++] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 224 | u >> 12; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } else { + if (outIdx + 3 >= endIdx) break; + heap[outIdx++] = 240 | u >> 18; + heap[outIdx++] = 128 | u >> 12 & 63; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } + } + heap[outIdx] = 0; + return outIdx - startIdx; +} + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); +} + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var c = str.charCodeAt(i); + if (c <= 127) { + len++; + } else if (c <= 2047) { + len += 2; + } else if (c >= 55296 && c <= 57343) { + len += 4; + ++i; + } else { + len += 3; + } + } + return len; +} + +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateMemoryViews() { + var b = wasmMemory.buffer; + Module["HEAP8"] = HEAP8 = new Int8Array(b); + Module["HEAP16"] = HEAP16 = new Int16Array(b); + Module["HEAP32"] = HEAP32 = new Int32Array(b); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(b); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(b); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(b); + Module["HEAPF32"] = HEAPF32 = new Float32Array(b); + Module["HEAPF64"] = HEAPF64 = new Float64Array(b); +} + +var wasmTable; + +var __ATPRERUN__ = []; + +var __ATINIT__ = []; + +var __ATMAIN__ = []; + +var __ATEXIT__ = []; + +var __ATPOSTRUN__ = []; + +var runtimeInitialized = false; + +var runtimeExited = false; + +var runtimeKeepaliveCounter = 0; + +function keepRuntimeAlive() { + return noExitRuntime || runtimeKeepaliveCounter > 0; +} + +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + FS.ignorePermissions = false; + TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + callRuntimeCallbacks(__ATMAIN__); +} + +function exitRuntime() { + ___funcs_on_exit(); + callRuntimeCallbacks(__ATEXIT__); + FS.quit(); + TTY.shutdown(); + 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 addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +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(); + } + } +} + +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what = "Aborted(" + what + ")"; + err(what); + ABORT = true; + EXITSTATUS = 1; + what += ". Build with -sASSERTIONS for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; +} + +var dataURIPrefix = "data:application/octet-stream;base64,"; + +function isDataURI(filename) { + return filename.startsWith(dataURIPrefix); +} + +var wasmBinaryFile; + +if (Module["locateFile"]) { + wasmBinaryFile = "scare-core.wasm"; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } +} else { + wasmBinaryFile = new URL("scare-core.wasm", import.meta.url).href; +} + +function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; + } catch (err) { + abort(err); + } +} + +function getBinaryPromise(binaryFile) { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch == "function") { + return fetch(binaryFile, { + credentials: "same-origin" + }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + binaryFile + "'"; + } + return response["arrayBuffer"](); + }).catch(function() { + return getBinary(binaryFile); + }); + } + } + return Promise.resolve().then(function() { + return getBinary(binaryFile); + }); +} + +function instantiateArrayBuffer(binaryFile, imports, receiver) { + return getBinaryPromise(binaryFile).then(function(binary) { + return WebAssembly.instantiate(binary, imports); + }).then(function(instance) { + return instance; + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason); + }); +} + +function instantiateAsync(binary, binaryFile, imports, callback) { + if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) && typeof fetch == "function") { + return fetch(binaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, imports); + return result.then(callback, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + return instantiateArrayBuffer(binaryFile, imports, callback); + }); + }); + } else { + return instantiateArrayBuffer(binaryFile, imports, callback); + } +} + +function createWasm() { + var info = { + "a": wasmImports + }; + function receiveInstance(instance, module) { + var exports = instance.exports; + exports = Asyncify.instrumentWasmExports(exports); + Module["asm"] = exports; + wasmMemory = Module["asm"]["E"]; + updateMemoryViews(); + wasmTable = Module["asm"]["N"]; + addOnInit(Module["asm"]["F"]); + removeRunDependency("wasm-instantiate"); + return exports; + } + addRunDependency("wasm-instantiate"); + function receiveInstantiationResult(result) { + receiveInstance(result["instance"]); + } + if (Module["instantiateWasm"]) { + try { + return Module["instantiateWasm"](info, receiveInstance); + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + readyPromiseReject(e); + } + } + instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject); + return {}; +} + +var tempDouble; + +var tempI64; + +function __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) { + return Asyncify.handleAsync(async () => { + if (!Module.emglken_stdin_buffers.length) { + await new Promise(resolve => { + Module.emglken_stdin_ready = resolve; + }); + } + const input = Module.emglken_stdin_buffers.shift(); + const len = Math.min(input.length, maxlen); + if (len == input.length) { + HEAPU8.set(input, buffer); + } else { + HEAPU8.set(input.subarray(0, len), buffer); + Module.emglken_stdin_buffers.unshift(input.subarray(len)); + } + return len; + }); +} + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +} + +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + callbacks.shift()(Module); + } +} + +var PATH = { + isAbs: path => path.charAt(0) === "/", + splitPath: filename => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, + normalizeArray: (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: path => { + var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(p => !!p), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, + dirname: 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: path => { + if (path === "/") return "/"; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1); + }, + join: function() { + var paths = Array.prototype.slice.call(arguments); + return PATH.normalize(paths.join("/")); + }, + join2: (l, r) => { + return PATH.normalize(l + "/" + r); + } +}; + +function getRandomDevice() { + if (typeof crypto == "object" && typeof crypto["getRandomValues"] == "function") { + var randomBuffer = new Uint8Array(1); + return () => { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0]; + }; + } else return () => abort("randomDevice"); +} + +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.isAbs(path); + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(p => !!p), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + }, + relative: (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("/"); + } +}; + +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 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(43); + } + stream.tty = tty; + stream.seekable = false; + }, + close: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, + fsync: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + 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(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + 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(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + 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); + } + }, + fsync: 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); + } + }, + fsync: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + } +}; + +function mmapAlloc(size) { + abort(); +} + +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(63); + } + 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; + parent.timestamp = node.timestamp; + } + return node; + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array(0); + 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); + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); + } + 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[44]; + }, + 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(55); + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now(); + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + }, + unlink: function(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + 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(28); + } + 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) { + if (buffer.buffer === HEAP8.buffer) { + 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 = buffer.slice(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(28); + } + 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, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === HEAP8.buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { + ptr: ptr, + allocated: allocated + }; + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0; + } + } +}; + +function asyncLoad(url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency("al " + url) : ""; + readAsync(url, arrayBuffer => { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, event => { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); +} + +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + lookupPath: (path, opts = {}) => { + path = PATH_FS.resolve(path); + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + opts = Object.assign(defaults, opts); + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32); + } + var parts = path.split("/").filter(p => !!p); + 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 + 1 + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32); + } + } + } + } + return { + path: current_path, + node: current + }; + }, + getPath: 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: (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: node => { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, + hashRemoveNode: 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: (parent, name) => { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, 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: (parent, name, mode, rdev) => { + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; + }, + destroyNode: node => { + FS.hashRemoveNode(node); + }, + isRoot: node => { + return node === node.parent; + }, + isMountpoint: node => { + return !!node.mounted; + }, + isFile: mode => { + return (mode & 61440) === 32768; + }, + isDir: mode => { + return (mode & 61440) === 16384; + }, + isLink: mode => { + return (mode & 61440) === 40960; + }, + isChrdev: mode => { + return (mode & 61440) === 8192; + }, + isBlkdev: mode => { + return (mode & 61440) === 24576; + }, + isFIFO: mode => { + return (mode & 61440) === 4096; + }, + isSocket: mode => { + return (mode & 49152) === 49152; + }, + flagModes: { + "r": 0, + "r+": 2, + "w": 577, + "w+": 578, + "a": 1089, + "a+": 1090 + }, + modeStringToFlags: str => { + var flags = FS.flagModes[str]; + if (typeof flags == "undefined") { + throw new Error("Unknown file open mode: " + str); + } + return flags; + }, + flagsToPermissionString: flag => { + var perms = [ "r", "w", "rw" ][flag & 3]; + if (flag & 512) { + perms += "w"; + } + return perms; + }, + nodePermissions: (node, perms) => { + if (FS.ignorePermissions) { + return 0; + } + if (perms.includes("r") && !(node.mode & 292)) { + return 2; + } else if (perms.includes("w") && !(node.mode & 146)) { + return 2; + } else if (perms.includes("x") && !(node.mode & 73)) { + return 2; + } + return 0; + }, + mayLookup: dir => { + var errCode = FS.nodePermissions(dir, "x"); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + }, + mayCreate: (dir, name) => { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) {} + return FS.nodePermissions(dir, "wx"); + }, + mayDelete: (dir, name, isdir) => { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, "wx"); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + }, + mayOpen: (node, flags) => { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, + MAX_OPEN_FDS: 4096, + nextfd: (fd_start = 0, 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(33); + }, + getStream: fd => FS.streams[fd], + createStream: (stream, fd_start, fd_end) => { + if (!FS.FSStream) { + FS.FSStream = function() { + this.shared = {}; + }; + 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; + } + }, + flags: { + get: function() { + return this.shared.flags; + }, + set: function(val) { + this.shared.flags = val; + } + }, + position: { + get: function() { + return this.shared.position; + }, + set: function(val) { + this.shared.position = val; + } + } + }); + } + stream = Object.assign(new FS.FSStream(), stream); + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, + closeStream: fd => { + FS.streams[fd] = null; + }, + chrdev_stream_ops: { + open: 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: () => { + throw new FS.ErrnoError(70); + } + }, + major: dev => dev >> 8, + minor: dev => dev & 255, + makedev: (ma, mi) => ma << 8 | mi, + registerDevice: (dev, ops) => { + FS.devices[dev] = { + stream_ops: ops + }; + }, + getDevice: dev => FS.devices[dev], + getMounts: 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: (populate, callback) => { + if (typeof populate == "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + err("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(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + } + mounts.forEach(mount => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, + mount: (type, opts, mountpoint) => { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } 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(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + 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: mountpoint => { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(hash => { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + current = next; + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + }, + lookup: (parent, name) => { + return parent.node_ops.lookup(parent, name); + }, + mknod: (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(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, + create: (path, mode) => { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, + mkdir: (path, mode) => { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, + mkdirTree: (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 != 20) throw e; + } + } + }, + mkdev: (path, mode, dev) => { + if (typeof dev == "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink: (oldpath, newpath) => { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename: (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; + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node; + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + 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(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + 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 errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + 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); + } + }, + rmdir: path => { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + }, + readdir: path => { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, + unlink: path => { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + }, + readlink: path => { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + }, + stat: (path, dontFollow) => { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, + lstat: path => { + return FS.stat(path, true); + }, + chmod: (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(63); + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }); + }, + lchmod: (path, mode) => { + FS.chmod(path, mode, true); + }, + fchmod: (fd, mode) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + }, + chown: (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(63); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }); + }, + lchown: (path, uid, gid) => { + FS.chown(path, uid, gid, true); + }, + fchown: (fd, uid, gid) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + }, + truncate: (path, len) => { + if (len < 0) { + throw new FS.ErrnoError(28); + } + 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(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + }, + ftruncate: (fd, len) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, + utime: (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: (path, flags, mode) => { + if (path === "") { + throw new FS.ErrnoError(44); + } + 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(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512 && !created) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }); + 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; + } + } + return stream; + }, + close: stream => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + 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: stream => { + return stream.fd === null; + }, + llseek: (stream, offset, whence) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, + read: (stream, buffer, offset, length, position) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + }, + write: (stream, buffer, offset, length, position, canOwn) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && 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(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + }, + allocate: (stream, offset, length) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, + mmap: (stream, length, position, prot, flags) => { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + }, + msync: (stream, buffer, offset, length, mmapFlags) => { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + }, + munmap: stream => 0, + ioctl: (stream, cmd, arg) => { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile: (path, opts = {}) => { + opts.flags = opts.flags || 0; + 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: (path, data, opts = {}) => { + opts.flags = opts.flags || 577; + 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: () => FS.currentPath, + chdir: path => { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, + createDefaultDirectories: () => { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices: () => { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => 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 = getRandomDevice(); + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); + }, + createSpecialDirectories: () => { + FS.mkdir("/proc"); + var proc_self = FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: () => { + var node = FS.createNode(proc_self, "fd", 16384 | 511, 73); + node.node_ops = { + lookup: (parent, name) => { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: () => stream.path + } + }; + ret.parent = ret; + return ret; + } + }; + return node; + } + }, {}, "/proc/self/fd"); + }, + createStandardStreams: () => { + 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", 0); + var stdout = FS.open("/dev/stdout", 1); + var stderr = FS.open("/dev/stderr", 1); + }, + ensureErrnoError: () => { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.name = "ErrnoError"; + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + }; + this.setErrno(errno); + this.message = "FS error"; + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [ 44 ].forEach(code => { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ""; + }); + }, + staticInit: () => { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS + }; + }, + init: (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: () => { + FS.init.initialized = false; + _fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, + getMode: (canRead, canWrite) => { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + }, + findObject: (path, dontResolveLastLink) => { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + }, + analyzePath: (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; + }, + createPath: (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: (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: (parent, name, data, canRead, canWrite, canOwn) => { + var path = name; + if (parent) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + path = name ? PATH.join2(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, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + }, + createDevice: (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: stream => { + stream.seekable = false; + }, + close: stream => { + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: (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(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: (stream, buffer, offset, length, pos) => { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + }, + forceLoadFile: obj => { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return 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 (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + }, + createLazyFile: (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 = (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); + 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 || []); + } + return intArrayFromString(xhr.responseText || "", true); + }; + var lazyArray = this; + lazyArray.setDataGetter(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; + out("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(key => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + 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; + } + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position); + }; + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, HEAP8, ptr, length, position); + return { + ptr: ptr, + allocated: true + }; + }; + node.stream_ops = stream_ops; + return node; + }, + createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { + 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); + } + if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => { + if (onerror) onerror(); + removeRunDependency(dep); + })) { + return; + } + finish(byteArray); + } + addRunDependency(dep); + if (typeof url == "string") { + asyncLoad(url, byteArray => processData(byteArray), onerror); + } else { + processData(url); + } + }, + indexedDB: () => { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + }, + DB_NAME: () => { + return "EM_FS_" + window.location.pathname; + }, + DB_VERSION: 20, + DB_STORE_NAME: "FILE_DATA", + saveFilesToDB: (paths, onload = (() => {}), onerror = (() => {})) => { + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = () => { + out("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + 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(path => { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = () => { + ok++; + if (ok + fail == total) finish(); + }; + putRequest.onerror = () => { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }, + loadFilesFromDB: (paths, onload = (() => {}), onerror = (() => {})) => { + 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 = () => { + 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(path => { + var getRequest = files.get(path); + 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 = () => { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + } +}; + +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + calculateAt: function(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44); + } + return dir; + } + return PATH.join2(dir, 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 -54; + } + throw e; + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAPU32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + 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; + var atime = stat.atime.getTime(); + var mtime = stat.mtime.getTime(); + var ctime = stat.ctime.getTime(); + tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), + +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 + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1]; + HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3; + tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), + +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 + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1]; + HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3; + tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), + +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 + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1]; + HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3; + 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 + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1]; + return 0; + }, + doMsync: function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + return 0; + } + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + }, + varargs: undefined, + get: function() { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret; + }, + getStr: function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, + getStreamFromFD: function(fd) { + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream; + } +}; + +function ___syscall_faccessat(dirfd, path, amode, flags) { + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + if (amode & ~7) { + return -28; + } + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node) { + return -44; + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2; + } + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function setErrNo(value) { + HEAP32[___errno_location() >> 2] = value; + return value; +} + +function ___syscall_fcntl64(fd, cmd, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: + { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; + } + var newStream; + newStream = FS.createStream(stream, 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 5: + { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0; + } + + case 6: + case 7: + return 0; + + case 16: + case 8: + return -28; + + case 9: + setErrNo(28); + return -1; + + default: + { + return -28; + } + } + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_getcwd(buf, size) { + try { + if (size === 0) return -28; + var cwd = FS.cwd(); + var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1; + if (size < cwdLengthInBytes) return -68; + stringToUTF8(cwd, buf, size); + return cwdLengthInBytes; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: + { + if (!stream.tty) return -59; + return 0; + } + + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: + { + if (!stream.tty) return -59; + return 0; + } + + case 21519: + { + if (!stream.tty) return -59; + var argp = SYSCALLS.get(); + HEAP32[argp >> 2] = 0; + return 0; + } + + case 21520: + { + if (!stream.tty) return -59; + return -28; + } + + case 21531: + { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + + case 21523: + { + if (!stream.tty) return -59; + return 0; + } + + case 21524: + { + if (!stream.tty) return -59; + return 0; + } + + default: + return -28; + } + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_openat(dirfd, path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + var mode = varargs ? SYSCALLS.get() : 0; + return FS.open(path, flags, mode).fd; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_stat64(path, buf) { + try { + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.stat, path, buf); + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +var nowIsMonotonic = true; + +function __emscripten_get_now_is_monotonic() { + return nowIsMonotonic; +} + +function __emscripten_throw_longjmp() { + throw Infinity; +} + +function _abort() { + abort(""); +} + +function _emscripten_date_now() { + return Date.now(); +} + +var _emscripten_get_now; + +_emscripten_get_now = () => performance.now(); + +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); +} + +function getHeapMax() { + return 2147483648; +} + +function emscripten_realloc_buffer(size) { + var b = wasmMemory.buffer; + try { + wasmMemory.grow(size - b.byteLength + 65535 >>> 16); + updateMemoryViews(); + return 1; + } catch (e) {} +} + +function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + return false; + } + let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + .2 / cutDown); + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true; + } + } + return false; +} + +var ENV = {}; + +function getExecutableName() { + return thisProgram || "./this.program"; +} + +function getEnvStrings() { + if (!getEnvStrings.strings) { + var lang = (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + var env = { + "USER": "web_user", + "LOGNAME": "web_user", + "PATH": "/", + "PWD": "/", + "HOME": "/home/web_user", + "LANG": lang, + "_": getExecutableName() + }; + for (var x in ENV) { + if (ENV[x] === undefined) delete env[x]; else env[x] = ENV[x]; + } + var strings = []; + for (var x in env) { + strings.push(x + "=" + env[x]); + } + getEnvStrings.strings = strings; + } + return getEnvStrings.strings; +} + +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 _environ_get(__environ, environ_buf) { + var bufSize = 0; + getEnvStrings().forEach(function(string, i) { + var ptr = environ_buf + bufSize; + HEAPU32[__environ + i * 4 >> 2] = ptr; + writeAsciiToMemory(string, ptr); + bufSize += string.length + 1; + }); + return 0; +} + +function _environ_sizes_get(penviron_count, penviron_buf_size) { + var strings = getEnvStrings(); + HEAPU32[penviron_count >> 2] = strings.length; + var bufSize = 0; + strings.forEach(function(string) { + bufSize += string.length + 1; + }); + HEAPU32[penviron_buf_size >> 2] = bufSize; + return 0; +} + +function _proc_exit(code) { + EXITSTATUS = code; + if (!keepRuntimeAlive()) { + if (Module["onExit"]) Module["onExit"](code); + ABORT = true; + } + quit_(code, new ExitStatus(code)); +} + +function exitJS(status, implicit) { + EXITSTATUS = status; + if (!keepRuntimeAlive()) { + exitRuntime(); + } + _proc_exit(status); +} + +var _exit = exitJS; + +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function doReadv(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[iov >> 2]; + var len = HEAPU32[iov + 4 >> 2]; + iov += 8; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; +} + +function _fd_read(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function convertI32PairToI53Checked(lo, hi) { + return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN; +} + +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var offset = convertI32PairToI53Checked(offset_low, offset_high); + if (isNaN(offset)) return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + 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[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function doWritev(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[iov >> 2]; + var len = HEAPU32[iov + 4 >> 2]; + iov += 8; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; +} + +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + HEAPU32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function handleException(e) { + if (e instanceof ExitStatus || e == "unwind") { + return EXITSTATUS; + } + quit_(1, e); +} + +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +function runAndAbortIfError(func) { + try { + return func(); + } catch (e) { + abort(e); + } +} + +function maybeExit() { + if (!keepRuntimeAlive()) { + try { + _exit(EXITSTATUS); + } catch (e) { + handleException(e); + } + } +} + +function callUserCallback(func) { + if (runtimeExited || ABORT) { + return; + } + try { + func(); + maybeExit(); + } catch (e) { + handleException(e); + } +} + +function runtimeKeepalivePush() { + runtimeKeepaliveCounter += 1; +} + +function runtimeKeepalivePop() { + runtimeKeepaliveCounter -= 1; +} + +var Asyncify = { + instrumentWasmImports: function(imports) { + var ASYNCIFY_IMPORTS = [ "invoke_*", "emscripten_sleep", "emscripten_wget", "emscripten_wget_data", "emscripten_idb_load", "emscripten_idb_store", "emscripten_idb_delete", "emscripten_idb_exists", "emscripten_idb_load_blob", "emscripten_idb_store_blob", "SDL_Delay", "emscripten_scan_registers", "emscripten_lazy_load_code", "emscripten_fiber_swap", "__load_secondary_module", "fd_sync", "__wasi_fd_sync", "_emval_await", "_dlopen_js", "__asyncjs__*" ]; + for (var x in imports) { + (function(x) { + var original = imports[x]; + var sig = original.sig; + if (typeof original == "function") { + var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith("__asyncjs__"); + } + })(x); + } + }, + instrumentWasmExports: function(exports) { + var ret = {}; + for (var x in exports) { + (function(x) { + var original = exports[x]; + if (typeof original == "function") { + ret[x] = function() { + Asyncify.exportCallStack.push(x); + try { + return original.apply(null, arguments); + } finally { + if (!ABORT) { + var y = Asyncify.exportCallStack.pop(); + assert(y === x); + Asyncify.maybeStopUnwind(); + } + } + }; + } else { + ret[x] = original; + } + })(x); + } + return ret; + }, + State: { + Normal: 0, + Unwinding: 1, + Rewinding: 2, + Disabled: 3 + }, + state: 0, + StackSize: 8192, + currData: null, + handleSleepReturnValue: 0, + exportCallStack: [], + callStackNameToId: {}, + callStackIdToName: {}, + callStackId: 0, + asyncPromiseHandlers: null, + sleepCallbacks: [], + getCallStackId: function(funcName) { + var id = Asyncify.callStackNameToId[funcName]; + if (id === undefined) { + id = Asyncify.callStackId++; + Asyncify.callStackNameToId[funcName] = id; + Asyncify.callStackIdToName[id] = funcName; + } + return id; + }, + maybeStopUnwind: function() { + if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) { + Asyncify.state = Asyncify.State.Normal; + runtimeKeepalivePush(); + runAndAbortIfError(_asyncify_stop_unwind); + if (typeof Fibers != "undefined") { + Fibers.trampoline(); + } + } + }, + whenDone: function() { + return new Promise((resolve, reject) => { + Asyncify.asyncPromiseHandlers = { + resolve: resolve, + reject: reject + }; + }); + }, + allocateData: function() { + var ptr = _malloc(12 + Asyncify.StackSize); + Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize); + Asyncify.setDataRewindFunc(ptr); + return ptr; + }, + setDataHeader: function(ptr, stack, stackSize) { + HEAP32[ptr >> 2] = stack; + HEAP32[ptr + 4 >> 2] = stack + stackSize; + }, + setDataRewindFunc: function(ptr) { + var bottomOfCallStack = Asyncify.exportCallStack[0]; + var rewindId = Asyncify.getCallStackId(bottomOfCallStack); + HEAP32[ptr + 8 >> 2] = rewindId; + }, + getDataRewindFunc: function(ptr) { + var id = HEAP32[ptr + 8 >> 2]; + var name = Asyncify.callStackIdToName[id]; + var func = Module["asm"][name]; + return func; + }, + doRewind: function(ptr) { + var start = Asyncify.getDataRewindFunc(ptr); + runtimeKeepalivePop(); + return start(); + }, + handleSleep: function(startAsync) { + if (ABORT) return; + if (Asyncify.state === Asyncify.State.Normal) { + var reachedCallback = false; + var reachedAfterCallback = false; + startAsync((handleSleepReturnValue = 0) => { + if (ABORT) return; + Asyncify.handleSleepReturnValue = handleSleepReturnValue; + reachedCallback = true; + if (!reachedAfterCallback) { + return; + } + Asyncify.state = Asyncify.State.Rewinding; + runAndAbortIfError(() => _asyncify_start_rewind(Asyncify.currData)); + if (typeof Browser != "undefined" && Browser.mainLoop.func) { + Browser.mainLoop.resume(); + } + var asyncWasmReturnValue, isError = false; + try { + asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData); + } catch (err) { + asyncWasmReturnValue = err; + isError = true; + } + var handled = false; + if (!Asyncify.currData) { + var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers; + if (asyncPromiseHandlers) { + Asyncify.asyncPromiseHandlers = null; + (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue); + handled = true; + } + } + if (isError && !handled) { + throw asyncWasmReturnValue; + } + }); + reachedAfterCallback = true; + if (!reachedCallback) { + Asyncify.state = Asyncify.State.Unwinding; + Asyncify.currData = Asyncify.allocateData(); + if (typeof Browser != "undefined" && Browser.mainLoop.func) { + Browser.mainLoop.pause(); + } + runAndAbortIfError(() => _asyncify_start_unwind(Asyncify.currData)); + } + } else if (Asyncify.state === Asyncify.State.Rewinding) { + Asyncify.state = Asyncify.State.Normal; + runAndAbortIfError(_asyncify_stop_rewind); + _free(Asyncify.currData); + Asyncify.currData = null; + Asyncify.sleepCallbacks.forEach(func => callUserCallback(func)); + } else { + abort("invalid state: " + Asyncify.state); + } + return Asyncify.handleSleepReturnValue; + }, + handleAsync: function(startAsync) { + return Asyncify.handleSleep(wakeUp => { + startAsync().then(wakeUp); + }); + } +}; + +function AsciiToString(ptr) { + var str = ""; + while (1) { + var ch = HEAPU8[ptr++ >> 0]; + if (!ch) return str; + str += String.fromCharCode(ch); + } +} + +var 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; +}; + +var readMode = 292 | 73; + +var writeMode = 146; + +Object.defineProperties(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); + } + } +}); + +FS.FSNode = FSNode; + +FS.staticInit(); + +var wasmImports = { + "s": __asyncjs__emglken_fill_stdin_buffer, + "D": ___syscall_faccessat, + "n": ___syscall_fcntl64, + "C": ___syscall_getcwd, + "B": ___syscall_ioctl, + "A": ___syscall_openat, + "z": ___syscall_stat64, + "v": __emscripten_get_now_is_monotonic, + "u": __emscripten_throw_longjmp, + "t": _abort, + "k": _emscripten_date_now, + "r": _emscripten_memcpy_big, + "q": _emscripten_resize_heap, + "y": _environ_get, + "x": _environ_sizes_get, + "i": _exit, + "m": _fd_close, + "w": _fd_read, + "p": _fd_seek, + "l": _fd_write, + "c": invoke_i, + "g": invoke_ii, + "f": invoke_iiii, + "d": invoke_iiiii, + "o": invoke_ji, + "j": invoke_v, + "b": invoke_vi, + "a": invoke_vii, + "h": invoke_viii, + "e": invoke_viiii +}; + +var asm = createWasm(); + +var ___wasm_call_ctors = function() { + return (___wasm_call_ctors = Module["asm"]["F"]).apply(null, arguments); +}; + +var _free = function() { + return (_free = Module["asm"]["G"]).apply(null, arguments); +}; + +var _malloc = function() { + return (_malloc = Module["asm"]["H"]).apply(null, arguments); +}; + +var _main = Module["_main"] = function() { + return (_main = Module["_main"] = Module["asm"]["I"]).apply(null, arguments); +}; + +var _gidispatch_get_game_id = Module["_gidispatch_get_game_id"] = function() { + return (_gidispatch_get_game_id = Module["_gidispatch_get_game_id"] = Module["asm"]["J"]).apply(null, arguments); +}; + +var _fflush = Module["_fflush"] = function() { + return (_fflush = Module["_fflush"] = Module["asm"]["K"]).apply(null, arguments); +}; + +var ___errno_location = function() { + return (___errno_location = Module["asm"]["L"]).apply(null, arguments); +}; + +var ___funcs_on_exit = function() { + return (___funcs_on_exit = Module["asm"]["M"]).apply(null, arguments); +}; + +var _setThrew = function() { + return (_setThrew = Module["asm"]["O"]).apply(null, arguments); +}; + +var _saveSetjmp = function() { + return (_saveSetjmp = Module["asm"]["saveSetjmp"]).apply(null, arguments); +}; + +var _emscripten_stack_set_limits = function() { + return (_emscripten_stack_set_limits = Module["asm"]["emscripten_stack_set_limits"]).apply(null, arguments); +}; + +var _emscripten_stack_get_base = function() { + return (_emscripten_stack_get_base = Module["asm"]["emscripten_stack_get_base"]).apply(null, arguments); +}; + +var _emscripten_stack_get_end = function() { + return (_emscripten_stack_get_end = Module["asm"]["emscripten_stack_get_end"]).apply(null, arguments); +}; + +var stackSave = function() { + return (stackSave = Module["asm"]["P"]).apply(null, arguments); +}; + +var stackRestore = function() { + return (stackRestore = Module["asm"]["Q"]).apply(null, arguments); +}; + +var stackAlloc = function() { + return (stackAlloc = Module["asm"]["R"]).apply(null, arguments); +}; + +var dynCall_vi = Module["dynCall_vi"] = function() { + return (dynCall_vi = Module["dynCall_vi"] = Module["asm"]["S"]).apply(null, arguments); +}; + +var dynCall_iiii = Module["dynCall_iiii"] = function() { + return (dynCall_iiii = Module["dynCall_iiii"] = Module["asm"]["T"]).apply(null, arguments); +}; + +var dynCall_ii = Module["dynCall_ii"] = function() { + return (dynCall_ii = Module["dynCall_ii"] = Module["asm"]["U"]).apply(null, arguments); +}; + +var dynCall_vii = Module["dynCall_vii"] = function() { + return (dynCall_vii = Module["dynCall_vii"] = Module["asm"]["V"]).apply(null, arguments); +}; + +var dynCall_i = Module["dynCall_i"] = function() { + return (dynCall_i = Module["dynCall_i"] = Module["asm"]["W"]).apply(null, arguments); +}; + +var dynCall_v = Module["dynCall_v"] = function() { + return (dynCall_v = Module["dynCall_v"] = Module["asm"]["X"]).apply(null, arguments); +}; + +var dynCall_iiiii = Module["dynCall_iiiii"] = function() { + return (dynCall_iiiii = Module["dynCall_iiiii"] = Module["asm"]["Y"]).apply(null, arguments); +}; + +var dynCall_viii = Module["dynCall_viii"] = function() { + return (dynCall_viii = Module["dynCall_viii"] = Module["asm"]["Z"]).apply(null, arguments); +}; + +var dynCall_viiii = Module["dynCall_viiii"] = function() { + return (dynCall_viiii = Module["dynCall_viiii"] = Module["asm"]["_"]).apply(null, arguments); +}; + +var dynCall_ji = Module["dynCall_ji"] = function() { + return (dynCall_ji = Module["dynCall_ji"] = Module["asm"]["$"]).apply(null, arguments); +}; + +var _asyncify_start_unwind = function() { + return (_asyncify_start_unwind = Module["asm"]["aa"]).apply(null, arguments); +}; + +var _asyncify_stop_unwind = function() { + return (_asyncify_stop_unwind = Module["asm"]["ba"]).apply(null, arguments); +}; + +var _asyncify_start_rewind = function() { + return (_asyncify_start_rewind = Module["asm"]["ca"]).apply(null, arguments); +}; + +var _asyncify_stop_rewind = function() { + return (_asyncify_stop_rewind = Module["asm"]["da"]).apply(null, arguments); +}; + +var ___start_em_js = Module["___start_em_js"] = 107504; + +var ___stop_em_js = Module["___stop_em_js"] = 110189; + +function invoke_ii(index, a1) { + var sp = stackSave(); + try { + return dynCall_ii(index, a1); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_vii(index, a1, a2) { + var sp = stackSave(); + try { + dynCall_vii(index, a1, a2); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_i(index) { + var sp = stackSave(); + try { + return dynCall_i(index); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_v(index) { + var sp = stackSave(); + try { + dynCall_v(index); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_vi(index, a1) { + var sp = stackSave(); + try { + dynCall_vi(index, a1); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiii(index, a1, a2, a3, a4) { + var sp = stackSave(); + try { + return dynCall_iiiii(index, a1, a2, a3, a4); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viii(index, a1, a2, a3) { + var sp = stackSave(); + try { + dynCall_viii(index, a1, a2, a3); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiii(index, a1, a2, a3) { + var sp = stackSave(); + try { + return dynCall_iiii(index, a1, a2, a3); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viiii(index, a1, a2, a3, a4) { + var sp = stackSave(); + try { + dynCall_viiii(index, a1, a2, a3, a4); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_ji(index, a1) { + var sp = stackSave(); + try { + return dynCall_ji(index, a1); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +Module["AsciiToString"] = AsciiToString; + +Module["FS"] = FS; + +var calledRun; + +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; +}; + +function callMain(args = []) { + var entryFunction = _main; + args.unshift(thisProgram); + var argc = args.length; + var argv = stackAlloc((argc + 1) * 4); + var argv_ptr = argv >> 2; + args.forEach(arg => { + HEAP32[argv_ptr++] = allocateUTF8OnStack(arg); + }); + HEAP32[argv_ptr] = 0; + try { + var ret = entryFunction(argc, argv); + exitJS(ret, true); + return ret; + } catch (e) { + return handleException(e); + } +} + +function run(args = arguments_) { + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) return; + initRuntime(); + preMain(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + if (shouldRunNow) callMain(args); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } +} + +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } +} + +var shouldRunNow = true; + +if (Module["noInitialRun"]) shouldRunNow = false; + +run(); + + + return Module.ready +} + +); +})(); +export default Module; \ No newline at end of file diff --git a/docs/emglken/scare-core.wasm b/docs/emglken/scare-core.wasm new file mode 100755 index 0000000000000000000000000000000000000000..0f350f37aae127fa84fe2c6245726f4fff02e439 GIT binary patch literal 989661 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�H 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 { + var _scriptDir = import.meta.url; + + return ( +function(Module = {}) { + +var Module = typeof Module != "undefined" ? Module : {}; + +var readyPromiseResolve, readyPromiseReject; + +Module["ready"] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); + +var moduleOverrides = Object.assign({}, Module); + +var arguments_ = []; + +var thisProgram = "./this.program"; + +var quit_ = (status, toThrow) => { + throw toThrow; +}; + +var ENVIRONMENT_IS_WEB = true; + +var ENVIRONMENT_IS_WORKER = false; + +var scriptDirectory = ""; + +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; +} + +var read_, readAsync, readBinary, setWindowTitle; + +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = self.location.href; + } else if (typeof document != "undefined" && document.currentScript) { + scriptDirectory = document.currentScript.src; + } + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + if (scriptDirectory.indexOf("blob:") !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1); + } else { + scriptDirectory = ""; + } + { + read_ = url => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.send(null); + return xhr.responseText; + }; + if (ENVIRONMENT_IS_WORKER) { + readBinary = url => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + xhr.responseType = "arraybuffer"; + xhr.send(null); + return new Uint8Array(xhr.response); + }; + } + readAsync = (url, onload, onerror) => { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, true); + xhr.responseType = "arraybuffer"; + xhr.onload = () => { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + }; + } + setWindowTitle = title => document.title = title; +} else {} + +var out = Module["print"] || console.log.bind(console); + +var err = Module["printErr"] || console.warn.bind(console); + +Object.assign(Module, moduleOverrides); + +moduleOverrides = null; + +if (Module["arguments"]) arguments_ = Module["arguments"]; + +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; + +if (Module["quit"]) quit_ = Module["quit"]; + +var wasmBinary; + +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; + +var noExitRuntime = Module["noExitRuntime"] || false; + +if (typeof WebAssembly != "object") { + abort("no native wasm support detected"); +} + +var wasmMemory; + +var ABORT = false; + +var EXITSTATUS; + +function assert(condition, text) { + if (!condition) { + abort(text); + } +} + +var UTF8Decoder = new TextDecoder("utf8"); + +function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr))); +} + +function UTF8ToString(ptr, maxBytesToRead) { + if (!ptr) return ""; + var maxPtr = ptr + maxBytesToRead; + for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end; + return UTF8Decoder.decode(HEAPU8.subarray(ptr, end)); +} + +function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } + if (u <= 127) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 192 | u >> 6; + heap[outIdx++] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 224 | u >> 12; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } else { + if (outIdx + 3 >= endIdx) break; + heap[outIdx++] = 240 | u >> 18; + heap[outIdx++] = 128 | u >> 12 & 63; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } + } + heap[outIdx] = 0; + return outIdx - startIdx; +} + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); +} + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var c = str.charCodeAt(i); + if (c <= 127) { + len++; + } else if (c <= 2047) { + len += 2; + } else if (c >= 55296 && c <= 57343) { + len += 4; + ++i; + } else { + len += 3; + } + } + return len; +} + +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateMemoryViews() { + var b = wasmMemory.buffer; + Module["HEAP8"] = HEAP8 = new Int8Array(b); + Module["HEAP16"] = HEAP16 = new Int16Array(b); + Module["HEAP32"] = HEAP32 = new Int32Array(b); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(b); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(b); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(b); + Module["HEAPF32"] = HEAPF32 = new Float32Array(b); + Module["HEAPF64"] = HEAPF64 = new Float64Array(b); +} + +var wasmTable; + +var __ATPRERUN__ = []; + +var __ATINIT__ = []; + +var __ATMAIN__ = []; + +var __ATEXIT__ = []; + +var __ATPOSTRUN__ = []; + +var runtimeInitialized = false; + +var runtimeExited = false; + +var runtimeKeepaliveCounter = 0; + +function keepRuntimeAlive() { + return noExitRuntime || runtimeKeepaliveCounter > 0; +} + +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + FS.ignorePermissions = false; + TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + callRuntimeCallbacks(__ATMAIN__); +} + +function exitRuntime() { + ___funcs_on_exit(); + callRuntimeCallbacks(__ATEXIT__); + FS.quit(); + TTY.shutdown(); + 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 addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +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(); + } + } +} + +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what = "Aborted(" + what + ")"; + err(what); + ABORT = true; + EXITSTATUS = 1; + what += ". Build with -sASSERTIONS for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; +} + +var dataURIPrefix = "data:application/octet-stream;base64,"; + +function isDataURI(filename) { + return filename.startsWith(dataURIPrefix); +} + +var wasmBinaryFile; + +if (Module["locateFile"]) { + wasmBinaryFile = "tads-core.wasm"; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } +} else { + wasmBinaryFile = new URL("tads-core.wasm", import.meta.url).href; +} + +function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; + } catch (err) { + abort(err); + } +} + +function getBinaryPromise(binaryFile) { + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch == "function") { + return fetch(binaryFile, { + credentials: "same-origin" + }).then(function(response) { + if (!response["ok"]) { + throw "failed to load wasm binary file at '" + binaryFile + "'"; + } + return response["arrayBuffer"](); + }).catch(function() { + return getBinary(binaryFile); + }); + } + } + return Promise.resolve().then(function() { + return getBinary(binaryFile); + }); +} + +function instantiateArrayBuffer(binaryFile, imports, receiver) { + return getBinaryPromise(binaryFile).then(function(binary) { + return WebAssembly.instantiate(binary, imports); + }).then(function(instance) { + return instance; + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason); + }); +} + +function instantiateAsync(binary, binaryFile, imports, callback) { + if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) && typeof fetch == "function") { + return fetch(binaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, imports); + return result.then(callback, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + return instantiateArrayBuffer(binaryFile, imports, callback); + }); + }); + } else { + return instantiateArrayBuffer(binaryFile, imports, callback); + } +} + +function createWasm() { + var info = { + "a": wasmImports + }; + function receiveInstance(instance, module) { + var exports = instance.exports; + exports = Asyncify.instrumentWasmExports(exports); + Module["asm"] = exports; + wasmMemory = Module["asm"]["ha"]; + updateMemoryViews(); + wasmTable = Module["asm"]["qa"]; + addOnInit(Module["asm"]["ia"]); + removeRunDependency("wasm-instantiate"); + return exports; + } + addRunDependency("wasm-instantiate"); + function receiveInstantiationResult(result) { + receiveInstance(result["instance"]); + } + if (Module["instantiateWasm"]) { + try { + return Module["instantiateWasm"](info, receiveInstance); + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + readyPromiseReject(e); + } + } + instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject); + return {}; +} + +var tempDouble; + +var tempI64; + +function __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) { + return Asyncify.handleAsync(async () => { + if (!Module.emglken_stdin_buffers.length) { + await new Promise(resolve => { + Module.emglken_stdin_ready = resolve; + }); + } + const input = Module.emglken_stdin_buffers.shift(); + const len = Math.min(input.length, maxlen); + if (len == input.length) { + HEAPU8.set(input, buffer); + } else { + HEAPU8.set(input.subarray(0, len), buffer); + Module.emglken_stdin_buffers.unshift(input.subarray(len)); + } + return len; + }); +} + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +} + +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + callbacks.shift()(Module); + } +} + +var PATH = { + isAbs: path => path.charAt(0) === "/", + splitPath: filename => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, + normalizeArray: (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: path => { + var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray(path.split("/").filter(p => !!p), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, + dirname: 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: path => { + if (path === "/") return "/"; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1); + }, + join: function() { + var paths = Array.prototype.slice.call(arguments); + return PATH.normalize(paths.join("/")); + }, + join2: (l, r) => { + return PATH.normalize(l + "/" + r); + } +}; + +function getRandomDevice() { + if (typeof crypto == "object" && typeof crypto["getRandomValues"] == "function") { + var randomBuffer = new Uint8Array(1); + return () => { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0]; + }; + } else return () => abort("randomDevice"); +} + +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.isAbs(path); + } + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(p => !!p), !resolvedAbsolute).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + }, + relative: (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("/"); + } +}; + +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 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(43); + } + stream.tty = tty; + stream.seekable = false; + }, + close: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, + fsync: function(stream) { + stream.tty.ops.fsync(stream.tty); + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + 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(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + 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(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + 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); + } + }, + fsync: 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); + } + }, + fsync: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + } +}; + +function mmapAlloc(size) { + abort(); +} + +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(63); + } + 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; + parent.timestamp = node.timestamp; + } + return node; + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array(0); + 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); + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); + } + 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[44]; + }, + 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(55); + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now(); + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + }, + unlink: function(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + 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(28); + } + 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) { + if (buffer.buffer === HEAP8.buffer) { + 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 = buffer.slice(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(28); + } + 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, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === HEAP8.buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { + ptr: ptr, + allocated: allocated + }; + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + return 0; + } + } +}; + +function asyncLoad(url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency("al " + url) : ""; + readAsync(url, arrayBuffer => { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, event => { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); +} + +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + lookupPath: (path, opts = {}) => { + path = PATH_FS.resolve(path); + if (!path) return { + path: "", + node: null + }; + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + opts = Object.assign(defaults, opts); + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32); + } + var parts = path.split("/").filter(p => !!p); + 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 + 1 + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32); + } + } + } + } + return { + path: current_path, + node: current + }; + }, + getPath: 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: (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: node => { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, + hashRemoveNode: 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: (parent, name) => { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, 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: (parent, name, mode, rdev) => { + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; + }, + destroyNode: node => { + FS.hashRemoveNode(node); + }, + isRoot: node => { + return node === node.parent; + }, + isMountpoint: node => { + return !!node.mounted; + }, + isFile: mode => { + return (mode & 61440) === 32768; + }, + isDir: mode => { + return (mode & 61440) === 16384; + }, + isLink: mode => { + return (mode & 61440) === 40960; + }, + isChrdev: mode => { + return (mode & 61440) === 8192; + }, + isBlkdev: mode => { + return (mode & 61440) === 24576; + }, + isFIFO: mode => { + return (mode & 61440) === 4096; + }, + isSocket: mode => { + return (mode & 49152) === 49152; + }, + flagModes: { + "r": 0, + "r+": 2, + "w": 577, + "w+": 578, + "a": 1089, + "a+": 1090 + }, + modeStringToFlags: str => { + var flags = FS.flagModes[str]; + if (typeof flags == "undefined") { + throw new Error("Unknown file open mode: " + str); + } + return flags; + }, + flagsToPermissionString: flag => { + var perms = [ "r", "w", "rw" ][flag & 3]; + if (flag & 512) { + perms += "w"; + } + return perms; + }, + nodePermissions: (node, perms) => { + if (FS.ignorePermissions) { + return 0; + } + if (perms.includes("r") && !(node.mode & 292)) { + return 2; + } else if (perms.includes("w") && !(node.mode & 146)) { + return 2; + } else if (perms.includes("x") && !(node.mode & 73)) { + return 2; + } + return 0; + }, + mayLookup: dir => { + var errCode = FS.nodePermissions(dir, "x"); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + }, + mayCreate: (dir, name) => { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) {} + return FS.nodePermissions(dir, "wx"); + }, + mayDelete: (dir, name, isdir) => { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, "wx"); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + }, + mayOpen: (node, flags) => { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, + MAX_OPEN_FDS: 4096, + nextfd: (fd_start = 0, 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(33); + }, + getStream: fd => FS.streams[fd], + createStream: (stream, fd_start, fd_end) => { + if (!FS.FSStream) { + FS.FSStream = function() { + this.shared = {}; + }; + 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; + } + }, + flags: { + get: function() { + return this.shared.flags; + }, + set: function(val) { + this.shared.flags = val; + } + }, + position: { + get: function() { + return this.shared.position; + }, + set: function(val) { + this.shared.position = val; + } + } + }); + } + stream = Object.assign(new FS.FSStream(), stream); + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, + closeStream: fd => { + FS.streams[fd] = null; + }, + chrdev_stream_ops: { + open: 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: () => { + throw new FS.ErrnoError(70); + } + }, + major: dev => dev >> 8, + minor: dev => dev & 255, + makedev: (ma, mi) => ma << 8 | mi, + registerDevice: (dev, ops) => { + FS.devices[dev] = { + stream_ops: ops + }; + }, + getDevice: dev => FS.devices[dev], + getMounts: 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: (populate, callback) => { + if (typeof populate == "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + err("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(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + } + mounts.forEach(mount => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, + mount: (type, opts, mountpoint) => { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } 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(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + 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: mountpoint => { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(hash => { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + current = next; + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + }, + lookup: (parent, name) => { + return parent.node_ops.lookup(parent, name); + }, + mknod: (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(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, + create: (path, mode) => { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, + mkdir: (path, mode) => { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, + mkdirTree: (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 != 20) throw e; + } + } + }, + mkdev: (path, mode, dev) => { + if (typeof dev == "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink: (oldpath, newpath) => { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename: (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; + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node; + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + 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(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + 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 errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + 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); + } + }, + rmdir: path => { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + }, + readdir: path => { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, + unlink: path => { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + }, + readlink: path => { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + }, + stat: (path, dontFollow) => { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, + lstat: path => { + return FS.stat(path, true); + }, + chmod: (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(63); + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }); + }, + lchmod: (path, mode) => { + FS.chmod(path, mode, true); + }, + fchmod: (fd, mode) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + }, + chown: (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(63); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + }); + }, + lchown: (path, uid, gid) => { + FS.chown(path, uid, gid, true); + }, + fchown: (fd, uid, gid) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + }, + truncate: (path, len) => { + if (len < 0) { + throw new FS.ErrnoError(28); + } + 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(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + }, + ftruncate: (fd, len) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, + utime: (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: (path, flags, mode) => { + if (path === "") { + throw new FS.ErrnoError(44); + } + 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(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512 && !created) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }); + 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; + } + } + return stream; + }, + close: stream => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + 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: stream => { + return stream.fd === null; + }, + llseek: (stream, offset, whence) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, + read: (stream, buffer, offset, length, position) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + }, + write: (stream, buffer, offset, length, position, canOwn) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && 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(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + }, + allocate: (stream, offset, length) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, + mmap: (stream, length, position, prot, flags) => { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + }, + msync: (stream, buffer, offset, length, mmapFlags) => { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + }, + munmap: stream => 0, + ioctl: (stream, cmd, arg) => { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile: (path, opts = {}) => { + opts.flags = opts.flags || 0; + 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: (path, data, opts = {}) => { + opts.flags = opts.flags || 577; + 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: () => FS.currentPath, + chdir: path => { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, + createDefaultDirectories: () => { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices: () => { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => 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 = getRandomDevice(); + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); + }, + createSpecialDirectories: () => { + FS.mkdir("/proc"); + var proc_self = FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount: () => { + var node = FS.createNode(proc_self, "fd", 16384 | 511, 73); + node.node_ops = { + lookup: (parent, name) => { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: () => stream.path + } + }; + ret.parent = ret; + return ret; + } + }; + return node; + } + }, {}, "/proc/self/fd"); + }, + createStandardStreams: () => { + 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", 0); + var stdout = FS.open("/dev/stdout", 1); + var stderr = FS.open("/dev/stderr", 1); + }, + ensureErrnoError: () => { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.name = "ErrnoError"; + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + }; + this.setErrno(errno); + this.message = "FS error"; + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [ 44 ].forEach(code => { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ""; + }); + }, + staticInit: () => { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS + }; + }, + init: (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: () => { + FS.init.initialized = false; + _fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, + getMode: (canRead, canWrite) => { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + }, + findObject: (path, dontResolveLastLink) => { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + }, + analyzePath: (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; + }, + createPath: (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: (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: (parent, name, data, canRead, canWrite, canOwn) => { + var path = name; + if (parent) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + path = name ? PATH.join2(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, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + }, + createDevice: (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: stream => { + stream.seekable = false; + }, + close: stream => { + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: (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(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: (stream, buffer, offset, length, pos) => { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + }, + forceLoadFile: obj => { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return 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 (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + }, + createLazyFile: (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 = (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); + 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 || []); + } + return intArrayFromString(xhr.responseText || "", true); + }; + var lazyArray = this; + lazyArray.setDataGetter(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; + out("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(key => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + 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; + } + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position); + }; + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, HEAP8, ptr, length, position); + return { + ptr: ptr, + allocated: true + }; + }; + node.stream_ops = stream_ops; + return node; + }, + createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { + 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); + } + if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => { + if (onerror) onerror(); + removeRunDependency(dep); + })) { + return; + } + finish(byteArray); + } + addRunDependency(dep); + if (typeof url == "string") { + asyncLoad(url, byteArray => processData(byteArray), onerror); + } else { + processData(url); + } + }, + indexedDB: () => { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + }, + DB_NAME: () => { + return "EM_FS_" + window.location.pathname; + }, + DB_VERSION: 20, + DB_STORE_NAME: "FILE_DATA", + saveFilesToDB: (paths, onload = (() => {}), onerror = (() => {})) => { + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = () => { + out("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + 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(path => { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = () => { + ok++; + if (ok + fail == total) finish(); + }; + putRequest.onerror = () => { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }, + loadFilesFromDB: (paths, onload = (() => {}), onerror = (() => {})) => { + 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 = () => { + 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(path => { + var getRequest = files.get(path); + 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 = () => { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + } +}; + +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + calculateAt: function(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44); + } + return dir; + } + return PATH.join2(dir, 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 -54; + } + throw e; + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAPU32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + 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; + var atime = stat.atime.getTime(); + var mtime = stat.mtime.getTime(); + var ctime = stat.ctime.getTime(); + tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), + +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 + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1]; + HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3; + tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), + +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 + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1]; + HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3; + tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), + +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 + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1]; + HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3; + 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 + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1]; + return 0; + }, + doMsync: function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + return 0; + } + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + }, + varargs: undefined, + get: function() { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret; + }, + getStr: function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, + getStreamFromFD: function(fd) { + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream; + } +}; + +function ___syscall_dup(fd) { + try { + var old = SYSCALLS.getStreamFromFD(fd); + return FS.createStream(old, 0).fd; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_faccessat(dirfd, path, amode, flags) { + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + if (amode & ~7) { + return -28; + } + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node) { + return -44; + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2; + } + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function setErrNo(value) { + HEAP32[___errno_location() >> 2] = value; + return value; +} + +function ___syscall_fcntl64(fd, cmd, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: + { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; + } + var newStream; + newStream = FS.createStream(stream, 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 5: + { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0; + } + + case 6: + case 7: + return 0; + + case 16: + case 8: + return -28; + + case 9: + setErrNo(28); + return -1; + + default: + { + return -28; + } + } + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_getcwd(buf, size) { + try { + if (size === 0) return -28; + var cwd = FS.cwd(); + var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1; + if (size < cwdLengthInBytes) return -68; + stringToUTF8(cwd, buf, size); + return cwdLengthInBytes; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_getdents64(fd, dirp, count) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + if (!stream.getdents) { + stream.getdents = FS.readdir(stream.path); + } + var struct_size = 280; + var pos = 0; + var off = FS.llseek(stream, 0, 1); + var idx = Math.floor(off / struct_size); + while (idx < stream.getdents.length && pos + struct_size <= count) { + var id; + var type; + var name = stream.getdents[idx]; + if (name === ".") { + id = stream.node.id; + type = 4; + } else if (name === "..") { + var lookup = FS.lookupPath(stream.path, { + parent: true + }); + id = lookup.node.id; + type = 4; + } else { + var child = FS.lookupNode(stream.node, name); + id = child.id; + type = FS.isChrdev(child.mode) ? 2 : FS.isDir(child.mode) ? 4 : FS.isLink(child.mode) ? 10 : 8; + } + tempI64 = [ id >>> 0, (tempDouble = id, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], + HEAP32[dirp + pos >> 2] = tempI64[0], HEAP32[dirp + pos + 4 >> 2] = tempI64[1]; + tempI64 = [ (idx + 1) * struct_size >>> 0, (tempDouble = (idx + 1) * struct_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[dirp + pos + 8 >> 2] = tempI64[0], HEAP32[dirp + pos + 12 >> 2] = tempI64[1]; + HEAP16[dirp + pos + 16 >> 1] = 280; + HEAP8[dirp + pos + 18 >> 0] = type; + stringToUTF8(name, dirp + pos + 19, 256); + pos += struct_size; + idx += 1; + } + FS.llseek(stream, idx * struct_size, 0); + return pos; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: + { + if (!stream.tty) return -59; + return 0; + } + + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: + { + if (!stream.tty) return -59; + return 0; + } + + case 21519: + { + if (!stream.tty) return -59; + var argp = SYSCALLS.get(); + HEAP32[argp >> 2] = 0; + return 0; + } + + case 21520: + { + if (!stream.tty) return -59; + return -28; + } + + case 21531: + { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + + case 21523: + { + if (!stream.tty) return -59; + return 0; + } + + case 21524: + { + if (!stream.tty) return -59; + return 0; + } + + default: + return -28; + } + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_lstat64(path, buf) { + try { + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.lstat, path, buf); + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_mkdirat(dirfd, path, mode) { + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + path = PATH.normalize(path); + if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_newfstatat(dirfd, path, buf, flags) { + try { + path = SYSCALLS.getStr(path); + var nofollow = flags & 256; + var allowEmpty = flags & 4096; + flags = flags & ~6400; + path = SYSCALLS.calculateAt(dirfd, path, allowEmpty); + return SYSCALLS.doStat(nofollow ? FS.lstat : FS.stat, path, buf); + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_openat(dirfd, path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + var mode = varargs ? SYSCALLS.get() : 0; + return FS.open(path, flags, mode).fd; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_readlinkat(dirfd, path, buf, bufsize) { + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + if (bufsize <= 0) return -28; + 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; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_renameat(olddirfd, oldpath, newdirfd, newpath) { + try { + oldpath = SYSCALLS.getStr(oldpath); + newpath = SYSCALLS.getStr(newpath); + oldpath = SYSCALLS.calculateAt(olddirfd, oldpath); + newpath = SYSCALLS.calculateAt(newdirfd, newpath); + FS.rename(oldpath, newpath); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_rmdir(path) { + try { + path = SYSCALLS.getStr(path); + FS.rmdir(path); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_stat64(path, buf) { + try { + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.stat, path, buf); + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_unlinkat(dirfd, path, flags) { + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + if (flags === 0) { + FS.unlink(path); + } else if (flags === 512) { + FS.rmdir(path); + } else { + abort("Invalid flags passed to unlinkat"); + } + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +var nowIsMonotonic = true; + +function __emscripten_get_now_is_monotonic() { + return nowIsMonotonic; +} + +function __emscripten_throw_longjmp() { + throw Infinity; +} + +function readI53FromI64(ptr) { + return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296; +} + +function __gmtime_js(time, tmPtr) { + var date = new Date(readI53FromI64(time) * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); + HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); + HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; + 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; +} + +function __isLeapYear(year) { + return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); +} + +var __MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ]; + +var __MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ]; + +function __yday_from_date(date) { + var isLeapYear = __isLeapYear(date.getFullYear()); + var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE; + var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; + return yday; +} + +function __localtime_js(time, tmPtr) { + var date = new Date(readI53FromI64(time) * 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 yday = __yday_from_date(date) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); + var start = new Date(date.getFullYear(), 0, 1); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[tmPtr + 32 >> 2] = dst; +} + +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +function __tzset_js(timezone, daylight, tzname) { + var currentYear = new Date().getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + var winterOffset = winter.getTimezoneOffset(); + var summerOffset = summer.getTimezoneOffset(); + var stdTimezoneOffset = Math.max(winterOffset, summerOffset); + HEAPU32[timezone >> 2] = stdTimezoneOffset * 60; + HEAP32[daylight >> 2] = Number(winterOffset != summerOffset); + 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 = allocateUTF8(winterName); + var summerNamePtr = allocateUTF8(summerName); + if (summerOffset < winterOffset) { + HEAPU32[tzname >> 2] = winterNamePtr; + HEAPU32[tzname + 4 >> 2] = summerNamePtr; + } else { + HEAPU32[tzname >> 2] = summerNamePtr; + HEAPU32[tzname + 4 >> 2] = winterNamePtr; + } +} + +function _abort() { + abort(""); +} + +function _emscripten_date_now() { + return Date.now(); +} + +var _emscripten_get_now; + +_emscripten_get_now = () => performance.now(); + +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); +} + +function getHeapMax() { + return 2147483648; +} + +function emscripten_realloc_buffer(size) { + var b = wasmMemory.buffer; + try { + wasmMemory.grow(size - b.byteLength + 65535 >>> 16); + updateMemoryViews(); + return 1; + } catch (e) {} +} + +function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + return false; + } + let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + .2 / cutDown); + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true; + } + } + return false; +} + +var ENV = {}; + +function getExecutableName() { + return thisProgram || "./this.program"; +} + +function getEnvStrings() { + if (!getEnvStrings.strings) { + var lang = (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8"; + var env = { + "USER": "web_user", + "LOGNAME": "web_user", + "PATH": "/", + "PWD": "/", + "HOME": "/home/web_user", + "LANG": lang, + "_": getExecutableName() + }; + for (var x in ENV) { + if (ENV[x] === undefined) delete env[x]; else env[x] = ENV[x]; + } + var strings = []; + for (var x in env) { + strings.push(x + "=" + env[x]); + } + getEnvStrings.strings = strings; + } + return getEnvStrings.strings; +} + +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 _environ_get(__environ, environ_buf) { + var bufSize = 0; + getEnvStrings().forEach(function(string, i) { + var ptr = environ_buf + bufSize; + HEAPU32[__environ + i * 4 >> 2] = ptr; + writeAsciiToMemory(string, ptr); + bufSize += string.length + 1; + }); + return 0; +} + +function _environ_sizes_get(penviron_count, penviron_buf_size) { + var strings = getEnvStrings(); + HEAPU32[penviron_count >> 2] = strings.length; + var bufSize = 0; + strings.forEach(function(string) { + bufSize += string.length + 1; + }); + HEAPU32[penviron_buf_size >> 2] = bufSize; + return 0; +} + +function _proc_exit(code) { + EXITSTATUS = code; + if (!keepRuntimeAlive()) { + if (Module["onExit"]) Module["onExit"](code); + ABORT = true; + } + quit_(code, new ExitStatus(code)); +} + +function exitJS(status, implicit) { + EXITSTATUS = status; + if (!keepRuntimeAlive()) { + exitRuntime(); + } + _proc_exit(status); +} + +var _exit = exitJS; + +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function doReadv(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[iov >> 2]; + var len = HEAPU32[iov + 4 >> 2]; + iov += 8; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; +} + +function _fd_read(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function convertI32PairToI53Checked(lo, hi) { + return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN; +} + +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var offset = convertI32PairToI53Checked(offset_low, offset_high); + if (isNaN(offset)) return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + 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[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function doWritev(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[iov >> 2]; + var len = HEAPU32[iov + 4 >> 2]; + iov += 8; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (typeof offset !== "undefined") { + offset += curr; + } + } + return ret; +} + +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + HEAPU32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function __arraySum(array, index) { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]) {} + return sum; +} + +var __MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; + +var __MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; + +function __addDays(date, days) { + var newDate = new Date(date.getTime()); + while (days > 0) { + var leap = __isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; + if (days > daysInCurrentMonth - newDate.getDate()) { + days -= daysInCurrentMonth - newDate.getDate() + 1; + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth + 1); + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear() + 1); + } + } else { + newDate.setDate(newDate.getDate() + days); + return newDate; + } + } + return newDate; +} + +function writeArrayToMemory(array, buffer) { + HEAP8.set(array, buffer); +} + +function _strftime(s, maxsize, format, tm) { + var tm_zone = HEAP32[tm + 40 >> 2]; + var date = { + tm_sec: HEAP32[tm >> 2], + tm_min: HEAP32[tm + 4 >> 2], + tm_hour: HEAP32[tm + 8 >> 2], + tm_mday: HEAP32[tm + 12 >> 2], + tm_mon: HEAP32[tm + 16 >> 2], + tm_year: HEAP32[tm + 20 >> 2], + tm_wday: HEAP32[tm + 24 >> 2], + tm_yday: HEAP32[tm + 28 >> 2], + tm_isdst: HEAP32[tm + 32 >> 2], + tm_gmtoff: HEAP32[tm + 36 >> 2], + tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" + }; + var pattern = UTF8ToString(format); + var EXPANSION_RULES_1 = { + "%c": "%a %b %d %H:%M:%S %Y", + "%D": "%m/%d/%y", + "%F": "%Y-%m-%d", + "%h": "%b", + "%r": "%I:%M:%S %p", + "%R": "%H:%M", + "%T": "%H:%M:%S", + "%x": "%m/%d/%y", + "%X": "%H:%M:%S", + "%Ec": "%c", + "%EC": "%C", + "%Ex": "%m/%d/%y", + "%EX": "%H:%M:%S", + "%Ey": "%y", + "%EY": "%Y", + "%Od": "%d", + "%Oe": "%e", + "%OH": "%H", + "%OI": "%I", + "%Om": "%m", + "%OM": "%M", + "%OS": "%S", + "%Ou": "%u", + "%OU": "%U", + "%OV": "%V", + "%Ow": "%w", + "%OW": "%W", + "%Oy": "%y" + }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]); + } + var WEEKDAYS = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ]; + var MONTHS = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; + function leadingSomething(value, digits, character) { + var str = typeof value == "number" ? value.toString() : value || ""; + while (str.length < digits) { + str = character[0] + str; + } + return str; + } + function leadingNulls(value, digits) { + return leadingSomething(value, digits, "0"); + } + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : value > 0 ? 1 : 0; + } + var compare; + if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { + compare = sgn(date1.getDate() - date2.getDate()); + } + } + return compare; + } + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: + return new Date(janFourth.getFullYear() - 1, 11, 29); + + case 1: + return janFourth; + + case 2: + return new Date(janFourth.getFullYear(), 0, 3); + + case 3: + return new Date(janFourth.getFullYear(), 0, 2); + + case 4: + return new Date(janFourth.getFullYear(), 0, 1); + + case 5: + return new Date(janFourth.getFullYear() - 1, 11, 31); + + case 6: + return new Date(janFourth.getFullYear() - 1, 11, 30); + } + } + function getWeekBasedYear(date) { + var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear() + 1; + } + return thisDate.getFullYear(); + } + return thisDate.getFullYear() - 1; + } + var EXPANSION_RULES_2 = { + "%a": function(date) { + return WEEKDAYS[date.tm_wday].substring(0, 3); + }, + "%A": function(date) { + return WEEKDAYS[date.tm_wday]; + }, + "%b": function(date) { + return MONTHS[date.tm_mon].substring(0, 3); + }, + "%B": function(date) { + return MONTHS[date.tm_mon]; + }, + "%C": function(date) { + var year = date.tm_year + 1900; + return leadingNulls(year / 100 | 0, 2); + }, + "%d": function(date) { + return leadingNulls(date.tm_mday, 2); + }, + "%e": function(date) { + return leadingSomething(date.tm_mday, 2, " "); + }, + "%g": function(date) { + return getWeekBasedYear(date).toString().substring(2); + }, + "%G": function(date) { + return getWeekBasedYear(date); + }, + "%H": function(date) { + return leadingNulls(date.tm_hour, 2); + }, + "%I": function(date) { + var twelveHour = date.tm_hour; + if (twelveHour == 0) twelveHour = 12; else if (twelveHour > 12) twelveHour -= 12; + return leadingNulls(twelveHour, 2); + }, + "%j": function(date) { + return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3); + }, + "%m": function(date) { + return leadingNulls(date.tm_mon + 1, 2); + }, + "%M": function(date) { + return leadingNulls(date.tm_min, 2); + }, + "%n": function() { + return "\n"; + }, + "%p": function(date) { + if (date.tm_hour >= 0 && date.tm_hour < 12) { + return "AM"; + } + return "PM"; + }, + "%S": function(date) { + return leadingNulls(date.tm_sec, 2); + }, + "%t": function() { + return "\t"; + }, + "%u": function(date) { + return date.tm_wday || 7; + }, + "%U": function(date) { + var days = date.tm_yday + 7 - date.tm_wday; + return leadingNulls(Math.floor(days / 7), 2); + }, + "%V": function(date) { + var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7) / 7); + if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) { + val++; + } + if (!val) { + val = 52; + var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7; + if (dec31 == 4 || dec31 == 5 && __isLeapYear(date.tm_year % 400 - 1)) { + val++; + } + } else if (val == 53) { + var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7; + if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) val = 1; + } + return leadingNulls(val, 2); + }, + "%w": function(date) { + return date.tm_wday; + }, + "%W": function(date) { + var days = date.tm_yday + 7 - (date.tm_wday + 6) % 7; + return leadingNulls(Math.floor(days / 7), 2); + }, + "%y": function(date) { + return (date.tm_year + 1900).toString().substring(2); + }, + "%Y": function(date) { + return date.tm_year + 1900; + }, + "%z": function(date) { + var off = date.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + off = off / 60 * 100 + off % 60; + return (ahead ? "+" : "-") + String("0000" + off).slice(-4); + }, + "%Z": function(date) { + return date.tm_zone; + }, + "%%": function() { + return "%"; + } + }; + pattern = pattern.replace(/%%/g, "\0\0"); + for (var rule in EXPANSION_RULES_2) { + if (pattern.includes(rule)) { + pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)); + } + } + pattern = pattern.replace(/\0\0/g, "%"); + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0; + } + writeArrayToMemory(bytes, s); + return bytes.length - 1; +} + +function handleException(e) { + if (e instanceof ExitStatus || e == "unwind") { + return EXITSTATUS; + } + quit_(1, e); +} + +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +function runAndAbortIfError(func) { + try { + return func(); + } catch (e) { + abort(e); + } +} + +function maybeExit() { + if (!keepRuntimeAlive()) { + try { + _exit(EXITSTATUS); + } catch (e) { + handleException(e); + } + } +} + +function callUserCallback(func) { + if (runtimeExited || ABORT) { + return; + } + try { + func(); + maybeExit(); + } catch (e) { + handleException(e); + } +} + +function runtimeKeepalivePush() { + runtimeKeepaliveCounter += 1; +} + +function runtimeKeepalivePop() { + runtimeKeepaliveCounter -= 1; +} + +var Asyncify = { + instrumentWasmImports: function(imports) { + var ASYNCIFY_IMPORTS = [ "invoke_*", "emscripten_sleep", "emscripten_wget", "emscripten_wget_data", "emscripten_idb_load", "emscripten_idb_store", "emscripten_idb_delete", "emscripten_idb_exists", "emscripten_idb_load_blob", "emscripten_idb_store_blob", "SDL_Delay", "emscripten_scan_registers", "emscripten_lazy_load_code", "emscripten_fiber_swap", "__load_secondary_module", "fd_sync", "__wasi_fd_sync", "_emval_await", "_dlopen_js", "__asyncjs__*" ]; + for (var x in imports) { + (function(x) { + var original = imports[x]; + var sig = original.sig; + if (typeof original == "function") { + var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith("__asyncjs__"); + } + })(x); + } + }, + instrumentWasmExports: function(exports) { + var ret = {}; + for (var x in exports) { + (function(x) { + var original = exports[x]; + if (typeof original == "function") { + ret[x] = function() { + Asyncify.exportCallStack.push(x); + try { + return original.apply(null, arguments); + } finally { + if (!ABORT) { + var y = Asyncify.exportCallStack.pop(); + assert(y === x); + Asyncify.maybeStopUnwind(); + } + } + }; + } else { + ret[x] = original; + } + })(x); + } + return ret; + }, + State: { + Normal: 0, + Unwinding: 1, + Rewinding: 2, + Disabled: 3 + }, + state: 0, + StackSize: 8192, + currData: null, + handleSleepReturnValue: 0, + exportCallStack: [], + callStackNameToId: {}, + callStackIdToName: {}, + callStackId: 0, + asyncPromiseHandlers: null, + sleepCallbacks: [], + getCallStackId: function(funcName) { + var id = Asyncify.callStackNameToId[funcName]; + if (id === undefined) { + id = Asyncify.callStackId++; + Asyncify.callStackNameToId[funcName] = id; + Asyncify.callStackIdToName[id] = funcName; + } + return id; + }, + maybeStopUnwind: function() { + if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) { + Asyncify.state = Asyncify.State.Normal; + runtimeKeepalivePush(); + runAndAbortIfError(_asyncify_stop_unwind); + if (typeof Fibers != "undefined") { + Fibers.trampoline(); + } + } + }, + whenDone: function() { + return new Promise((resolve, reject) => { + Asyncify.asyncPromiseHandlers = { + resolve: resolve, + reject: reject + }; + }); + }, + allocateData: function() { + var ptr = _malloc(12 + Asyncify.StackSize); + Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize); + Asyncify.setDataRewindFunc(ptr); + return ptr; + }, + setDataHeader: function(ptr, stack, stackSize) { + HEAP32[ptr >> 2] = stack; + HEAP32[ptr + 4 >> 2] = stack + stackSize; + }, + setDataRewindFunc: function(ptr) { + var bottomOfCallStack = Asyncify.exportCallStack[0]; + var rewindId = Asyncify.getCallStackId(bottomOfCallStack); + HEAP32[ptr + 8 >> 2] = rewindId; + }, + getDataRewindFunc: function(ptr) { + var id = HEAP32[ptr + 8 >> 2]; + var name = Asyncify.callStackIdToName[id]; + var func = Module["asm"][name]; + return func; + }, + doRewind: function(ptr) { + var start = Asyncify.getDataRewindFunc(ptr); + runtimeKeepalivePop(); + return start(); + }, + handleSleep: function(startAsync) { + if (ABORT) return; + if (Asyncify.state === Asyncify.State.Normal) { + var reachedCallback = false; + var reachedAfterCallback = false; + startAsync((handleSleepReturnValue = 0) => { + if (ABORT) return; + Asyncify.handleSleepReturnValue = handleSleepReturnValue; + reachedCallback = true; + if (!reachedAfterCallback) { + return; + } + Asyncify.state = Asyncify.State.Rewinding; + runAndAbortIfError(() => _asyncify_start_rewind(Asyncify.currData)); + if (typeof Browser != "undefined" && Browser.mainLoop.func) { + Browser.mainLoop.resume(); + } + var asyncWasmReturnValue, isError = false; + try { + asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData); + } catch (err) { + asyncWasmReturnValue = err; + isError = true; + } + var handled = false; + if (!Asyncify.currData) { + var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers; + if (asyncPromiseHandlers) { + Asyncify.asyncPromiseHandlers = null; + (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue); + handled = true; + } + } + if (isError && !handled) { + throw asyncWasmReturnValue; + } + }); + reachedAfterCallback = true; + if (!reachedCallback) { + Asyncify.state = Asyncify.State.Unwinding; + Asyncify.currData = Asyncify.allocateData(); + if (typeof Browser != "undefined" && Browser.mainLoop.func) { + Browser.mainLoop.pause(); + } + runAndAbortIfError(() => _asyncify_start_unwind(Asyncify.currData)); + } + } else if (Asyncify.state === Asyncify.State.Rewinding) { + Asyncify.state = Asyncify.State.Normal; + runAndAbortIfError(_asyncify_stop_rewind); + _free(Asyncify.currData); + Asyncify.currData = null; + Asyncify.sleepCallbacks.forEach(func => callUserCallback(func)); + } else { + abort("invalid state: " + Asyncify.state); + } + return Asyncify.handleSleepReturnValue; + }, + handleAsync: function(startAsync) { + return Asyncify.handleSleep(wakeUp => { + startAsync().then(wakeUp); + }); + } +}; + +function AsciiToString(ptr) { + var str = ""; + while (1) { + var ch = HEAPU8[ptr++ >> 0]; + if (!ch) return str; + str += String.fromCharCode(ch); + } +} + +var 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; +}; + +var readMode = 292 | 73; + +var writeMode = 146; + +Object.defineProperties(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); + } + } +}); + +FS.FSNode = FSNode; + +FS.staticInit(); + +var wasmImports = { + "O": __asyncjs__emglken_fill_stdin_buffer, + "ga": ___syscall_dup, + "fa": ___syscall_faccessat, + "G": ___syscall_fcntl64, + "ea": ___syscall_getcwd, + "da": ___syscall_getdents64, + "ca": ___syscall_ioctl, + "ba": ___syscall_lstat64, + "aa": ___syscall_mkdirat, + "$": ___syscall_newfstatat, + "F": ___syscall_openat, + "_": ___syscall_readlinkat, + "Z": ___syscall_renameat, + "E": ___syscall_rmdir, + "Y": ___syscall_stat64, + "X": ___syscall_unlinkat, + "T": __emscripten_get_now_is_monotonic, + "S": __emscripten_throw_longjmp, + "R": __gmtime_js, + "Q": __localtime_js, + "P": __tzset_js, + "C": _abort, + "B": _emscripten_date_now, + "A": _emscripten_get_now, + "N": _emscripten_memcpy_big, + "M": _emscripten_resize_heap, + "W": _environ_get, + "V": _environ_sizes_get, + "y": _exit, + "w": _fd_close, + "U": _fd_read, + "I": _fd_seek, + "D": _fd_write, + "L": invoke_i, + "b": invoke_ii, + "f": invoke_iii, + "e": invoke_iiii, + "c": invoke_iiiii, + "j": invoke_iiiiii, + "l": invoke_iiiiiii, + "m": invoke_iiiiiiii, + "s": invoke_iiiiiiiii, + "t": invoke_iiiiiiiiii, + "p": invoke_iiiiiiiiiii, + "x": invoke_iiiiiiiiiiii, + "q": invoke_iiiiiiiiiiiiii, + "z": invoke_iiiiiiiiiiiiiiii, + "v": invoke_iiiiiiiiiiiiiiiiii, + "i": invoke_v, + "h": invoke_vi, + "d": invoke_vii, + "a": invoke_viii, + "g": invoke_viiii, + "o": invoke_viiiii, + "n": invoke_viiiiii, + "K": invoke_viiiiiii, + "r": invoke_viiiiiiii, + "k": invoke_viiiiiiiii, + "u": invoke_viiiiiiiiiii, + "J": invoke_viiiiiiiiiiiiiii, + "H": _strftime +}; + +var asm = createWasm(); + +var ___wasm_call_ctors = function() { + return (___wasm_call_ctors = Module["asm"]["ia"]).apply(null, arguments); +}; + +var _malloc = function() { + return (_malloc = Module["asm"]["ja"]).apply(null, arguments); +}; + +var _free = function() { + return (_free = Module["asm"]["ka"]).apply(null, arguments); +}; + +var _fflush = Module["_fflush"] = function() { + return (_fflush = Module["_fflush"] = Module["asm"]["la"]).apply(null, arguments); +}; + +var _main = Module["_main"] = function() { + return (_main = Module["_main"] = Module["asm"]["ma"]).apply(null, arguments); +}; + +var _gidispatch_get_game_id = Module["_gidispatch_get_game_id"] = function() { + return (_gidispatch_get_game_id = Module["_gidispatch_get_game_id"] = Module["asm"]["na"]).apply(null, arguments); +}; + +var ___errno_location = function() { + return (___errno_location = Module["asm"]["oa"]).apply(null, arguments); +}; + +var ___funcs_on_exit = function() { + return (___funcs_on_exit = Module["asm"]["pa"]).apply(null, arguments); +}; + +var _setThrew = function() { + return (_setThrew = Module["asm"]["ra"]).apply(null, arguments); +}; + +var _saveSetjmp = function() { + return (_saveSetjmp = Module["asm"]["saveSetjmp"]).apply(null, arguments); +}; + +var _emscripten_stack_set_limits = function() { + return (_emscripten_stack_set_limits = Module["asm"]["emscripten_stack_set_limits"]).apply(null, arguments); +}; + +var _emscripten_stack_get_base = function() { + return (_emscripten_stack_get_base = Module["asm"]["emscripten_stack_get_base"]).apply(null, arguments); +}; + +var _emscripten_stack_get_end = function() { + return (_emscripten_stack_get_end = Module["asm"]["emscripten_stack_get_end"]).apply(null, arguments); +}; + +var stackSave = function() { + return (stackSave = Module["asm"]["sa"]).apply(null, arguments); +}; + +var stackRestore = function() { + return (stackRestore = Module["asm"]["ta"]).apply(null, arguments); +}; + +var stackAlloc = function() { + return (stackAlloc = Module["asm"]["ua"]).apply(null, arguments); +}; + +var dynCall_iiiii = Module["dynCall_iiiii"] = function() { + return (dynCall_iiiii = Module["dynCall_iiiii"] = Module["asm"]["va"]).apply(null, arguments); +}; + +var dynCall_ii = Module["dynCall_ii"] = function() { + return (dynCall_ii = Module["dynCall_ii"] = Module["asm"]["wa"]).apply(null, arguments); +}; + +var dynCall_vi = Module["dynCall_vi"] = function() { + return (dynCall_vi = Module["dynCall_vi"] = Module["asm"]["xa"]).apply(null, arguments); +}; + +var dynCall_iii = Module["dynCall_iii"] = function() { + return (dynCall_iii = Module["dynCall_iii"] = Module["asm"]["ya"]).apply(null, arguments); +}; + +var dynCall_viii = Module["dynCall_viii"] = function() { + return (dynCall_viii = Module["dynCall_viii"] = Module["asm"]["za"]).apply(null, arguments); +}; + +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = function() { + return (dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = Module["asm"]["Aa"]).apply(null, arguments); +}; + +var dynCall_vii = Module["dynCall_vii"] = function() { + return (dynCall_vii = Module["dynCall_vii"] = Module["asm"]["Ba"]).apply(null, arguments); +}; + +var dynCall_viiiii = Module["dynCall_viiiii"] = function() { + return (dynCall_viiiii = Module["dynCall_viiiii"] = Module["asm"]["Ca"]).apply(null, arguments); +}; + +var dynCall_iiiiii = Module["dynCall_iiiiii"] = function() { + return (dynCall_iiiiii = Module["dynCall_iiiiii"] = Module["asm"]["Da"]).apply(null, arguments); +}; + +var dynCall_viiiiii = Module["dynCall_viiiiii"] = function() { + return (dynCall_viiiiii = Module["dynCall_viiiiii"] = Module["asm"]["Ea"]).apply(null, arguments); +}; + +var dynCall_iiiiiiiii = Module["dynCall_iiiiiiiii"] = function() { + return (dynCall_iiiiiiiii = Module["dynCall_iiiiiiiii"] = Module["asm"]["Fa"]).apply(null, arguments); +}; + +var dynCall_iiii = Module["dynCall_iiii"] = function() { + return (dynCall_iiii = Module["dynCall_iiii"] = Module["asm"]["Ga"]).apply(null, arguments); +}; + +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = function() { + return (dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = Module["asm"]["Ha"]).apply(null, arguments); +}; + +var dynCall_viiii = Module["dynCall_viiii"] = function() { + return (dynCall_viiii = Module["dynCall_viiii"] = Module["asm"]["Ia"]).apply(null, arguments); +}; + +var dynCall_iiiiiii = Module["dynCall_iiiiiii"] = function() { + return (dynCall_iiiiiii = Module["dynCall_iiiiiii"] = Module["asm"]["Ja"]).apply(null, arguments); +}; + +var dynCall_viiiiiiiiiii = Module["dynCall_viiiiiiiiiii"] = function() { + return (dynCall_viiiiiiiiiii = Module["dynCall_viiiiiiiiiii"] = Module["asm"]["Ka"]).apply(null, arguments); +}; + +var dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = function() { + return (dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = Module["asm"]["La"]).apply(null, arguments); +}; + +var dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = function() { + return (dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = Module["asm"]["Ma"]).apply(null, arguments); +}; + +var dynCall_iiiiiiiiiii = Module["dynCall_iiiiiiiiiii"] = function() { + return (dynCall_iiiiiiiiiii = Module["dynCall_iiiiiiiiiii"] = Module["asm"]["Na"]).apply(null, arguments); +}; + +var dynCall_iiiiiiiiiiiiii = Module["dynCall_iiiiiiiiiiiiii"] = function() { + return (dynCall_iiiiiiiiiiiiii = Module["dynCall_iiiiiiiiiiiiii"] = Module["asm"]["Oa"]).apply(null, arguments); +}; + +var dynCall_v = Module["dynCall_v"] = function() { + return (dynCall_v = Module["dynCall_v"] = Module["asm"]["Pa"]).apply(null, arguments); +}; + +var dynCall_iiiiiiiiiiiiiiiiii = Module["dynCall_iiiiiiiiiiiiiiiiii"] = function() { + return (dynCall_iiiiiiiiiiiiiiiiii = Module["dynCall_iiiiiiiiiiiiiiiiii"] = Module["asm"]["Qa"]).apply(null, arguments); +}; + +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = function() { + return (dynCall_viiiiiii = Module["dynCall_viiiiiii"] = Module["asm"]["Ra"]).apply(null, arguments); +}; + +var dynCall_viiiiiiiiiiiiiii = Module["dynCall_viiiiiiiiiiiiiii"] = function() { + return (dynCall_viiiiiiiiiiiiiii = Module["dynCall_viiiiiiiiiiiiiii"] = Module["asm"]["Sa"]).apply(null, arguments); +}; + +var dynCall_i = Module["dynCall_i"] = function() { + return (dynCall_i = Module["dynCall_i"] = Module["asm"]["Ta"]).apply(null, arguments); +}; + +var dynCall_iiiiiiiiiiii = Module["dynCall_iiiiiiiiiiii"] = function() { + return (dynCall_iiiiiiiiiiii = Module["dynCall_iiiiiiiiiiii"] = Module["asm"]["Ua"]).apply(null, arguments); +}; + +var dynCall_iiiiiiiiiiiiiiii = Module["dynCall_iiiiiiiiiiiiiiii"] = function() { + return (dynCall_iiiiiiiiiiiiiiii = Module["dynCall_iiiiiiiiiiiiiiii"] = Module["asm"]["Va"]).apply(null, arguments); +}; + +var _asyncify_start_unwind = function() { + return (_asyncify_start_unwind = Module["asm"]["Wa"]).apply(null, arguments); +}; + +var _asyncify_stop_unwind = function() { + return (_asyncify_stop_unwind = Module["asm"]["Xa"]).apply(null, arguments); +}; + +var _asyncify_start_rewind = function() { + return (_asyncify_start_rewind = Module["asm"]["Ya"]).apply(null, arguments); +}; + +var _asyncify_stop_rewind = function() { + return (_asyncify_stop_rewind = Module["asm"]["Za"]).apply(null, arguments); +}; + +var ___start_em_js = Module["___start_em_js"] = 356528; + +var ___stop_em_js = Module["___stop_em_js"] = 359213; + +function invoke_viii(index, a1, a2, a3) { + var sp = stackSave(); + try { + dynCall_viii(index, a1, a2, a3); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_vii(index, a1, a2) { + var sp = stackSave(); + try { + dynCall_vii(index, a1, a2); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiiii(index, a1, a2, a3, a4, a5) { + var sp = stackSave(); + try { + return dynCall_iiiiii(index, a1, a2, a3, a4, a5); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iii(index, a1, a2) { + var sp = stackSave(); + try { + return dynCall_iii(index, a1, a2); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) { + var sp = stackSave(); + try { + dynCall_viiiiii(index, a1, a2, a3, a4, a5, a6); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) { + var sp = stackSave(); + try { + return dynCall_iiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiii(index, a1, a2, a3) { + var sp = stackSave(); + try { + return dynCall_iiii(index, a1, a2, a3); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + var sp = stackSave(); + try { + dynCall_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_vi(index, a1) { + var sp = stackSave(); + try { + dynCall_vi(index, a1); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viiii(index, a1, a2, a3, a4) { + var sp = stackSave(); + try { + dynCall_viiii(index, a1, a2, a3, a4); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_ii(index, a1) { + var sp = stackSave(); + try { + return dynCall_ii(index, a1); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) { + var sp = stackSave(); + try { + return dynCall_iiiiiii(index, a1, a2, a3, a4, a5, a6); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { + var sp = stackSave(); + try { + dynCall_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + var sp = stackSave(); + try { + return dynCall_iiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viiiii(index, a1, a2, a3, a4, a5) { + var sp = stackSave(); + try { + dynCall_viiiii(index, a1, a2, a3, a4, a5); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiii(index, a1, a2, a3, a4) { + var sp = stackSave(); + try { + return dynCall_iiiii(index, a1, a2, a3, a4); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + var sp = stackSave(); + try { + return dynCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) { + var sp = stackSave(); + try { + return dynCall_iiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) { + var sp = stackSave(); + try { + return dynCall_iiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_v(index) { + var sp = stackSave(); + try { + dynCall_v(index); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) { + var sp = stackSave(); + try { + return dynCall_iiiiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) { + var sp = stackSave(); + try { + dynCall_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) { + var sp = stackSave(); + try { + dynCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) { + var sp = stackSave(); + try { + dynCall_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_i(index) { + var sp = stackSave(); + try { + return dynCall_i(index); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { + var sp = stackSave(); + try { + return dynCall_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) { + var sp = stackSave(); + try { + return dynCall_iiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +Module["AsciiToString"] = AsciiToString; + +Module["FS"] = FS; + +var calledRun; + +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; +}; + +function callMain(args = []) { + var entryFunction = _main; + args.unshift(thisProgram); + var argc = args.length; + var argv = stackAlloc((argc + 1) * 4); + var argv_ptr = argv >> 2; + args.forEach(arg => { + HEAP32[argv_ptr++] = allocateUTF8OnStack(arg); + }); + HEAP32[argv_ptr] = 0; + try { + var ret = entryFunction(argc, argv); + exitJS(ret, true); + return ret; + } catch (e) { + return handleException(e); + } +} + +function run(args = arguments_) { + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) return; + initRuntime(); + preMain(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + if (shouldRunNow) callMain(args); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } +} + +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } +} + +var shouldRunNow = true; + +if (Module["noInitialRun"]) shouldRunNow = false; + +run(); + + + return Module.ready +} + +); +})(); +export default Module; \ No newline at end of file diff --git a/docs/emglken/tads-core.wasm b/docs/emglken/tads-core.wasm new file mode 100755 index 0000000000000000000000000000000000000000..220901ba1edeca3082a748f7f81b8d120fef23b9 GIT binary patch literal 3171493 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¬yRyOlfT*`Obsu_D_3ClhHin^X`AYexkG|b@c%q}(bqS>G!}0<;nZXEX_9>0u!bSxLRB3vmSm&rpYM3C9 zTKkcp1DA|qUf3D`LmrRM8^#f~#Pkv%vOp^ov0)||$h@y5p&bn5#$*5Hwj2VGYVcgH z&9Nj3zi50z#U*&rR@V1F%uRyG<@WhK>2qP9e>;6{+2@a?&nQBkza@R{*yjiSb?gtV z#P6T{CRAws_w4hpr_X)+d{_FsV4pvpJ`e2kA3q-ZBkPL(el30e<`)dYq;sGlGssyg zC#OlDNNKW>2aO}eGH~fcJt&|({;O_0P;W8fI||nYqJ%98SCgxBgd+*f+MJ_gfo9<9 z^Ya?B9*)m5fs6#E}0#Uk(<5R_0C%ES3Z-i zrNw&cj5NKGz|=hjBOx7I7BosYuxwiBKUE{4KL5#UlyLgfbm#vBj0Cd}JV%5b`n8~! zP3Oggu`P5#FMOAyQE1$aqOj>@F|mt=Z;3$wc#3T|>&ZqLhdGZEyX+rK762 ze_290oKzJld`59@{YO%qTchHnRLphYQyUCSJEU`^44=}QTfHheJwAJGyXj37pT{Rf zH`m7}djEwPMz<)Rq#ws7DLu!gJnr*=XqY&U))zsf9+NYqlBZTABf zJ7v)c(e+6|@BG`0z~39(1(B4Z@nH^Zw3wsd;@z_NFPvYhr8A=lu$+aX05D7Y+imwd z!Vv>}p2bfhpJ7qANfBJ=OSO#LPGudBoc3MWM3vE$Fu~P9aFrhZK{U?IVERjk;; z#kJsSp$K>hu=IV=78(2Ku3+p3x1%FoMasFmPf1J(@;zDU>#3A$(J~c6IK3m(M2k5> z2tCB%97iajB{)K$#XCZvh0VPjYUsuJWC|-1=abW7Wut~c+$&(GHxD}!?bx5!nk$sB z691Vk`rMt4wJAi!|?Y^hcSN!sAZB!!v&gQT5Fntf@Ft83k2iY}+&>0e7w$@XoUta6b&#OqeJ^6f#)LBZAKp$uGW{un9!$?)|o8NSyk>JnKyT zaE5uv>zQR9fPkBbI1U5zEKf6!(I~%r=4oQW%&m*2P%vW7FPcHYT(04qC!2HMJ6yv# zKl8Z8*Rn$I3JDa$5EMiAj*plawKMrtoYOOmyZg)fI`Ajzyq%7L;KO3t7%C-SuGtpo zZ3x>wIcOY{BO3yfMXMs+cvKE~DGId*Ie?Lq&9MxpY?6y3mWZGvo8)4TsL-2t`n|{0 zi1}O25Pfa)LTXo|qn3}&@ABQW1yl+FltauFvy1fHjMV}otoZKgGj0S|%iBuNorMeA zC@d(LpsWwAY1x9p4>j($rK=R{R3f@Qbh+M&JhU4lJ zUj%UB0S*Vg7$QS9&J@7)=`0@LJ+lC_i-`mZF~ZcW)kmnX+!Za!aD>X#tO0uafUKof zw3g)9`o#~Wp`-FdzosJVuv&f4N(ifkLsrO&3f^(k_rR=3F%0H8zG&TO2FJkTYiO&T z@2nqvjWOj}L4e=2Heh?O3#a9YcB=R(d3n>oC5ENz{94SS>c8oVs}8eB$SgUje^a2b6KN+XelJ0CY1VInFf1@b7iIo#ZSd1m)6J*i9M1}+1f8A z;PlESE&0{2rA>Kj_Fs+!MkcCWL}3yRmtcy3>yv33aD`K8%!lx32e3GxiLCns1!+-`oxp4G8s-gNh^~PJ8PF@>mx~c zp&xBHk7P+gQM zGHJfDhpjLo%jr_~6t}mvej1ef4jS98%qa-ku1ujHZCCDUpYm=RD}~(k+m$J0uI&CYxIy_7f=nWcO+${?Uo1_6y~m(nOP zghm+zG|C{LQ3e5x>X^|`a9j-srKwRJGnz}N>T`zlfDjQUAN~%q1Q&N^T%F`<32gTd zgy%8wdcmLx#IT2LJW0DTosUvn{n-j?jEfCJ$hPQHHv8@DX zvPRUwSKh4-R9~Me8w$9D@Bc&io<&E#M>K}-e<~Y(OH(j_HdQ0=ZGV(O zv?ePOnj1}Czw=Q)28H;tH)tJDMApxJ83^UAaD>t<3|_#MdmB+qcjsV@vC zfDI12>qXpUU8=~u*r24rJlW|!X89Bo(E((TD_?{=OB?Jc$bK_nNyS2kXndLb)*}N9 ziI&bN5Hg7M`HWzGB>VJmm60wVMWYyNyv}R56`anzrp_+O+}GdAy!jV}B$Gy3uk8is za&Y_sQYEAH0)|Tzs+uL6#QCpozLm*e#&`)v3&VRC)rhE4qTz)!mGy=wH9VnBU+)(RT7H#(!HtH@7`On%j1Yk&tdE>@UHuWcD*r zBZgfQBlETh(MZp;!KcnUq0eLEGAoDU@8hM!{1fDDo5#JVXW%#Q6a$qp#( z$$urFKtg0OR8hu;9XtP&y)c{*aiw+Hv!2yu4|$19(Wx#ZE+L8bWO@Q7*Dhal%1#1 zev0`<%h@I+bb4%Bd0jMINt-md6;(AuZYeBew)1 z4pbL1OJ;;c#P1@?FVu2qd)tCFpLw8%Eu zv&uV!;$$^g-XTWEnGA#lPlFeVMo|a@Mdn!ZT{NrfnBb@nN`?@g5@t;jYIV6fFf z(i9kqFvie_I)bJ!t2>@z!lN=LX^;}DROYjT&m|b7hLacweWSdvCXy^gT+(~b_a4+k zSjX^u#MzWSuSd%ZVe;LBK7mlLlnP#GNPZRuAfVp(6V$VelHZ)I=+4v+)e@ah4w)GD z(;|E29NU9cy3=#jZ(n_{9NGptopS?rwRg z7Q1E{A)txsoiOhVn(S~W&g1gp*j^Mz1^k)@)|ML6Q0Y6%*MU?a_^8kW{t!=?06HIm zw~jGR!ubf0yu)+C^1)Jpr#s`9*&T99xl`2@1U;|3db>Y;203Sw1P9onhuy{p6&q6D zWuF`taT=0RCMPWBH)5txoNnXf8tF3z-Vn@sjbFab1Y*u|%`6gk{ zpIp+!o|m~81QnNy@qx1#x0X67Y7`HgDv#X3zTbJ_3@ihRN9xY*WE z643-I>#DC1l2~)fuNPP1U@;Cpwyq!lucA5|kBAA|jO*R(KBmFCGvCm)uctb?I4V;= zOvo#}d!#EWv@AS7&%imuvHd=;VvGB&3;WA&Z~-!?!NvgIU68XmrU~UPq%i0F5*{ zjp6__iUZIn4nU(g0FB}RG>QYzoP|b@OsZ9dilYjz*95s0_R6f_Vm5Yh$lJAdH&1)e ziWXy*l5IDruT46l7o%uo;fO*wnhrZ{o#~)3Pcc%`DTbuIi1>_lxyY;lPxfl)1&3eU z2q2n5nwGv)F~yN-4^Ju`uTL~*>OsO#yL^=WnlTGRBA_2N=BKZME|nat2$YDM5ty!R zAq=A;>%tb->7rv@h`9K=O>(X8Szk+H+t(=8#@C9u+t;J1uSdW^sWrhtBRD9-*VEe} zM#fFw8W2%Vmx&Y^l0M+b00h3Cek=PSQQodBd0yvt5{4c_${w-|$Ovc|s`Q`++c*4a zm^l%G76e~rp(neto&wZk_KN$S3hT*kSkdkSyV`Lnk+E-K%rG=yJZh%-^)bz95rBuYS4z zZm(}%S_*=CMn!9@vcs|l^N6g(s`&d`yavmh*CbDvG8v? zYa^6%bye7cd=?TWMDB4)k3kfibbtk1D=(bKAFm}xv>$dAcMT5Ie!XhBi3dM6FelSJ zbnBMgS;p`5G=i)EGZ`#HK zndsiSfFQO5WOCr zyCuFL-SA5J-NHmN>fM+B-EjQp?0EE4gTO=s1w?5AeF`o z1FjpP1B}jGlpAb6P#ET}%`^vd@5yhcjO1uW$MD1LwfeDfHlM{`;d9e-YAowsY7(zY zstU7XR=rM{QC5Okf>$Fn2MK&~*7)PSBPFcf;|L^v;5$_^fzqx&{DNH7@BJGrCD`fkSo{h7%55v89jPG%uW2Rz$a4t8S}cOvd)|kb7W`{Q`ER?AAM0SHR*dH zd66wtWNu16yfCwUfTkE&F@%ojEw?Hk<9FsvWw82)yHlQY!rL^Y`~{ibO0z_q?1>gX z_+euEAg(YN#5-6qK%5asY>cU0>}Pf}jmpN9`7se~N2>Cl0mr^90cJ5c`?~GE_eAT6 zMuGW6pW{{8&AjQyN_1!KCMtwBG0v4Yz$bYF zG}>28qkY9R9Ob5F2ZD*F#0{W13nd+nQ9wzb!Yo_ZnYmlOuR=cuQfRL}Ag+|asRRF~ zD+#pVK75lIYYUD0d_qRN+l~u!cSEF~nG_!vX zyMKlB9eofpo*nYXj=hQK?seq?H{a=R9=*F-oW6N+>gLzj%_r>Ua`@ics^RqA!>PMp z>u&dVj%M!ELLlnogB*>fP?-EQ3py&SeztS>CCy!l>qWw)&0Vq~re-e$(CWHQ-A0Tk z)^!SYg2!_T`8!^r*$csb|7(ib``HW8daLWyZS0y zMBrhUqenv8%IA26P_*R7;(twh^E`^euDpPvwAs!GJnXXbC`xxc9u@4h+zGn$8!hK83JgSA&Rne++W;lt85+j4pT@n=|;N7Xl~)4 zD?qY;Rr?*dQp3psYB)|n4W|*P;TQrnrEgwIlV4g~=^g_ZI~Ng|D66vlk}sX)HiAd) z=D!oj6$^HKT@yy>*xTB2?XTlb?t8UwIAlkkuH>l*iG6XI|DM%6{mc@d8rB5Wuo$S0 zuJ_GrX`qUd=9cu{*XvqXAi4uy2=8$})|M7`ST@w-uTxlu_BFnFwQqLIhO^@p+y{PO zqu|qZy4Ir%j^3=7*O>pz>cvv0-R~By&KZQ=@h|Z%quI1oDADW!YCP-~8Z~IP-m?=~ z`vOls?B#~K>Mb$!Et)NxzfKZa8qH49Z+f&!KZ>>MtrProVfrbu_J#gYPVnh@HEwL% z;gBk?&E4ZVwYjC4kLcvlv=htW0Fsq7+B)<9o1e_a@9wye_%E9# z@Qxm4>eavsN&;i5lBq@?7e%zND)9@gm^beQF(hG6?n>S5DqdY>d~Lol@d^SPSKuY7 zcZ*nr(|BziMSpnXYw#l<=Gb~sTE@1iUBz`3WQ~cd$F*7x#dXG4ATc{BpTXU#V|-h- zNA={38#uXd8KmIJ`(MD8qL4U$oOI@~Wj`G2h}Us(6t!!)V;wq!X?ODu`LPyYRAo^= zaW+wa#1k3`2m9K59uMuY&@zwIb(ciI;Z_JFluc;8gp&9;&Z2>xba5H=k~vGkPc;h( z@`ciV9TQ~Sr3eqH{1N$1l+FY`$CG5tw=kTPD>_*gJ~XrTQG!UEslR) zd1}Re6R=d8(TF8eAhDMqLM7B%>x$4;5?nU4%lrsIk_HM|)dadM{ij#b{1X+3hK67oTQDD32mSg<#LGr7~_`JaRxur#N!1xXNdWs0y-z3hEP_Z0mESCWx(`& z1`LTDf`xKkf((`w=ddbeQF?)^>P5VA8x2O{4jRE3qc=OHSY0+esTIaEMC_ueA*qBX zr&Lt9+-xyi%aCGQuA_GDSL0JpRd0!(A!b4OSdLmFre1MVP%p(P+(wbp+4Pr;n2 z8!Nc~WjNb3Iw5mVF7Scet3sW!!pIV&t+F8&efMQ?l2d~CNbC*_DpAXd7?CVq77CSs zbh06l2aVUWl53KKFc~2k1hy5S6-NNE<*qy8_8)|LTJC})u6upiISSx= zGAa)rK|kyI8C5*~dby9SCa5Aw%X#6E)4SwG6hDMh15t?O+wT!Jur++o` z7|0J{gPW|Rf+EtO!pmB5(NdM)%hPKFY5F886;8h~+qee0)$EcQf-0B|0-6wc6B_Wu zf$M)kB0ZBW>ooy~)UaK3l8i}%j_hSA`L=$Um_J}eV)enVY|-rJ?)YDZt~IMV#Eb6g z7*X50OY1w0?s9j>FR9w0Jy6Gu#`Zv1Z;ze?2AM669+(4tWn*LPg*(Zp_FIej2De_0Xp?dM1#z8v;@6H_)Dhq; zqGfJLr@Ouf@o}VEZS3f@fL7_9J zT>FMQ-#1~l$fsw&Andn6CziWB9_yLkP-dJ|D3OQ>SX}SgM{Ypte!T335cAIc@2`6A zE4wG4zg)APh~OjJho4@=m@_!MROLqDrF1nOfL>eC@rDRsMd4=i7N*%eTpEcI0!-%NA|v&Z3pmQ znFBOZ6kEuFsGoY{+u#m;3<2I2cYCfOndBhbf-ra8ix2Xx!%|Z(+bczjk$_xkQXMpy zS>TSqc;gjyLP2;*&}t+PH(vtYMHIY=IVdyE^0)<|qnvmXL~0NVfSmLexx)r@P+Vw9 z^(RZ-U4BULNu$)UdA?>KnU#8@o20K|H$h<`dFO!zGS>mifJ(|N_7=1mao}ce8=*O!Y!3-iFPz*kocW@@gzgTA{^`Lr-Te=2bL*aYmZMQOP zphHFD`|dpIwb%FHVP%E-r!9ZUo`K z_x57^Dhr+zrZi9-met8j9hDUJlh-WF6`Sr>8_3u ze=K#P5S)8B{NUwDS{{p(nHI>(da{kdOg^oLjl{~#1=3tIYsqO$$t3bi7ww7IM(1b4 z$&*hZM!T8TH_L%AlGpkc#3P#IH^YRGMa#5)QdA)#@L#)Yx4bm`E^;5U3BtjYks7Ux z(`aR!Ml0hqS{bL=hDxJRY=B0(j7GYQW|vmEXSL;Ys?f-57Z%9N)oKV*K$=%pR=o?X zK^{;wy4Y_zF9< zexD&i*c4r?$if2us2aFWXMP)wSAuN635A@xBHKnq+pf17l@>q_ERmS)nij=ANGA;? zS#ZUzp3%Suaxl*n*5Nj7;NV4wxuLsT7PD?e{Lxs^XGKg<8BZQ2$L z!)Xv+yNX&~;v4PVCMjvZJI4F+7v=l)Ih2LdHkz*U1xIx1QK>)`?M{fP>u&$B6~(pp zDMHs_HB_&4$8ruuLtzkPJDKUSvz>m;u7NH_GVw?TmQ+lYSK>DVou$dEEDsAg&)o zyGe&9GqM_aj$remLxv+d%tU}PGD3MX6j0uZ$i$mh31!_;TM*e#Ns{?(l?q8RigW>s zZO7*Qc1(su-pP)Jxi{*CZS&LW z$3tpQD(c>r-cI}C;Fp(Dz8|x0*lAx$4r9S~+E-2-SvM%aob6HT*}(*}{$CV%Nervj zzKr~?V7m$%(x3j|WQO>m54VJ)P?iu$$AN6=)Z;{(ih1)yn4q$VRC!M^QE;dU++bbk znI+-w$!PEheag_|TQS33@F!~p3X7*DqQX5Lw0Ak;pde!fSvGJtTAyfKtV8IX6<|$B zcQ0GIdWREQ?>5fWCNR;k)QVzH0|oM@;e{Q9h3l7D*8jv@zIi$FKhn6O1@%MJCM^W~ zG38{{P)ZJ@2&pZiQU|N}O9!hclwgHoJLpfLD_SUal4phDJZ@^C*u_mP6pP%{LZK^K zDE5)KlH$@K9xF_iaFB{?}!*kA+=oGIQ60)#R{Pd7}2NsGehWO4F zik}%iO~nKjn5TQ}25oFF2cO-~Knh)m)N`E180;QRBi^#1Al3~90D$Pne(WKZ zKG;a3lYL}~Au-45olupRt8{{W8PhZ-b0CI(xEJeZp`v#XfM)LK)c)b7Bmpx(zDetT zYQIv9*q9~!)X}WHs!rK0Jq9w1g1y7;cTka!qDAxUYG;iDGCR`#xa?vqvdhq*wG=zqCGkI6zJOsZZ;X=}RHU-qZuu9e3A; zR|-L{tkBSpZcqd~zEoQzpjgds0V|m^pIvc)lb-A&ruPpyu`oP?q1M*$4!A$(P5;(* zm;0KqYx?HNN7HB?(&3Z?cAnT|cYmK7d?Eu35*kcoDraX?cxL~ZGZ!1q&vd}8b#T~~ z%ddA%-m3DwhOs?v)P)(HB3Jm?8RByf2jJvbl#PZ2%o`{|OD!4_9&f2mM;{m|G_Gld zlXAP!)652fz(%Lpp$4W|Jza9l_I(>&yP6){pOb2cN0Kx%3N?}elmT>ksT;|ZoV7eZ zQ($ganRz&eFLM-y?y%mVc%hBeY1PJa@*eJv3vxeK1|4J+TO!vzq&aJL$!ag!(F3VZ zEWLD^uBOtQg{BIB5o3ov83Wj=$vn+Z23OV78{(6BR$V`xAUG{@O5^a;!KtR{poeHW z-Rd+=hY&e$xwGkP)pRygPpdX)IyM>5C{3n-sfe*iNRrA+tXRoR$REN3hSSqnuO5tS z_mwHR7QylaQ?Z1*Y(M!JoHP1*tl z8p3u8#=V1rL=HPC0LOV0xHETA02QnXmTQcH%wzi~Nb!9s#i`0Z&E4&~won zP)Mp$$P7avGYo~yFcdPwP{<5JQGuxxGQ&_TU?W&ZYbAvl+!?gtw1W)!qvD+Y#k`g60MQ1Ha-F@^ zCmE3Np(iwABr$CnTS^VEi^Sl&8cb`LJ)p;@DdI;DMxVfB`n``}VPX4DwaLCD`Bf5O769e7RvD{fK#$w;<8rsme)-k-bKX-uzfc(5(ow{R{;ME9yORdAa;NR* z4oR&Iik>VRebkI<`ZCr9DGB_hLE!C;!PVP{6se1m-)&+*}Z)L852UeP?7=jsZmU%)S?#R2BxgA_S?zZWuqH#Pkhizva_{&UQ zY-wd)Q$9oXBvO-f+%1007C?Cq&HO0i9|z!II_zRRQ!Y?zIZ_#Auu8+o95hD#%v1=6 zWu4JZLa_sSNS4CA@Ms=(h&IwEtTp(qw-`gs%bKx`%Y58?b~fb6iFdwlA4TiPUPK!_ zw4fxoLsDK9OEoku2prMr1K154w z%!g=o4+X&)pwSgHNOv8e0lBUX4LBRnK*}f+CYE}GhA@K>AkkNaM)%~y+Gr}O^P%@cgO*?+oqf={>l zPpb(&t^B8C<5+iE+x({s6MVYhKixjTr`!FfJ0|#ahyQfv1fTBopPo0tr|0=kcj1Qt zv+&DAG_*6>hK9T`%-U78hk1!0fw9Smq|^9Y6&}QKZhm$xQiuqjpQV}EpM4eo?OpXM zz1bDsoS`>!_NL^G*NNbsT#TVKMW)1(s+JA+Lh%^4->7^f$NrIF{_MCjf0qB8N_G5f zKTE^x2l;)lD*4^s@2>yC&DX&o34g5mhbnRqP#!!4FMs;a@}E;QU)^F_gn!L4HVLO!9pwM}nKnb{+7P-ng#GT9f8oAgn8Kc>a10u4TchpJ zXq(>EXj_eWwz7`qfltu;QLX8&IDEHM{qgQ|KubDeD>Z;MMHQEi0b}{Ct(XK{ndztzDK*Ofb zfN8X~>h!<$TOau(duzU1Wua)4C1E~mM?xl>3`N=C>q5Uu8}JD z!kW{6?Vr5)Iw*}s*IOtWUC{Jxq1Img_y6L@-T^+*=mZP3UDLOP!q&XT>VNq0KfKwm z{^}Gpwon`j2@AFM^dI@Ne|amzAEi()4Yi)}H>G{=aL#UD`+|SSVDZuuyAH{{y%F%I9Dxz;uFzy3kJ_iduX6 z|9aw$uk(#guu%IneOsutr~k1(f8+NuTmAJ|AIN{Hr+p}D?djk7;ddYL$UnhCao%ep z*7xweH$6NtMZHARpMdq<@(Xu=TDz%<7V4#b`s=d3W1s%empz$Iuuw14^e13_fB(y0 zd51}WDjZUyoKcneS!1~_&;1hRvhBCoIaqMX#*7v9PeerHD_$HvJ zpVRawV11wZ*zZ1XQW5oP&ED2&ZPNdTyKj1j7p4<%z9ozlK}N03`rh!?V}Idke}aX& zn%Jp{c;9JEdz1f1~Bhu-mL6YGI@8U!Zbgn#@mANp;-Tc3co?g|iCmlOWc z4JYpKtxm97_ZS2w;DmpD&zBzc5@v$cx;OBFb#=i{Uia-|UcyWuw~iSECg6nM{=%Pr z&`X#JXzRE^U;<9~&>P-=lb0|Ptkweo0_$?Zhd=h#k4`MN9yAC{zzM(cOP~Mj#B%E! zfe)<92_Jj>{u_L&6Rg$=gTMrw@Qq7X|ErgVxh(NYeo0DWulKd}L!({(@>+ih(K1r(zgH&yp!nTMptYKip=14dnJ^)&lHPcK>(|S_zq~b|g zZIFo&H*heEO{=eI>x(-B)YmV(_l9ev$kSJG2>X{x?3;!9D$MX!$nZvA=7>-ZSR4~x zn>S~~R-PymGnb@Db;N{7Uu~>qD@?2IEpPd=JCSUhzpqNOH&V)$Dr+U(mDXM9yYs=j z=Hu85yyyg5y<4&@wvU#aK*6c=U9DBIq)VNZq>ryAisaW_fnr{n8TVq(^0w`GJGBQN9w84J zDQf`+cNK#H?0I{bAY84IJa3!@$$(W%4ZL6GRm%x%`E&E-`E&8pjb+XyANaD&xh-YR zCC5R2P_8@RQ)kXqYh=#tzhQP|>f=Vpjh*QSnS96%g+gv96mmnMkQ)kx+)(HgFNFeG zDXL*lg+gv97S=zv5mWh-a$~=HjC{V>-(R~_T!f1f2q~JvqUDOkGDS_2G59=8s+Q@P z83I2dLisC@3}1rQGfjwc_kf2f0RYOQT%MB;Mz%C1lgPQap|F60s(ZPjZv;I?qW|p0 zE27_3_p*cbijON*vfGAeN6E7FoyUk+&2qO`OpnqTaEd(T?U4X0l> z1GbEhJm3PKDPo8(dxT@CL;I58gw!$^7%)TV=##o}X+%#mEBU%4sxG%EII!)4{5+k< zqanr4g&$mo1Qy4{S@Z-bwGjpI2 zFabtQSOw5xZZtwZ6%bW!Xj-9v8sDLi2lFRe+77Tl%orjk7DXRkx5QmyqkOjl!(fP2 zIKdqgQr`BRQ*DR})CwUerqIx1qV1-c2cVOtV_zJV8{*8APfU# zFc06a!UDLA1d*gM;h=#6FUZf2m4yFx-%1Wkf>s7}McjdqhEJAwGDGZ9gAaKWl+dPA zgBr~;^9EN}%|M@OyJyu&NdkiUJAP25WULgCYRFJ1OXUd^_7qo8p&AgwfstTsx&_HL z!m?ZTcj!$~DB+Qo$Pjju1)h2IAm@J!Ma!PbC^HL4vY6YIhXM&n9gi|Y4E}Pi2$a^) z5YQ_m9u);Vlh6q7jh!s#=w05>PsYo*Xan= z1cxQU`EZz^KM~~~Svt)U2DtAmDW}LV^AUHs!e)HZfNDHt!&;eNbNBwMiL^uUC=#!V zIk59O2eyxzL<@QW-`&-efM(^M+M3G zWGk+c|>Gb?qa_In;UK&CpxwHq% z^5oK`0|pB8UmYx6R~~TrWtLnvQ>H|CvAfPP*b1-Vy*t4EwejV?yMYjlEgTFl+?u(i znSx&$KycFB(ta*=ZfUv@ghFm<|917<(!3LPteRVz%RhLvJhwE7Z9Ih7cnEO<&g7)Z z9zj9~blWWyF6D_v(%xUXkRaO62c%L!9x7aZfHs2aQ7l$mYf%2t>S$!TQqRhDR9mvsrKCzh7 z;+Rv0UQtt>0XyMJod-K+=+)5?5ZlvBot>Jtg)1R3wSQZuq_zybAs;pGgb;N?YEe_j zM(uH|&PE-XOh`y=)Z`CmM1m-c! zy2`gai4+zPsdP~t?TiN^WdEQ=?iDP`!})83hn9tQ@Dk}4w%INh868S=PPf?$drPDC z3wy8mf8XhLaBxRYlsD=(^Pgb9)@FSvK zB}rTxo>ED|HAu|%K0X~zTS+9$lp@X2{+jW{yf3zbX0YjPYEOqFx#*LvU2KmjCn4@9 z9VGZB;^4grrp1_a1_{ML2Q;QH(_~TuW!P&G=XM3ECn_|DJEm&U?;8z*{}kV-X9j9l zbG=B%_9CTV4*;9NIPDIftMog=Ot7>n03x%k^_MeQs#@-&9H!(7ZVUzQ0V}AmH?Uv_ za_g)VBS~2b{76EQg83CA>43j9#;VgsoK*?Hv_X*7g1PtDLd!5yt0%tEpr4$&N~28A zP$V$G_YlE%_*J7!$=3c?HG5<@8|Df!d^FR1N5VQ=Yx+r<4SYXA(XqjYTg$L|wcK-- ziyksNnBZw-Mf5EMZ6%B};Iyp-^S_Mq^qPH*9?(PZ> zudWD}pLH-8PK3~C2{w*OW^0h>0|yTwK6;x%;d#AfH2b3^XIlpkx5jQH8D$c>)$A=g zA~7SKo!D;v`8oZSB%E6CU(zYoXu~V2b>2gx5#3sx*PHFTTfeAnH@~rq^4oTveXvlZ z2MZ*X``E(RNWB5VE^7CLCL)ynycQ7#{o z$ZMO#=r3B5F<(>J0c}^! z83N!iRo|H+G{hQO4sK|}n!y%7%_b!cdN0)M}`QZMfUSa9$c3(9PUGW#ixt z^a-!V-eNu1I_i<%EC5ir{p9opWT#xxRDD-LPc>pl1ZsQsC$uQ;#lx=phx6G(m;(&W zU1VHFXZ^Ih@A!wmd)S_SF+RPVPfvweOu3~0`aZ+mD%NK$rPNaFQ*)MN8ShilW@Vpx zx=No(t@eF}J6o*Jn4Y9#&Bs1x=(Dq;PX(E;>{Cxy=`-o;zR#enTc6S7YbWy4JahWw zqMJBRgRBlQ*FEwGxawKmA5axpM${DkDeh_dD50!Kyz=ONj7=4A;Ror6F%WflMOtUe zO)P>370Gj#Y-jFX!)2FU3PteSxPlNoAh|0*eGV|e1cmxhRj5nQ^Bi4zu_y0-AO95g zZOMOIp;nu+)187oGPnu&GZjZLLf>#X3GDDCc*=9<#7DjK=$P~(`)oQr<6O9Z)J>0O z;v?+Rp|M_k)JczK<0EV@;j8KRNXd|<>TQ;L^ZP|`VV~9DNRdb-kPCw?e5cB|B{?)X z?1=LKb7&0i1kca(CcMS;Y!@aY50oolleCNuLH7)!Dgj0^k%33X-DKPwm4Ux$H3NUM zUc}$j%QDthde)|{>1K9d79-Eq$TWj`6o-o3nyUAOVoI>Mu4ivyhiFPzOdE>PT*EP= z1iwL3*-YgN%s{o-nK(EpX*pRB>;Nn2%Q&!_$sq`n#3Tbyw)ziJsaFyAeX|;PquI|D+0+JAiat- z_Znl;E!hNa1puJli*!=hct~Id9tcW50BgBY#%fu_`3i4tRmhMvJ#exS1Np&E_9aI- zP@y~|NG_Tb3mbt>tR>xnX30R{S!pm3oGzU$qE|?Ns1T8>3O z=UK}o&J!xvc7#8%%E6K_J60J)_2}pM{7I3}ydLW!At$)pTtLEPs~`-(AQ4Oz11)co z&R$dPG!PI&D44Q$D5H1MGPzSWX_W6YjWXP})c}Q|RJwP|qg1$b%MicTeEeQn+(CO~ zLn%!kK2W;zm+7*cUt&tq;pAdT7dWBu*`&hVO}6(*;$Q9}Qbs7%AipYeW@xutfvOa+ z#=))1)^9twKyWxqNP{g54zz_wY#ZA$2n^jl5*R1^J%MFS0?TwahTQp{z?22i6Ii-N z%0uHBW9q3#z(`=CPeFq`FOhnTz*&_BTthf|50N}{SfhgH}LA2u~x*ZXZmUzBin$&Y?mE)0HihNzUx`7 zB&-2zs&O;a4UdVmw)s{D^$6+QlM~C*Xe4drj8#;+ql&rwP#l#zZWI0?-<-eGtF@TS zxPj0m0%(Ye^#ws!GS-xWQy{3xb3kW1TXtV-&-dwD$aEMczR@YEC2=6Itl|$Jx zq;SBQrE+LY&yJJvX!C48BoY@k3{E3uQNT$(AP?yd>S~?LIrYFLQ_;S9ur{ zgNa|_RIFE54^L_#!y1sUum+e@ERt%^Y___5Nb7f28uTY0(4f!qgN~McnNFwN52ug( z%zoH^6#WPOqvxcL?)`1G^c?>Y)@UP5|IzmJ(TOh$g}3{U;`Q+UqqEaTAHaF?Qg^oh zD5f&Z`Z#QJpT$)v>Z0Y?uITYDO30cQRqnG#f>#zR;Il{KY&M^dl#6*jfq8DGu^nBqQyU@HYq58aAYZ9 zs6uZ?fIyNU+ThMYFJzGjen7-TuePl6^|7~&eI2Z<9tU7h)}6C~aBm$00dD-C>>4EW z9g$n^AQ>0jQepaZXEenS+}#@-QchP&>~QDuJ?r&K;t`4~NI%0-bJ@i1%Jywh?my;+ zVy8Qf_gAFw*smQApI?skybFN)3O!OMnwjNePHj^c7=^m-Y~x!UmuoXre-mEg1XBP! z!<50T&^;6uPjFDC9I~}V#H_6I8g#)r>~S5b$jqk+m5?f+ByP!qE0_$9lX!LOow@G(u-22&mU;5Lo@X%MMsjV88&^bwM@@s5IEIwJr|St- zK|7Iz8idMLPm{$xA{~gO7olRZzz|Adgi1h`2$je>5h|GxwN)T)3=tO_R5WhZf29Q! z7K=Fau$$*Ns{BnXoZlxbrd)Km1DIq^I*p28Qf*vNm+A;E?lUz5kdM(pDZi!QBLfZ~ z5CWER3puuDY&ZM2&F6#VRJyD73@M~hvdz1MDAJ8pT;e9mXR)!$sX@qrrg` z?Zh{L;YJXpi2MRPW8bJRk{<@3y?z&j{q=&+0;90c;?3T6osiY3NovNC2#yXn3eDp0d7wilZh0&(*_Fp zmdi^(MD?3&=R_@B2q03Bhpmwqr^_w|ZAZ(NT0})OZmEo(;wI&yNzY2b>56b|*A{ZO z-C7PNa)VvmoZ6|r>4i*5#OO##_OVWhb87pEQOZYpY8y$ImLgs6KWa2vIj zK5x1HNt1F;*0~^G5Om>SgG3e}hXt$)0dvo6xD=HX9c86q1TIQF#2QZGBs9 zD8bfelvz*3s1Z|y@B;{fmfBgP(Rd^Q+8RpBJ?60kkKYxZ&}yTgXDPuZ7?`GK6CjOQ zh7fckQb&?evbp-n5Gb2=MU06j)pU_PYZ9$bXk66fJBoVk^~`Hy20+@_F9i`)LAM4m zHk&=ZS1yWoiPjdNwXQOwVU-VbB^8P1Ep!(pqnshY9|}1;!}%ip4!oAO=i7H=Hl`E7 zs7J0%3%x0;zJj^1FF_0b_QDRgTJtwMKiwC>YUToI3iqBN$`S3Rv?!#)E1lZ+Mjf%C zbfWnQGtlic3_P-08Ej%&EVO9t4mq@<1wyYDq*0a4KJ63Ck6oX~J0`Q8!m`McV^~>a zITl71+1T|isi!XMzk6zBTy5jT30uExNWh2ac!IqmDzNs7tK>{)$GM(XICj@g7r2?0 zE%h2;kV@aSQBaOHXJRy{(yqsCVYa*U3xK@_QCnW=j`TQu!#7&9vaRrl zNMiy*FuqGgK^*_j;x1NxVN5DDyC*c;W*45J=pVRM{DJCH6Q;?Rp(X>-) zM}-GE1%FW4hOlf%0JAcOfJW`3BNkn$Pk9h-r(T)*w0+1QZ{(Z$hUz-?sa%mRCl%%U z`uo)^{yhYMU8gxm9Ed^#Vd-_ESUaj!9ORKt6uV#g8o2_grVO!4NDOJ|P*%3jn2m7( zzvE-*ZMC=NXgN@IHkol1QnmV!^+7n<+1D>@b94j?*vJ^3qpFa0&aDOvYK?)%;Syph z@u*qA8drg@zfWNKn02WEll19jm%-S8IF?{`8I;FitUE})FBr>B4S3+^+}tRIWbcS{ zzld=+xMa8??nNS^%#5av>Xcd&QKlF{%#o|#HjR)mxQ4o=#|4HRt}>VEH1Lt20WGzr zww_ap8q_j4#YC!nE;nLo2TAH${vyPZw1yX1{(079rbeb2nQlO)8IMflmVFfhC?N|c z`m`{kxwEwuI7%yG{S|*2w#!1NNeF(^VI?{Q2Y4g^K-2CyG7|MIB16@T06NP3I~{ZX z>T?E-y-#RIsr11yEiwz)4@2zR5H*_q9^y6-d7Q7dky)m2LUn*JgR^KLpKLgeQ&)k6 zJKl9M0DpOKx6_cqXy~qM!0wNfJopkh`nvA?1MaGe=u-RrQ<4n_j^KKOw{+yt_Y9wn zM+YI3bSr5_nfXG}F{&x|MMAmGxQt;;xzA(=v^pQulS^=)Ou2IpaEz)VuX5ZgAWbjD zn_+>CT9;~8#+z!R67gyq4dGQA_skj%UJXa-Yj6C@OJGgxQ?CF?v3wrT zpPVC2(BEVJ4ho% zL`x$@n~+9|qd*!dGG2NbNGw+|Ru63yIq>U~lB0@l=Pz{79Te>FxuZ{a7o10de!43O zGPBvft(Ui#i@1g-11&-#jsgLsLXwU`l8!>242pCGBs+MS3{Cr}K!%Au8H+@#ah4!Q zRPkTH;coiNjTpV9ePTptcs3%5H(5z%ZqRS_dU>bJdhOm+uh*R>4D5ls&5ns$#5SD? zVBF#N=BuQKXj-T+l|8cE&wi4gQ|YnKsZw2q6t(U4X|KGxe$aR`(u6btJ3`%bWpwd3ewr|gXmqtE!#yOqLbimH4!UO0 z%i98^Y{()F2qzhzhjexT=rTnB!Lt_~VjOY-m2P2}m5ZpXyp_71d@$w%l83nUO35XB zK1$e-LMX+^T2&M3UOm_O{WbV0-4g? z@sQ%5K7&O!dTopkdo+paH?06?@c_BMw6pFtOwF;Wzqtcjhi@uaoUs|i0mbc9Y^tIu z4h33MwV^pS_12HG8TL&Dt1~9j*i;PA)yyD$n<89oC%+iu4jSGO8m?{9vEkoix}o7< znr5F78xCmXKD8lj28fsN>~-4Tk~?Lafv236+UDLkY85%7d6ZE9Kk(d@PM$j(_ngV{ zGGqhgxgv$QB89jjg}5SxGQCsiMivUVq6+E%6uRe(Li#_&4jD|mmxn@L9*SKkrxc6q z1}JpT8O1(s+oG6YQ&8{qZ-aa`z+)9)fQl`VBlnMd$HP1t7nVedoN9yX~6k5csJh`!c!p<2c(RtCRgPN0a4Kxf4?zKI4!$!j-*iY1P zJUYcB1?^OkYYCKF)kE zZJ2**r9&%;x!bqCnaKN1VBypZ0!wpQDBdStpRzM-V8bq#1HSX*3zFfYJ7{C(3sMHw zHqA#itW|+GSP49(5NQC9Yw&u6kS5>_=#RxicVLzqL_P!UN(2YTeLKu-+1%^iJv4!c zMqR{FYr*gFtRst}jO$rXKIVMon5V|aOk#+s=7MAI(wNh_4qSVmjFbtQ8c^9B(Can@ z3=A?NhSjVJ#0duk+D8lw1BzypG>(8;vSFb@%+&5o_pUi4j~Q+8P=4S``2d|giXNE! zbQI>R4zRT@#PI7*v8HK&s8y_`?xY*G-SIo6SCJlqAC>UVqTBILAU9@sFpmarr1s-O z5g48eOo?a$eHn$yKsXzu1|#z0ErPm?t-(<6&`DJkJwqk_Uqbra-qi7; zp4N=SrfL9s2RIyhYVbmwbRnzB7{lnUgvQ2%Kb-k`KIV+k##zidak;u4f4Fnb2=P2% z(x5{Or5rqDgA)-*rUkY>T-rClWFK<`%xaZF{LiZ6T9c94xQvlC#swo2UNbIT^j4%n zX*5YYaOfAkLC!#ePGAEGuBxYaAZY~R46Wft4J2t3?rI{~Y#>30uz`eAv8xVbm6h7G zVx=~%x>5rFMnlvYErn3eE|J55uaT$BF><=S)g=J*trDYuFO7$T-pw~6%1+TpgVlC+PRt{ut9D1P5Tyr4W zvoHcY6WS37RL4GU5;5v??i!0P(Jietyxezevj*{IG8fIb6hGj;sf#NyLb+f1STW$7 zt{3P1wYd8#YrYJ8K&dy2dROhI$1-&IKC>5CVEL*1^ctJ@W z7Dp5o6krHp8d_828X8fGeGpyvl?{OpeU0WRSlI@Q!pe#W##c7NEUoN|S6f+)Hw9tT ztNNke*Q$nSj2O+lDkV?I+g5>LVksI!irc7R7D6{{1=oVvgm~2$LBK0+XOrU6pauj{ z1JAl+BTOeG#W=d|!;gB#5yC(SuU3`#>02 z2m~>ddkTb81LXn{aN&#zrvS6DG1Va(i3CE_#*X#Gm*ec zPDTQoqJ*zW;5XkT5(q&c(`zxd2}xj;+vAjF3lay`M-XSz=To~;7IF+8ioWfIIn#Eh-rQ-EiU5d=Kb)_k1R#w}YKTGTO8 zxQ(`tX}1=FZl>0P&xC@YvE>b;Q=ZMh_?7jcAlWBwCiXS@!*24!S8Ke^TSnycBxRvx ziRq4-e{D^FrFjvE_yYZ*jaE%g>zOyAI=S4uVY^+wJJ+3)e$=V2Xr;DYONu&j*T5`M z)i8S4wxy0cn&!4~6L_l*a6))CcE16hMZ*L#=Vq=NZHlpdooY_DkI_8l`VrerjP&Bz zJ$Ku8agAhYB2o$J6Oa$-GWYhNjOmot+_SGT>eV)ZtBv|zQ+HXYk+;hX8fF=ds6G@a z-IsjH1MXUO;bbJX-8D2#)_da$Enr+{#|zgO)JCtdbEmXtHe^xJRtG�JG?P)DXpv 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

lCE4^IF1Iq4rS*B|RT>H1nxC)Yu|niLhgYETE& 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

(?z*b(TC}VbeL{XFukfN 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

    -sn_~c{+24iQdFoRjs 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 UI=xfVnO&OB?$&hf98Kr{A8JXe`~Uy| literal 0 HcmV?d00001 diff --git a/docs/git-core.b75bc635.wasm b/docs/git-core.b75bc635.wasm new file mode 100644 index 0000000000000000000000000000000000000000..bd6ea4efb86572fdfc3bc185d0bb089d6837894e GIT binary patch literal 243235 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�@8e&^$b9Uqo4~W0b72%BwAUbX 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 I?jzIw9~)+9ga7~l literal 0 HcmV?d00001 diff --git a/docs/index.4a5edb74.js b/docs/index.4a5edb74.js new file mode 100644 index 0000000..cc3fdf8 --- /dev/null +++ b/docs/index.4a5edb74.js @@ -0,0 +1,2 @@ +function e(e,r,t,n){Object.defineProperty(e,r,{get:t,set:n,enumerable:!0,configurable:!0})}var r,t,n,o,a,i,s,u,l,c,d,f,m,h,p,v,w,g,_,y="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},E={},b={},k=y.parcelRequire847f;null==k&&((k=function(e){if(e in E)return E[e].exports;if(e in b){var r=b[e];delete b[e];var t={id:e,exports:{}};return E[e]=t,r.call(t.exports,t,t.exports),t.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,r){b[e]=r},y.parcelRequire847f=k);var S,D,F,M,P,A,x,R,C,T={},N=[],z=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,B=Array.isArray;function O(e,r){for(var t in r)e[t]=r[t];return e}function j(e){var r=e.parentNode;r&&r.removeChild(e)}function I(e,r,t){var n,o,a,i={};for(a in r)"key"==a?n=r[a]:"ref"==a?o=r[a]:i[a]=r[a];if(arguments.length>2&&(i.children=arguments.length>3?S.call(arguments,2):t),"function"==typeof e&&null!=e.defaultProps)for(a in e.defaultProps)void 0===i[a]&&(i[a]=e.defaultProps[a]);return L(e,i,n,o,null)}function L(e,r,t,n,o){var a={type:e,props:r,key:t,ref:n,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++F:o};return null==o&&null!=D.vnode&&D.vnode(a),a}function U(e){return e.children}function H(e,r){this.props=e,this.context=r}function W(e,r){if(null==r)return e.__?W(e.__,e.__.__k.indexOf(e)+1):null;for(var t;rr&&P.sort(R));Y.__r=0}function G(e,r,t,n,o,a,i,s,u,l){var c,d,f,m,h,p,v,w=n&&n.__k||N,g=w.length;for(t.__k=[],c=0;c0?L(m.type,m.props,m.key,m.ref?m.ref:null,m.__v):m)){if(m.__=t,m.__b=t.__b+1,null===(f=w[c])||f&&m.key==f.key&&m.type===f.type)w[c]=void 0;else for(d=0;d=0;t--)if((n=r.__k[t])&&(o=e(n)))return o}return null}(n).nextSibling),function e(r,t,n){var o,a;if(D.unmount&&D.unmount(r),(o=r.ref)&&(o.current&&o.current!==r.__e||ee(o,null,t)),null!=(o=r.__c)){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(e){D.__e(e,t)}o.base=o.__P=null,r.__c=void 0}if(o=r.__k)for(a=0;a2&&(s.children=arguments.length>3?S.call(arguments,2):t),L(e.type,s,n||e.key,o||e.ref,null)}S=N.slice,D={__e:function(e,r,t,n){for(var o,a,i;r=r.__;)if((o=r.__c)&&!o.__)try{if((a=o.constructor)&&null!=a.getDerivedStateFromError&&(o.setState(a.getDerivedStateFromError(e)),i=o.__d),null!=o.componentDidCatch&&(o.componentDidCatch(e,n||{}),i=o.__d),i)return o.__E=o}catch(r){e=r}throw e}},F=0,M=function(e){return null!=e&&void 0===e.constructor},H.prototype.setState=function(e,r){var t;t=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=O({},this.state),"function"==typeof e&&(e=e(O({},t),this.props)),e&&O(t,e),null!=e&&this.__v&&(r&&this._sb.push(r),q(this))},H.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),q(this))},H.prototype.render=U,P=[],x="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,R=function(e,r){return e.__v.__b-r.__v.__b},Y.__r=0,C=0;var en=0;function eo(e,r,t,n,o,a){var i,s,u={};for(s in r)"ref"==s?i=r[s]:u[s]=r[s];var l={type:e,props:u,key:t,ref:i,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--en,__source:o,__self:a};if("function"==typeof e&&(i=e.defaultProps))for(s in i)void 0===u[s]&&(u[s]=i[s]);return D.vnode&&D.vnode(l),l}var ea,ei,es,eu,el=0,ec=[],ed=[],ef=D.__b,em=D.__r,eh=D.diffed,ep=D.__c,ev=D.unmount;function ew(e,r){D.__h&&D.__h(ei,e,el||r),el=0;var t=ei.__H||(ei.__H={__:[],__h:[]});return e>=t.__.length&&t.__.push({__V:ed}),t.__[e]}function eg(e){return el=1,function(e,r,t){var n=ew(ea++,2);if(n.t=e,!n.__c&&(n.__=[t?t(r):eA(void 0,r),function(e){var r=n.__N?n.__N[0]:n.__[0],t=n.t(r,e);r!==t&&(n.__N=[t,n.__[1]],n.__c.setState({}))}],n.__c=ei,!ei.u)){var o=function(e,r,t){if(!n.__c.__H)return!0;var o=n.__c.__H.__.filter(function(e){return e.__c});if(o.every(function(e){return!e.__N}))return!a||a.call(this,e,r,t);var i=!1;return o.forEach(function(e){if(e.__N){var r=e.__[0];e.__=e.__N,e.__N=void 0,r!==e.__[0]&&(i=!0)}}),!(!i&&n.__c.props===e)&&(!a||a.call(this,e,r,t))};ei.u=!0;var a=ei.shouldComponentUpdate,i=ei.componentWillUpdate;ei.componentWillUpdate=function(e,r,t){if(this.__e){var n=a;a=void 0,o(e,r,t),a=n}i&&i.call(this,e,r,t)},ei.shouldComponentUpdate=o}return n.__N||n.__}(eA,e)}function e_(e,r){var t=ew(ea++,3);!D.__s&&eP(t.__H,r)&&(t.__=e,t.i=r,ei.__H.__h.push(t))}function ey(e,r){var t=ew(ea++,4);!D.__s&&eP(t.__H,r)&&(t.__=e,t.i=r,ei.__h.push(t))}function eE(e){return el=5,eb(function(){return{current:e}},[])}function eb(e,r){var t=ew(ea++,7);return eP(t.__H,r)?(t.__V=e(),t.i=r,t.__h=e,t.__V):t.__}function ek(){for(var e;e=ec.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(eF),e.__H.__h.forEach(eM),e.__H.__h=[]}catch(r){e.__H.__h=[],D.__e(r,e.__v)}}D.__b=function(e){ei=null,ef&&ef(e)},D.__r=function(e){em&&em(e),ea=0;var r=(ei=e.__c).__H;r&&(es===ei?(r.__h=[],ei.__h=[],r.__.forEach(function(e){e.__N&&(e.__=e.__N),e.__V=ed,e.__N=e.i=void 0})):(r.__h.forEach(eF),r.__h.forEach(eM),r.__h=[],ea=0)),es=ei},D.diffed=function(e){eh&&eh(e);var r=e.__c;r&&r.__H&&(r.__H.__h.length&&(1!==ec.push(r)&&eu===D.requestAnimationFrame||((eu=D.requestAnimationFrame)||eD)(ek)),r.__H.__.forEach(function(e){e.i&&(e.__H=e.i),e.__V!==ed&&(e.__=e.__V),e.i=void 0,e.__V=ed})),es=ei=null},D.__c=function(e,r){r.some(function(e){try{e.__h.forEach(eF),e.__h=e.__h.filter(function(e){return!e.__||eM(e)})}catch(t){r.some(function(e){e.__h&&(e.__h=[])}),r=[],D.__e(t,e.__v)}}),ep&&ep(e,r)},D.unmount=function(e){ev&&ev(e);var r,t=e.__c;t&&t.__H&&(t.__H.__.forEach(function(e){try{eF(e)}catch(e){r=e}}),t.__H=void 0,r&&D.__e(r,t.__v))};var eS="function"==typeof requestAnimationFrame;function eD(e){var r,t=function(){clearTimeout(n),eS&&cancelAnimationFrame(r),setTimeout(e)},n=setTimeout(t,100);eS&&(r=requestAnimationFrame(t))}function eF(e){var r=ei,t=e.__c;"function"==typeof t&&(e.__c=void 0,t()),ei=r}function eM(e){var r=ei;e.__c=e.__(),ei=r}function eP(e,r){return!e||e.length!==r.length||r.some(function(r,t){return r!==e[t]})}function eA(e,r){return"function"==typeof r?r(e):r}const ex=!!("undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement);function eR(e,r){return e===r&&(0!==e||1/e==1/r)||e!=e&&r!=r}const eC=e=>{let r=eE([e,(...e)=>r[0](...e)]).current;return ey(()=>{r[0]=e}),r[1]},eT=(e="",r=location.pathname)=>r.toLowerCase().indexOf(e.toLowerCase())?"~"+r:r.slice(e.length)||"/",eN=(e,r="")=>"~"===e[0]?e.slice(1):r+e,ez="pushState",eB="replaceState",eO=["popstate",ez,eB,"hashchange"],ej=e=>{for(let r of eO)addEventListener(r,e);return()=>{for(let r of eO)removeEventListener(r,e)}},eI=(e,r)=>(function(e,r,t){t&&!ex&&(r=t);let n=r(),[{_instance:o},a]=eg({_instance:{_value:n,_getSnapshot:r}});return ey(()=>{o._value=n,o._getSnapshot=r,eR(o._value,r())||a({_instance:o})},[e,n,r]),e_(()=>(eR(o._value,o._getSnapshot())||a({_instance:o}),e(()=>{eR(o._value,o._getSnapshot())||a({_instance:o})})),[e]),n})(ej,e,r),eL=()=>location.pathname,eU=({ssrPath:e}={})=>eI(eL,e?()=>e:eL),eH=(e,{replace:r=!1}={})=>history[r?eB:ez](null,"",e);if("undefined"!=typeof history)for(const e of[ez,eB]){let r=history[e];history[e]=function(){let t=r.apply(this,arguments),n=new Event(e);return n.arguments=arguments,dispatchEvent(n),t}}const eW=e=>e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),eq=(e,r,t)=>{let n=e?"((?:[^\\/]+?)(?:\\/(?:[^\\/]+?))*)":"([^\\/]+?)";return r&&t&&(n="(?:\\/"+n+")"),n+(r?"?":"")},eY=e=>{let r=/:([A-Za-z0-9_]+)([?+*]?)/g,t=null,n=0,o=[],a="";for(;null!==(t=r.exec(e));){let[i,s,u]=t,l="+"===u||"*"===u,c="?"===u||"*"===u,d=c&&"/"===e[t.index-1]?1:0,f=e.substring(n,t.index-d);o.push({name:s}),n=r.lastIndex,a+=eW(f)+eq(l,c,d)}return{keys:o,regexp:RegExp("^"+(a+=eW(e.substring(n)))+"(?:\\/)?$","i")}},eG={hook:(e={})=>[eT(e.base,eU(e)),eC((r,t)=>eH(eN(r,e.base),t))],matcher:function(e=eY){let r={},t=t=>r[t]||(r[t]=e(t));return(e,r)=>{let{regexp:n,keys:o}=t(e||""),a=n.exec(r);if(!a)return[!1,null];let i=o.reduce((e,r,t)=>(e[r.name]=a[t+1],e),{});return[!0,i]}}(),base:""},eV=function(e,r){var t={__c:r="__cC"+C++,__:e,Consumer:function(e,r){return e.children(r)},Provider:function(e){var t,n;return this.getChildContext||(t=[],(n={})[r]=this,this.getChildContext=function(){return n},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&t.some(function(e){e.__e=!0,q(e)})},this.sub=function(e){t.push(e);var r=e.componentWillUnmount;e.componentWillUnmount=function(){t.splice(t.indexOf(e),1),r&&r.call(e)}}),e.children}};return t.Provider.__=t.Consumer.contextType=t}(eG),eX=()=>(function(e){var r=ei.context[e.__c],t=ew(ea++,9);return t.c=e,r?(null==t.__&&(t.__=!0,r.sub(ei)),r.props.value):e.__})(eV),eK=e=>e.hook(e),e$=e=>{let r=eX(),[t]=eK(r);return r.matcher(e,t)},eJ=({hook:e,matcher:r,ssrPath:t,base:n="",parent:o,children:a})=>{let i=(a,i=o||eG)=>(a.hook=e||i.hook,a.matcher=r||i.matcher,a.ssrPath=t||i.ssrPath,a.ownBase=n,a.parent=o,a),[s]=eg(()=>i({get base(){return(s.parent||eG).base+s.ownBase}}));return ey(()=>{i(s)}),I(eV.Provider,{value:s,children:a})},eZ=({path:e,match:r,component:t,children:n})=>{let o=e$(e),[a,i]=r||o;return a?t?I(t,{params:i}):"function"==typeof n?n(i):n:null},eQ=(e,r)=>{let t=eX(),[,n]=eK(t),{to:o,href:a=o,children:i,onClick:s}=e,u=eC(r=>{r.ctrlKey||r.metaKey||r.altKey||r.shiftKey||0!==r.button||(s&&s(r),r.defaultPrevented||(r.preventDefault(),n(o||a,e)))}),l={href:"~"===a[0]?a.slice(1):t.base+a,onClick:u,to:null,ref:r},c=M(i)?i:I("a",e);return et(c,l)},e0=e=>Array.isArray(e)?[].concat(...e.map(e=>e&&e.type===U?e0(e.props.children):e0(e))):[e],e1=({children:e,location:r})=>{let t=eX(),n=t.matcher,[o]=eK(t);for(let t of e0(e)){let e=0;if(M(t)&&(e=t.props.path?n(t.props.path,r||o):[!0,{}])[0])return et(t,{match:e})}return null},e2=()=>window.location.hash.replace("#","")||"/",e4=({url:e})=>`/#/play/${encodeURIComponent(e)}`,e6=e=>{if("/"===e)return"home";let r=e.split("/").filter(Boolean)[0];return r||""},e3=()=>{var e;let[r,t]=eg(e2());e_(()=>{let e=()=>{let e=e2();e!==r&&(t(e),window.scrollTo(0,0))};return e(),window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)},[r,t]);let n=(e=e=>{window.location.hash=e.replace("#/","")},el=8,eb(function(){return e},[]));return[r,n]},e9=["light","dim","dark","solarized-light","solarized-dark","emo","redrum","toxin","valve","wasp","a8008","a80s_after_dark","a9009","aether","alduin","alpine","arch","aurora","beach","bento","bingsu","bliss","blue_dolphin","blueberry_dark","blueberry_light","botanical","bouquet","breeze","bushido","cafe","camping","carbon","catppuccin","chaos_theory","cheesecake","cherry_blossom","comfy","copper","creamsicle","cyberspace","dark_magic_girl","dark_note","darling","deku","desert_oasis","dev","diner","dino","dmg","dollar","dots","dracula","drowning","dualshot","earthsong","everblush","evil_eye","ez_mode","fire","fledgling","fleuriste","froyo","frozen_llama","fruit_chew","fundamentals","future_funk","godspeed","graen","grand_prix","gruvbox_dark","gruvbox_light","hammerhead","hanok","hedge","honey","horizon","husqy","iceberg_dark","iceberg_light","ishtar","iv_clover","iv_spade","joker","laser","lavender","leather","lil_dragon","lime","luna","magic_girl","mashu","matcha_moccha","material","matrix","menthol","metaverse","metropolis","mexican","miami","miami_nights","midnight","milkshake","mint","mizu","modern_dolch","modern_dolch_light","modern_ink","monokai","moonlight","mountain","mr_sleeves","ms_cupcakes","muted","nautilus","nebula","night_runner","nord","nord_light","norse","oblivion","olive","olivia","onedark","our_theme","paper","passion_fruit","pastel","peach_blossom","peaches","pink_lemonade","pulse","purpurite","red_dragon","red_samurai","repose_dark","repose_light","retro","retrocast","rose_pine","rose_pine_dawn","rose_pine_moon","rudy","ryujinscales","serika","serika_dark","sewing_tin","sewing_tin_light","shadow","shoko","slambook","snes","soaring_skies","sonokai","stealth","strawberry","striker","superuser","sweden","taro","terminal","terra","terror_below","tiramisu","trackday","trance","tron_orange","vaporwave","viridescent","voc","vscode","watermelon","wavez","witch_girl"],e8="elseifplayer/theme",e5=e9[0],e7=()=>{let e=localStorage.getItem(e8);return e||e5},re=e=>e9.includes(e)?e:e7(),rr=(e=e7())=>{let[r,t]=eg(e),n=e=>{let r=re(e);t(r),localStorage.setItem(e8,r)};return{currentTheme:r,setTheme:n,setRandomTheme:()=>{let e=e9[Math.floor(Math.random()*e9.length)];n(e)},themes:e9}};function rt({theme:e,setLocation:r,buildLink:t}){return eo("input",{type:"file",onChange:({target:n})=>{let o=n.files[0],a=`${URL.createObjectURL(o)}#${o.name}`;r(t({url:a,theme:e}))}})}function rn({theme:e,setLocation:r,buildLink:t}){let n=/^(http|https):\/\/[^ "]+$/;return eo("input",{type:"text",placeholder:"https://...",onKeyPress:({keyCode:o,target:a})=>{if(13!==o)return;let i=encodeURI(a.value);n.test(i)&&r(t({url:i,theme:e}))}})}function ro({themeEngine:e}){let r=e.themes.map(e=>eo("option",{value:e,children:e},e));return eo("select",{value:e.currentTheme,onChange:({target:r})=>e.setTheme(r.value),children:r})}function ra({themeEngine:e}){let r=e3()[1];return eo("main",{children:[eo("h1",{children:"ElseIFPlayer"}),eo("section",{children:eo("p",{children:["Interactive Fiction interpreter that runs right in your browser.",eo("br",{}),"Source code can be found in this ",eo("a",{target:"_blank",rel:"noopener noreferrer",href:"https://github.com/He4eT/elseifplayer",children:"repository"}),"."]})}),eo("hr",{}),eo("section",{children:[eo("h2",{children:"Interface Theme"}),eo(ro,{themeEngine:e}),eo("p",{children:["Preview and choose from available themes on the ",eo(eQ,{href:"/#/themes/",children:"themes page"}),"."]}),eo("p",{children:eo("small",{children:"Double-click the input field during the game to enter full-screen mode."})})]}),eo("hr",{}),eo("section",{children:[eo("h2",{children:"Play a Game from the List"}),eo("p",{children:eo(eQ,{href:"/#/games/",children:"IFDB games"})})]}),eo("hr",{}),eo("section",{children:[eo("h2",{children:"Play the Game from a File"}),eo("p",{children:eo("details",{children:[eo("summary",{children:"Supported formats"}),eo("p",{children:"Text-only games are supported:"}),eo("ul",{children:[eo("li",{children:"ADRIFT 4 (.taf)"}),eo("li",{children:"Glulx (.gblorb, .ulx)"}),eo("li",{children:"Hugo (.hex)"}),eo("li",{children:"TADS 2/3 (.gam, .t3)"}),eo("li",{children:"Z-code (.z3, .z4, .z5, .z8, .blorb)"})]})]})}),eo("p",{children:eo("label",{children:["Local file: ",eo("br",{}),eo(rt,{setLocation:r,buildLink:e4,theme:e.currentTheme})]})}),eo("p",{children:eo("label",{children:["Direct link: ",eo("br",{}),eo(rn,{setLocation:r,buildLink:e4,theme:e.currentTheme})]})})]})]})}function ri({name:e,ifdb:r,url:t}){return eo("div",{children:[eo("h4",{children:e}),eo("a",{target:"_blank",rel:"noopener noreferrer",href:r,children:"IFDB page"}),eo("span",{children:" | "}),eo(eQ,{href:e4({url:t}),children:"Play"})]})}var rs=[["Lost Pig","https://ifdb.org/viewgame?id=mohwfk47yjzii14w","https://mirror.ifarchive.org/if-archive/games/zcode/LostPig.z8"],["Counterfeit Monkey","https://ifdb.org/viewgame?id=aearuuxv83plclpl","https://mirror.ifarchive.org/if-archive/games/glulx/CounterfeitMonkey.gblorb"],["Anchorhead","https://ifdb.org/viewgame?id=op0uw1gn1tjqmjt7","https://ifarchive.org/if-archive/games/zcode/anchor.z8"],["Galatea","https://ifdb.org/viewgame?id=urxrv27t7qtu52lb","https://mirror.ifarchive.org/if-archive/games/zcode/Galatea.zblorb"],["Photopia","https://ifdb.org/viewgame?id=ju778uv5xaswnlpl","https://mirror.ifarchive.org/if-archive/games/zcode/photopia.z5"],["Spider and Web","https://ifdb.org/viewgame?id=2xyccw3pe0uovfad","https://mirror.ifarchive.org/if-archive/games/zcode/Tangle.z5"],["Slouching Towards Bedlam","https://ifdb.org/viewgame?id=032krqe6bjn5au78","https://mirror.ifarchive.org/if-archive/games/competition2003/zcode/slouch/slouch.z5"],["Curses!","https://ifdb.org/viewgame?id=plvzam05bmz3enh8","https://mirror.ifarchive.org/if-archive/games/zcode/curses.z5"],["Violet","https://ifdb.org/viewgame?id=4glrrfh7wrp9zz7b","https://mirror.ifarchive.org/if-archive/games/zcode/Violet.zblorb"],["The Wizard Sniffer","https://ifdb.org/viewgame?id=uq18rw9gt8j58da","https://ifarchive.org/if-archive/games/competition2017/The%20Wizard%20Sniffer/The_Wizard_Sniffer.gblorb"],["Shade","https://ifdb.org/viewgame?id=hsfc7fnl40k4a30q","https://mirror.ifarchive.org/if-archive/games/zcode/shade.z5"],["Vespers","https://ifdb.org/viewgame?id=6dj2vguyiagrhvc2","https://mirror.ifarchive.org/if-archive/games/zcode/vespers.z8"],["Savoir-Faire","https://ifdb.org/viewgame?id=p0cizeb3kiwzlm2p","https://mirror.ifarchive.org/if-archive/games/zcode/Savoir-Faire.zblorb"],["Aisle","https://ifdb.org/viewgame?id=j49crlvd62mhwuzu","https://mirror.ifarchive.org/if-archive/games/zcode/Aisle.z5"],["Gun Mute","https://ifdb.org/viewgame?id=xwedbibfksczn7eq","https://mirror.ifarchive.org/if-archive/games/tads/GunMute.t3"],["A Beauty Cold and Austere","https://ifdb.org/viewgame?id=y9y7jozi0l76bb82","https://ifarchive.org/if-archive/games/competition2017/A%20Beauty%20Cold%20and%20Austere/A_Beauty_Cold_and_Austere.gblorb"],["Coloratura","https://ifdb.org/viewgame?id=g0fl99ovcrq2sqzk","https://mirror.ifarchive.org/if-archive/games/competition2013/glulx/coloratura/Coloratura.gblorb"],["Lime Ergot","https://ifdb.org/viewgame?id=b8mb4fcwmf1hrxl","https://mirror.ifarchive.org/if-archive/games/glulx/Lime_Ergot.gblorb"],["Rameses","https://ifdb.org/viewgame?id=0stz0hr7a98bp9mp","https://mirror.ifarchive.org/if-archive/games/zcode/rameses.zblorb"],["The Wand","https://ifdb.org/viewgame?id=2jil5vbxmbv8riv1","https://ifarchive.org/if-archive/games/glulx/Wand.ulx"],["1893: A World's Fair Mystery","https://ifdb.org/viewgame?id=00e0t7swrris5pg6","https://mirror.ifarchive.org/if-archive/games/tads/1893.gam"],["Adventure","https://ifdb.org/viewgame?id=fft6pu91j85y4acv","https://mirror.ifarchive.org/if-archive/games/zcode/Advent.z5"],["Alias 'The Magpie'","https://ifdb.org/viewgame?id=yspn49v69hzc8rtb","https://ifarchive.org/if-archive/games/competition2018/Alias%20The%20Magpie/Alias%20%27The%20Magpie%27.gblorb"],["Cragne Manor","https://ifdb.org/viewgame?id=4x7nltu8p851tn4x","https://mirror.ifarchive.org/if-archive/games/glulx/cragne.gblorb"],["The Edifice","https://ifdb.org/viewgame?id=4tb9soabrb4apqzd","https://mirror.ifarchive.org/if-archive/games/zcode/edifice.z5"],["Endless, Nameless","https://ifdb.org/viewgame?id=7vtm1rq16hh3xch","https://ifarchive.org/if-archive/games/zcode/nameless.z8"],["Everybody Dies","https://ifdb.org/viewgame?id=lyblvftb8xtlo0a1","https://mirror.ifarchive.org/if-archive/games/competition2008/glulx/everybodydies/EverybodyDies.gblorb"],["Foo Foo","https://ifdb.org/viewgame?id=ec6x9y8qcmsrxob9","https://ifarchive.org/if-archive/games/springthing/2016/FooFoo.gblorb"],["The Gostak","https://ifdb.org/viewgame?id=w5s3sv43s3p98v45","https://mirror.ifarchive.org/if-archive/games/zcode/gostak.z5"],["Inside the Facility","https://ifdb.org/viewgame?id=stsdri5zh7a4i5my","https://ifarchive.org/if-archive/games/competition2016/Inside%20the%20Facility/Facility.z8"],["Make It Good","https://ifdb.org/viewgame?id=jdrbw1htq4ah8q57","https://mirror.ifarchive.org/if-archive/games/zcode/MakeItGood.z8"],["Sub Rosa","https://ifdb.org/viewgame?id=73nvz9yui87ub3sd","https://mirror.ifarchive.org/if-archive/games/glulx/Sub_Rosa.gblorb"],["Suveh Nux","https://ifdb.org/viewgame?id=xkai23ry99qdxce3","https://mirror.ifarchive.org/if-archive/games/zcode/suvehnux.z5"],["Varicella","https://ifdb.org/viewgame?id=ywwlr3tpxnktjasd","https://mirror.ifarchive.org/if-archive/games/zcode/vgame.z8"]].map(([e,r,t])=>({name:e,ifdb:r,url:t}));const ru={name:"The Dreamhold",ifdb:"https://ifdb.org/viewgame?id=3myqnrs64nbtwdaz",url:"https://mirror.ifarchive.org/if-archive/games/zcode/dreamhold.z8"};function rl(){return eo("main",{className:"-soi4G_games",children:[eo("h1",{children:[eo("a",{target:"_blank",rel:"noopener noreferrer",href:"https://ifdb.org/",title:"The Interactive Fiction Database",children:"IFDB"})," Games"]}),eo("p",{children:["Choose one or ",eo(eQ,{href:"/",children:"go back"}),"."]}),eo("section",{className:"-soi4G_tutorial",children:[eo("h2",{children:"Tutorial"}),eo("p",{children:"If you are not familiar with Interactive Fiction, you should start with this tutorial game by\xa0Andrew\xa0Plotkin:"}),eo("ul",{children:eo("li",{children:eo(ri,{...ru})})})]}),eo("h2",{children:"Interactive Fiction Top 50 of All Time"}),eo("p",{children:[eo("a",{target:"_blank",rel:"noopener noreferrer",href:"https://ifdb.org/search?comp&sortby=awn&searchfor=series%3AInteractive+Fiction+Top+50+of+All+Time",children:"Every four years "}),", Victor Gijsbers puts together a list of the top 50 IF games of all time. Here is an almost complete and slightly rearranged version of the ",eo("a",{target:"_blank",rel:"noopener noreferrer",href:"https://ifdb.org/viewcomp?id=1lv599reviaxvwo7",children:"list from 2019"}),":"]}),eo("ol",{children:rs.map(e=>eo("li",{children:eo(ri,{...e})},e.name))})]})}r="qdlvgW_input",t="qdlvgW_message",n="qdlvgW_output",o="qdlvgW_subheader",a="qdlvgW_themePreview";const rc=(e,i)=>eo("section",{className:[a,i].join(" "),children:[eo("div",{className:n,children:[eo("div",{className:[t,r].join(" "),children:"> look"}),eo("div",{children:eo("br",{})}),eo("div",{className:[t,o].join(" "),children:i}),eo("div",{children:"Observe a vibrant demonstration of colors at work, showcasing their versatile usage right before your eyes."}),eo("div",{children:eo("br",{})})]}),eo("button",{onClick:()=>e.setTheme(i),children:"Apply this colors"})]},i);function rd({themeEngine:e}){let i=e.themes.map(r=>rc(e,r));return eo("main",{className:"qdlvgW_themes",children:[eo("h1",{children:"Themes Page"}),eo("p",{children:["Choose one or ",eo(eQ,{href:"/",children:"go back"}),"."]}),eo("section",{className:[a,"qdlvgW_current"].join(" "),children:[eo("h2",{children:"Current Theme"}),eo("div",{className:n,children:[eo("div",{className:[t,r].join(" "),children:"> look"}),eo("div",{children:eo("br",{})}),eo("div",{className:[t,o].join(" "),children:["Selected: ",e.currentTheme]}),eo("div",{children:"You can set random one with the button below or choose any theme from the list."}),eo("div",{children:eo("br",{})})]}),eo("button",{onClick:()=>e.setRandomTheme(),children:"Set a random theme"})]}),eo("h2",{children:"Theme List"}),eo("section",{children:i})]})}class rf{constructor(e){this.dialog=e.options.Dialog,this.streaming=this.dialog.streaming,this.FS=e.Module.FS,this.VM=e,this.filename_map={},this.filename_counter=0}close(e){"storyfile"===e.name||(this.streaming?e.fstream.fclose():2!==e.fmode&&this.dialog.file_write(e.fref,e.data))}createNode(e,r,t){let n=this.FS;if(!n.isDir(t)&&!n.isFile(t))throw new n.ErrnoError(28);let o=n.createNode(e,r,t);return o.node_ops=this,o.stream_ops=this,o.timestamp=Date.now(),o}getattr(e){let r="storyfile"===e.name?this.VM.data.length:0;return{atime:new Date(e.timestamp),ctime:new Date(e.timestamp),dev:1,gid:0,ino:e.id,mode:e.mode,mtime:new Date(e.timestamp),nlink:1,rdev:e.rdev,size:r,uid:0}}get_dialog_ref(e){let[r,t]=e.split(".");t=t.replace("glk","");let n="";return"save"===t&&(n=this.VM.Module.AsciiToString(this.VM.Module._gidispatch_get_game_id())),this.dialog.file_construct_ref(r,t,n)}llseek(e,r,t){let n=r;if(1===t)n+=e.position;else if(2===t){if("storyfile"===e.name)n+=e.data.length;else if(this.streaming){let r=e.fstream.ftell();e.fstream.fseek(0,2),n+=e.fstream.ftell(),e.fstream.fseek(r,0)}else n+=e.data.length}if(n<0)throw new this.FS.ErrnoError(28);return n}lookup(e,r){if("storyfile"!==r){let e=this.filename_map[r]||r;if(!this.dialog.file_ref_exists(this.streaming?{filename:e}:this.get_dialog_ref(e)))throw new this.FS.ErrnoError(44)}return this.createNode(e,r,33206)}mknod(e,r,t){return this.createNode(e,r,t)}mmap(){throw Error("EmglkenFS.mmap")}mount(){return this.createNode(null,"/",16895,0)}msync(){throw Error("EmglkenFS.msync")}open(e){if(e.name=e.node.name,"storyfile"===e.name)e.data=this.VM.data;else{var r;let t=1024&(r=e.flags)?5:1&r?1:2&r?3:2,n=this.filename_map[e.name]||e.name;this.streaming?e.fstream=this.dialog.file_fopen(t,{filename:n}):(e.fref=this.get_dialog_ref(n),e.fmode=t,e.data=null,1!==t&&(e.data=this.dialog.file_read(e.fref)),null==e.data&&(e.data=new Uint8Array(0),2!==t&&this.dialog.file_write(e.fref,"",!0)))}}read(e,r,t,n,o){if(0===n)return 0;if("storyfile"===e.name){let a=Math.min(e.data.length-o,n);return r.set(e.data.subarray(o,o+a),t),a}if(this.streaming){e.fstream.fseek(o,0);let a=e.fstream.BufferClass.from(r.buffer,t,n);return e.fstream.fread(a,n)}{let a=Math.min(e.data.length-o,n);return r.set(e.data.subarray(o,o+a),t),a}}readdir(){throw Error("EmglkenFS.readdir")}readlink(){throw new this.FS.ErrnoError(28)}register_filename(e,r){let t="save"===r?".glksave":"data"===r?".glkdata":".txt";if(/\.(glkdata|glksave|txt)$/.test(e)||(e+=t),this.filename_map[e])return this.filename_map[e];let n="emglken_fake_file_"+this.filename_counter++;return this.filename_map[e]=n,this.filename_map[n+t]=e,n}rename(){throw Error("EmglkenFS.rename")}rmdir(){throw Error("EmglkenFS.rmdir")}setattr(){}symlink(){throw Error("EmglkenFS.symlink")}unlink(e,r){let t=this.filename_map[r]||r;this.dialog.file_remove_ref(this.get_dialog_ref(t))}write(e,r,t,n,o){if("storyfile"===e.name)throw Error("EmglkenFS.write: cannot write to storyfile");if(this.streaming){e.fstream.fseek(o,0);let a=e.fstream.BufferClass.from(r).subarray(t,t+n);return e.fstream.fwrite(a,n)}{o=o||e.position;let a=n+o;if(a>e.data.length){let r=e.data;e.data=new Uint8Array(a),e.data.set(r)}return e.data.set(r.subarray(t,t+n),o),n}}}const rm={arguments:["storyfile"]};class rh{init(e,r){this.data=e,this.options=Object.assign({},rm,this.default_options(),r)}async start(){let e=new TextEncoder,r="",t={arguments:this.options.show_help?["-help"]:this.options.arguments,emglken_stdin_buffers:[],emglken_stdin_ready(){},locateFile(){},print:e=>{if(""!==r||""===e||e.startsWith("{")){if(r+=e,e.endsWith("}")){let e;try{e=JSON.parse(r)}catch(e){}e&&(r="",e.specialinput&&"fileref_prompt"===e.specialinput.type&&(this.last_fr_usage=e.specialinput.filetype),this.options.GlkOte.update(e))}}else console.log(e)},preRun:()=>{let e=t.FS;this.EFS=new rf(this),e.mkdir("/emglken"),e.mount(this.EFS,{},"/emglken"),e.chdir("/emglken")},wasmBinary:this.options.wasmBinary};this.Module=t,this.options.accept=r=>{"specialresponse"===r.type&&"fileref_prompt"===r.response&&r.value&&(this.EFS.streaming?r.value=this.EFS.register_filename(r.value.filename,this.last_fr_usage):r.value=r.value.filename);let n=JSON.stringify(r),o=e.encode(n);t.emglken_stdin_buffers.push(o),t.emglken_stdin_ready()},await this.options.vmcore(t),this.options.GlkOte.init(this.options)}}var rp={};rp=new URL(k("6MsPj").resolve("4QCNJ"),import.meta.url).toString();var rv=(()=>{var e="file:///node_modules/emglken/build/bocfel-core.js";return function(r={}){var t,n,o,a,i,s,u,l,c,d,f,m,h,p,v,w,g,_,r=void 0!==r?r:{};r.ready=new Promise(function(e,r){n=e,o=r});var y=Object.assign({},r),E=[],b="./this.program",k=(e,r)=>{throw r},S="";"undefined"!=typeof document&&document.currentScript&&(S=document.currentScript.src),e&&(S=e),S=0!==S.indexOf("blob:")?S.substr(0,S.replace(/[?#].*/,"").lastIndexOf("/")+1):"",a=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},i=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{if(200==n.status||0==n.status&&n.response){r(n.response);return}t()},n.onerror=t,n.send(null)};var D=r.print||console.log.bind(console),F=r.printErr||console.warn.bind(console);Object.assign(r,y),y=null,r.arguments&&(E=r.arguments),r.thisProgram&&(b=r.thisProgram),r.quit&&(k=r.quit),r.wasmBinary&&(u=r.wasmBinary);var M=r.noExitRuntime||!1;"object"!=typeof WebAssembly&&V("no native wasm support detected");var P=!1,A=new TextDecoder("utf8");function x(e,r,t){for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;return A.decode(e.buffer?e.subarray(r,o):new Uint8Array(e.slice(r,o)))}function R(e,r){if(!e)return"";for(var t=e+r,n=e;!(n>=t)&&f[n];)++n;return A.decode(f.subarray(e,n))}function C(e,r,t,n){if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)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 T(e){for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r}function N(){var e=l.buffer;r.HEAP8=d=new Int8Array(e),r.HEAP16=m=new Int16Array(e),r.HEAP32=h=new Int32Array(e),r.HEAPU8=f=new Uint8Array(e),r.HEAPU16=new Uint16Array(e),r.HEAPU32=p=new Uint32Array(e),r.HEAPF32=new Float32Array(e),r.HEAPF64=new Float64Array(e)}var z=[],B=[],O=[],j=[],I=[],L=!1,U=0,H=0,W=null,q=null;function Y(e){H++,r.monitorRunDependencies&&r.monitorRunDependencies(H)}function G(e){if(H--,r.monitorRunDependencies&&r.monitorRunDependencies(H),0==H&&(null!==W&&(clearInterval(W),W=null),q)){var t=q;q=null,t()}}function V(e){r.onAbort&&r.onAbort(e),F(e="Aborted("+e+")"),P=!0,c=1,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw o(t),t}function X(e){return e.startsWith("data:application/octet-stream;base64,")}function K(e){try{if(e==v&&u)return new Uint8Array(u);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}catch(e){V(e)}}function $(e,r,t){return(u||"function"!=typeof fetch?Promise.resolve().then(function(){return K(e)}):fetch(e,{credentials:"same-origin"}).then(function(r){if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()}).catch(function(){return K(e)})).then(function(e){return WebAssembly.instantiate(e,r)}).then(function(e){return e}).then(t,function(e){F("failed to asynchronously prepare wasm: "+e),V(e)})}function J(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Z(e){for(;e.length>0;)e.shift()(r)}r.locateFile?X(v="bocfel-core.wasm")||(t=v,v=r.locateFile?r.locateFile(t,S):S+t):v=new URL(rp).href;var Q=[],ee=0,er=0;function et(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){p[this.ptr+4>>2]=e},this.get_type=function(){return p[this.ptr+4>>2]},this.set_destructor=function(e){p[this.ptr+8>>2]=e},this.get_destructor=function(){return p[this.ptr+8>>2]},this.set_refcount=function(e){h[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,d[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=d[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,d[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=d[this.ptr+13>>0]},this.init=function(e,r){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(r),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=h[this.ptr>>2];h[this.ptr>>2]=e+1},this.release_ref=function(){var e=h[this.ptr>>2];return h[this.ptr>>2]=e-1,1===e},this.set_adjusted_ptr=function(e){p[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return p[this.ptr+16>>2]},this.get_exception_ptr=function(){if(eI(this.get_type()))return p[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}function en(){var e=er;if(!e)return eN(0),0;var r=new et(e);r.set_adjusted_ptr(e);var t=r.get_type();if(!t)return eN(0),e;for(var n=0;n"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(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:e=>{var r=eo.isAbs(e),t="/"===e.substr(-1);return(e=eo.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=eo.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=eo.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return -1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return eo.normalize(e.join("/"))},join2:(e,r)=>eo.normalize(e+"/"+r)},ea={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:el.cwd();if("string"!=typeof n)throw TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=eo.isAbs(n)}return e=eo.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+e||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=ea.resolve(e).substr(1),r=ea.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s0?t:T(e)+1),o=C(e,n,0,n.length);return r&&(n.length=o),n}var es={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){es.ttys[e]={input:[],output:[],ops:r},el.registerDevice(e,es.stream_ops)},stream_ops:{open:function(e){var r=es.ttys[e.node.rdev];if(!r)throw new el.ErrnoError(43);e.tty=r,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new el.ErrnoError(60);for(var a,i=0,s=0;s0&&(D(x(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(F(x(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync:function(e){e.output&&e.output.length>0&&(F(x(e.output,0)),e.output=[])}}},eu={ops_table:null,mount:function(e){return eu.createNode(null,"/",16895,0)},createNode:function(e,r,t,n){if(el.isBlkdev(t)||el.isFIFO(t))throw new el.ErrnoError(63);eu.ops_table||(eu.ops_table={dir:{node:{getattr:eu.node_ops.getattr,setattr:eu.node_ops.setattr,lookup:eu.node_ops.lookup,mknod:eu.node_ops.mknod,rename:eu.node_ops.rename,unlink:eu.node_ops.unlink,rmdir:eu.node_ops.rmdir,readdir:eu.node_ops.readdir,symlink:eu.node_ops.symlink},stream:{llseek:eu.stream_ops.llseek}},file:{node:{getattr:eu.node_ops.getattr,setattr:eu.node_ops.setattr},stream:{llseek:eu.stream_ops.llseek,read:eu.stream_ops.read,write:eu.stream_ops.write,allocate:eu.stream_ops.allocate,mmap:eu.stream_ops.mmap,msync:eu.stream_ops.msync}},link:{node:{getattr:eu.node_ops.getattr,setattr:eu.node_ops.setattr,readlink:eu.node_ops.readlink},stream:{}},chrdev:{node:{getattr:eu.node_ops.getattr,setattr:eu.node_ops.setattr},stream:el.chrdev_stream_ops}});var o=el.createNode(e,r,t,n);return el.isDir(o.mode)?(o.node_ops=eu.ops_table.dir.node,o.stream_ops=eu.ops_table.dir.stream,o.contents={}):el.isFile(o.mode)?(o.node_ops=eu.ops_table.file.node,o.stream_ops=eu.ops_table.file.stream,o.usedBytes=0,o.contents=null):el.isLink(o.mode)?(o.node_ops=eu.ops_table.link.node,o.stream_ops=eu.ops_table.link.stream):el.isChrdev(o.mode)&&(o.node_ops=eu.ops_table.chrdev.node,o.stream_ops=eu.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},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)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}}},node_ops:{getattr:function(e){var r={};return r.dev=el.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,el.isDir(e.mode)?r.size=4096:el.isFile(e.mode)?r.size=e.usedBytes:el.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&&eu.resizeFileStorage(e,r.size)},lookup:function(e,r){throw el.genericErrors[44]},mknod:function(e,r,t,n){return eu.createNode(e,r,t,n)},rename:function(e,r,t){if(el.isDir(e.mode)){var n;try{n=el.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new el.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink:function(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir:function(e,r){var t=el.lookupNode(e,r);for(var n in t.contents)throw new el.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},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=eu.createNode(e,r,41471,0);return n.link=t,n},readlink:function(e){if(!el.isLink(e.mode))throw new el.ErrnoError(28);return e.link}},stream_ops:{read:function(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s0||t+r{if(!(e=ea.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new el.ErrnoError(32);for(var t=e.split("/").filter(e=>!!e),n=el.root,o="/",a=0;a40)throw new el.ErrnoError(32)}}return{path:o,node:n}},getPath:e=>{for(var r;;){if(el.isRoot(e)){var t=e.mount.mountpoint;if(!r)return t;return"/"!==t[t.length-1]?t+"/"+r:t+r}r=r?e.name+"/"+r:e.name,e=e.parent}},hashName:(e,r)=>{for(var t=0,n=0;n>>0)%el.nameTable.length},hashAddNode:e=>{var r=el.hashName(e.parent.id,e.name);e.name_next=el.nameTable[r],el.nameTable[r]=e},hashRemoveNode:e=>{var r=el.hashName(e.parent.id,e.name);if(el.nameTable[r]===e)el.nameTable[r]=e.name_next;else for(var t=el.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode:(e,r)=>{var t=el.mayLookup(e);if(t)throw new el.ErrnoError(t,e);for(var n=el.hashName(e.id,r),o=el.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return el.lookup(e,r)},createNode:(e,r,t,n)=>{var o=new el.FSNode(e,r,t,n);return el.hashAddNode(o),o},destroyNode:e=>{el.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>(61440&e)==32768,isDir:e=>(61440&e)==16384,isLink:e=>(61440&e)==40960,isChrdev:e=>(61440&e)==8192,isBlkdev:e=>(61440&e)==24576,isFIFO:e=>(61440&e)==4096,isSocket:e=>(49152&e)==49152,flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var r=el.flagModes[e];if(void 0===r)throw Error("Unknown file open mode: "+e);return r},flagsToPermissionString:e=>{var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>el.ignorePermissions?0:r.includes("r")&&!(292&e.mode)||r.includes("w")&&!(146&e.mode)||r.includes("x")&&!(73&e.mode)?2:0,mayLookup:e=>el.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,r)=>{try{return el.lookupNode(e,r),20}catch(e){}return el.nodePermissions(e,"wx")},mayDelete:(e,r,t)=>{try{n=el.lookupNode(e,r)}catch(e){return e.errno}var n,o=el.nodePermissions(e,"wx");if(o)return o;if(t){if(!el.isDir(n.mode))return 54;if(el.isRoot(n)||el.getPath(n)===el.cwd())return 10}else if(el.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?el.isLink(e.mode)?32:el.isDir(e.mode)&&("r"!==el.flagsToPermissionString(r)||512&r)?31:el.nodePermissions(e,el.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,r=el.MAX_OPEN_FDS)=>{for(var t=e;t<=r;t++)if(!el.streams[t])return t;throw new el.ErrnoError(33)},getStream:e=>el.streams[e],createStream:(e,r,t)=>{el.FSStream||(el.FSStream=function(){this.shared={}},el.FSStream.prototype={},Object.defineProperties(el.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return(2097155&this.flags)!=1}},isWrite:{get:function(){return(2097155&this.flags)!=0}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new el.FSStream,e);var n=el.nextfd(r,t);return e.fd=n,el.streams[n]=e,e},closeStream:e=>{el.streams[e]=null},chrdev_stream_ops:{open:e=>{var r=el.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new el.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice:(e,r)=>{el.devices[e]={stream_ops:r}},getDevice:e=>el.devices[e],getMounts:e=>{for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs:(e,r)=>{"function"==typeof e&&(r=e,e=!1),el.syncFSRequests++,el.syncFSRequests>1&&F("warning: "+el.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=el.getMounts(el.root.mount),n=0;function o(e){return el.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach(r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)})},mount:(e,r,t)=>{var n,o="/"===t,a=!t;if(o&&el.root)throw new el.ErrnoError(10);if(!o&&!a){var i=el.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,el.isMountpoint(n))throw new el.ErrnoError(10);if(!el.isDir(n.mode))throw new el.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return u.mount=s,s.root=u,o?el.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:e=>{var r=el.lookupPath(e,{follow_mount:!1});if(!el.isMountpoint(r.node))throw new el.ErrnoError(28);var t=r.node,n=t.mounted,o=el.getMounts(n);Object.keys(el.nameTable).forEach(e=>{for(var r=el.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&el.destroyNode(r),r=t}}),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod:(e,r,t)=>{var n=el.lookupPath(e,{parent:!0}).node,o=eo.basename(e);if(!o||"."===o||".."===o)throw new el.ErrnoError(28);var a=el.mayCreate(n,o);if(a)throw new el.ErrnoError(a);if(!n.node_ops.mknod)throw new el.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=(void 0!==r?r:438)&4095|32768,el.mknod(e,r,0)),mkdir:(e,r)=>(r=(void 0!==r?r:511)&1023|16384,el.mknod(e,r,0)),mkdirTree:(e,r)=>{for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,el.mknod(e,r,t)),symlink:(e,r)=>{if(!ea.resolve(e))throw new el.ErrnoError(44);var t=el.lookupPath(r,{parent:!0}).node;if(!t)throw new el.ErrnoError(44);var n=eo.basename(r),o=el.mayCreate(t,n);if(o)throw new el.ErrnoError(o);if(!t.node_ops.symlink)throw new el.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename:(e,r)=>{var t,n,o,a=eo.dirname(e),i=eo.dirname(r),s=eo.basename(e),u=eo.basename(r);if(t=el.lookupPath(e,{parent:!0}).node,n=el.lookupPath(r,{parent:!0}).node,!t||!n)throw new el.ErrnoError(44);if(t.mount!==n.mount)throw new el.ErrnoError(75);var l=el.lookupNode(t,s),c=ea.relative(e,i);if("."!==c.charAt(0))throw new el.ErrnoError(28);if("."!==(c=ea.relative(r,a)).charAt(0))throw new el.ErrnoError(55);try{o=el.lookupNode(n,u)}catch(e){}if(l!==o){var d=el.isDir(l.mode),f=el.mayDelete(t,s,d);if(f||(f=o?el.mayDelete(n,u,d):el.mayCreate(n,u)))throw new el.ErrnoError(f);if(!t.node_ops.rename)throw new el.ErrnoError(63);if(el.isMountpoint(l)||o&&el.isMountpoint(o))throw new el.ErrnoError(10);if(n!==t&&(f=el.nodePermissions(t,"w")))throw new el.ErrnoError(f);el.hashRemoveNode(l);try{t.node_ops.rename(l,n,u)}catch(e){throw e}finally{el.hashAddNode(l)}}},rmdir:e=>{var r=el.lookupPath(e,{parent:!0}).node,t=eo.basename(e),n=el.lookupNode(r,t),o=el.mayDelete(r,t,!0);if(o)throw new el.ErrnoError(o);if(!r.node_ops.rmdir)throw new el.ErrnoError(63);if(el.isMountpoint(n))throw new el.ErrnoError(10);r.node_ops.rmdir(r,t),el.destroyNode(n)},readdir:e=>{var r=el.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new el.ErrnoError(54);return r.node_ops.readdir(r)},unlink:e=>{var r=el.lookupPath(e,{parent:!0}).node;if(!r)throw new el.ErrnoError(44);var t=eo.basename(e),n=el.lookupNode(r,t),o=el.mayDelete(r,t,!1);if(o)throw new el.ErrnoError(o);if(!r.node_ops.unlink)throw new el.ErrnoError(63);if(el.isMountpoint(n))throw new el.ErrnoError(10);r.node_ops.unlink(r,t),el.destroyNode(n)},readlink:e=>{var r=el.lookupPath(e).node;if(!r)throw new el.ErrnoError(44);if(!r.node_ops.readlink)throw new el.ErrnoError(28);return ea.resolve(el.getPath(r.parent),r.node_ops.readlink(r))},stat:(e,r)=>{var t=el.lookupPath(e,{follow:!r}).node;if(!t)throw new el.ErrnoError(44);if(!t.node_ops.getattr)throw new el.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>el.stat(e,!0),chmod:(e,r,t)=>{var n;if(!(n="string"==typeof e?el.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new el.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod:(e,r)=>{el.chmod(e,r,!0)},fchmod:(e,r)=>{var t=el.getStream(e);if(!t)throw new el.ErrnoError(8);el.chmod(t.node,r)},chown:(e,r,t,n)=>{var o;if(!(o="string"==typeof e?el.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new el.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,r,t)=>{el.chown(e,r,t,!0)},fchown:(e,r,t)=>{var n=el.getStream(e);if(!n)throw new el.ErrnoError(8);el.chown(n.node,r,t)},truncate:(e,r)=>{if(r<0)throw new el.ErrnoError(28);if("string"==typeof e){var t;t=el.lookupPath(e,{follow:!0}).node}else t=e;if(!t.node_ops.setattr)throw new el.ErrnoError(63);if(el.isDir(t.mode))throw new el.ErrnoError(31);if(!el.isFile(t.mode))throw new el.ErrnoError(28);var n=el.nodePermissions(t,"w");if(n)throw new el.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate:(e,r)=>{var t=el.getStream(e);if(!t)throw new el.ErrnoError(8);if((2097155&t.flags)==0)throw new el.ErrnoError(28);el.truncate(t.node,r)},utime:(e,r,t)=>{var n=el.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open:(e,t,n)=>{if(""===e)throw new el.ErrnoError(44);if(t="string"==typeof t?el.modeStringToFlags(t):t,n=void 0===n?438:n,n=64&t?4095&n|32768:0,"object"==typeof e)o=e;else{e=eo.normalize(e);try{var o;o=el.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var a=!1;if(64&t){if(o){if(128&t)throw new el.ErrnoError(20)}else o=el.mknod(e,n,0),a=!0}if(!o)throw new el.ErrnoError(44);if(el.isChrdev(o.mode)&&(t&=-513),65536&t&&!el.isDir(o.mode))throw new el.ErrnoError(54);if(!a){var i=el.mayOpen(o,t);if(i)throw new el.ErrnoError(i)}512&t&&!a&&el.truncate(o,0),t&=-131713;var s=el.createStream({node:o,path:el.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!r.logReadFiles||1&t||(el.readFiles||(el.readFiles={}),e in el.readFiles||(el.readFiles[e]=1)),s},close:e=>{if(el.isClosed(e))throw new el.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{el.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,r,t)=>{if(el.isClosed(e))throw new el.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new el.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new el.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read:(e,r,t,n,o)=>{if(n<0||o<0)throw new el.ErrnoError(28);if(el.isClosed(e)||(2097155&e.flags)==1)throw new el.ErrnoError(8);if(el.isDir(e.node.mode))throw new el.ErrnoError(31);if(!e.stream_ops.read)throw new el.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new el.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write:(e,r,t,n,o,a)=>{if(n<0||o<0)throw new el.ErrnoError(28);if(el.isClosed(e)||(2097155&e.flags)==0)throw new el.ErrnoError(8);if(el.isDir(e.node.mode))throw new el.ErrnoError(31);if(!e.stream_ops.write)throw new el.ErrnoError(28);e.seekable&&1024&e.flags&&el.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new el.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},allocate:(e,r,t)=>{if(el.isClosed(e))throw new el.ErrnoError(8);if(r<0||t<=0)throw new el.ErrnoError(28);if((2097155&e.flags)==0)throw new el.ErrnoError(8);if(!el.isFile(e.node.mode)&&!el.isDir(e.node.mode))throw new el.ErrnoError(43);if(!e.stream_ops.allocate)throw new el.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap:(e,r,t,n,o)=>{if((2&n)!=0&&(2&o)==0&&(2097155&e.flags)!=2||(2097155&e.flags)==1)throw new el.ErrnoError(2);if(!e.stream_ops.mmap)throw new el.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl:(e,r,t)=>{if(!e.stream_ops.ioctl)throw new el.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile:(e,r={})=>{if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw Error('Invalid encoding type "'+r.encoding+'"');var t,n=el.open(e,r.flags),o=el.stat(e).size,a=new Uint8Array(o);return el.read(n,a,0,o,0),"utf8"===r.encoding?t=x(a,0):"binary"===r.encoding&&(t=a),el.close(n),t},writeFile:(e,r,t={})=>{t.flags=t.flags||577;var n=el.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(T(r)+1),a=C(r,o,0,o.length);el.write(n,o,0,a,void 0,t.canOwn)}else if(ArrayBuffer.isView(r))el.write(n,r,0,r.byteLength,void 0,t.canOwn);else throw Error("Unsupported data type");el.close(n)},cwd:()=>el.currentPath,chdir:e=>{var r=el.lookupPath(e,{follow:!0});if(null===r.node)throw new el.ErrnoError(44);if(!el.isDir(r.node.mode))throw new el.ErrnoError(54);var t=el.nodePermissions(r.node,"x");if(t)throw new el.ErrnoError(t);el.currentPath=r.path},createDefaultDirectories:()=>{el.mkdir("/tmp"),el.mkdir("/home"),el.mkdir("/home/web_user")},createDefaultDevices:()=>{el.mkdir("/dev"),el.registerDevice(el.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),el.mkdev("/dev/null",el.makedev(1,3)),es.register(el.makedev(5,0),es.default_tty_ops),es.register(el.makedev(6,0),es.default_tty1_ops),el.mkdev("/dev/tty",el.makedev(5,0)),el.mkdev("/dev/tty1",el.makedev(6,0));var e=function(){if("object"!=typeof crypto||"function"!=typeof crypto.getRandomValues)return()=>V("randomDevice");var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}();el.createDevice("/dev","random",e),el.createDevice("/dev","urandom",e),el.mkdir("/dev/shm"),el.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{el.mkdir("/proc");var e=el.mkdir("/proc/self");el.mkdir("/proc/self/fd"),el.mount({mount:()=>{var r=el.createNode(e,"fd",16895,73);return r.node_ops={lookup:(e,r)=>{var t=el.getStream(+r);if(!t)throw new el.ErrnoError(8);var n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>t.path}};return n.parent=n,n}},r}},{},"/proc/self/fd")},createStandardStreams:()=>{r.stdin?el.createDevice("/dev","stdin",r.stdin):el.symlink("/dev/tty","/dev/stdin"),r.stdout?el.createDevice("/dev","stdout",null,r.stdout):el.symlink("/dev/tty","/dev/stdout"),r.stderr?el.createDevice("/dev","stderr",null,r.stderr):el.symlink("/dev/tty1","/dev/stderr"),el.open("/dev/stdin",0),el.open("/dev/stdout",1),el.open("/dev/stderr",1)},ensureErrnoError:()=>{el.ErrnoError||(el.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},el.ErrnoError.prototype=Error(),el.ErrnoError.prototype.constructor=el.ErrnoError,[44].forEach(e=>{el.genericErrors[e]=new el.ErrnoError(e),el.genericErrors[e].stack=""}))},staticInit:()=>{el.ensureErrnoError(),el.nameTable=Array(4096),el.mount(eu,{},"/"),el.createDefaultDirectories(),el.createDefaultDevices(),el.createSpecialDirectories(),el.filesystems={MEMFS:eu}},init:(e,t,n)=>{el.init.initialized=!0,el.ensureErrnoError(),r.stdin=e||r.stdin,r.stdout=t||r.stdout,r.stderr=n||r.stderr,el.createStandardStreams()},quit:()=>{el.init.initialized=!1,eM(0);for(var e=0;e{var t=0;return e&&(t|=365),r&&(t|=146),t},findObject:(e,r)=>{var t=el.analyzePath(e,r);return t.exists?t.object:null},analyzePath:(e,r)=>{try{var t=el.lookupPath(e,{follow:!r});e=t.path}catch(e){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var t=el.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=t.path,n.parentObject=t.node,n.name=eo.basename(e),t=el.lookupPath(e,{follow:!r}),n.exists=!0,n.path=t.path,n.object=t.node,n.name=t.node.name,n.isRoot="/"===t.path}catch(e){n.error=e.errno}return n},createPath:(e,r,t,n)=>{e="string"==typeof e?e:el.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var i=eo.join2(e,a);try{el.mkdir(i)}catch(e){}e=i}}return i},createFile:(e,r,t,n,o)=>{var a=eo.join2("string"==typeof e?e:el.getPath(e),r),i=el.getMode(n,o);return el.create(a,i)},createDataFile:(e,r,t,n,o,a)=>{var i=r;e&&(e="string"==typeof e?e:el.getPath(e),i=r?eo.join2(e,r):e);var s=el.getMode(n,o),u=el.create(i,s);if(t){if("string"==typeof t){for(var l=Array(t.length),c=0,d=t.length;c{var o=eo.join2("string"==typeof e?e:el.getPath(e),r),a=el.getMode(!!t,!!n);el.createDevice.major||(el.createDevice.major=64);var i=el.makedev(el.createDevice.major++,0);return el.registerDevice(i,{open:e=>{e.seekable=!1},close:e=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(e,r,n,o,a)=>{for(var i,s=0,u=0;u{for(var i=0;i{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw 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(a)try{e.contents=ei(a(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new el.ErrnoError(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile:(e,r,t,n,o)=>{function a(){this.lengthKnown=!1,this.chunks=[]}if(a.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]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e,r=new XMLHttpRequest;if(r.open("HEAD",t,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw Error("Couldn't load "+t+". Status: "+r.status);var n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=(e,r)=>{if(e>r)throw Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+e+"-"+r),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 Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):ei(o.responseText||"",!0)},u=this;u.setDataGetter(e=>{var r=e*i,t=(e+1)*i-1;if(t=Math.min(t,n-1),void 0===u.chunks[e]&&(u.chunks[e]=s(r,t)),void 0===u.chunks[e])throw Error("doXHR failed!");return u.chunks[e]}),(a||!n)&&(i=n=1,i=n=this.getter(0).length,D("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){var i;throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"}var i={isDevice:!1,url:t},s=el.createFile(e,r,i,n,o);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s{var r=s.stream_ops[e];u[e]=function(){return el.forceLoadFile(s),r.apply(null,arguments)}}),u.read=(e,r,t,n,o)=>(el.forceLoadFile(s),l(e,r,t,n,o)),u.mmap=(e,r,t,n,o)=>{el.forceLoadFile(s);var a=void V();if(!a)throw new el.ErrnoError(48);return l(e,d,a,r,t),{ptr:a,allocated:!0}},s.stream_ops=u,s},createPreloadedFile:(e,r,t,n,o,a,s,u,l,c)=>{var d,f,m=r?ea.resolve(eo.join2(e,r)):e,h="cp "+m;function p(t){function i(t){c&&c(),u||el.createDataFile(e,r,t,n,o,l),a&&a(),G(h)}Browser.handledByPreloadPlugin(t,m,i,()=>{s&&s(),G(h)})||i(t)}Y(h),"string"==typeof t?(d=e=>p(e),f="al "+t,i(t,e=>{var r;r='Loading data file "'+t+'" failed (no arrayBuffer).',e||V(r),d(new Uint8Array(e)),f&&G(f)},e=>{if(s)s();else throw'Loading data file "'+t+'" failed.'}),f&&Y(f)):p(t)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,r=()=>{},t=()=>{})=>{var n=el.indexedDB();try{var o=n.open(el.DB_NAME(),el.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=()=>{D("creating db"),o.result.createObjectStore(el.DB_STORE_NAME)},o.onsuccess=()=>{var n=o.result.transaction([el.DB_STORE_NAME],"readwrite"),a=n.objectStore(el.DB_STORE_NAME),i=0,s=0,u=e.length;function l(){0==s?r():t()}e.forEach(e=>{var r=a.put(el.analyzePath(e).object.contents,e);r.onsuccess=()=>{++i+s==u&&l()},r.onerror=()=>{i+ ++s==u&&l()}}),n.onerror=t},o.onerror=t},loadFilesFromDB:(e,r=()=>{},t=()=>{})=>{var n=el.indexedDB();try{var o=n.open(el.DB_NAME(),el.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=t,o.onsuccess=()=>{var n=o.result;try{var a=n.transaction([el.DB_STORE_NAME],"readonly")}catch(e){t(e);return}var i=a.objectStore(el.DB_STORE_NAME),s=0,u=0,l=e.length;function c(){0==u?r():t()}e.forEach(e=>{var r=i.get(e);r.onsuccess=()=>{el.analyzePath(e).exists&&el.unlink(e),el.createDataFile(eo.dirname(e),eo.basename(e),r.result,!0,!0,!0),++s+u==l&&c()},r.onerror=()=>{s+ ++u==l&&c()}}),a.onerror=t},o.onerror=t}},ec={DEFAULT_POLLMASK:5,calculateAt:function(e,r,t){if(eo.isAbs(r))return r;if(-100===e)n=el.cwd();else{var n;n=ec.getStreamFromFD(e).path}if(0==r.length){if(!t)throw new el.ErrnoError(44);return n}return eo.join2(n,r)},doStat:function(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&eo.normalize(r)!==eo.normalize(el.getPath(e.node)))return -54;throw e}h[t>>2]=n.dev,h[t+8>>2]=n.ino,h[t+12>>2]=n.mode,p[t+16>>2]=n.nlink,h[t+20>>2]=n.uid,h[t+24>>2]=n.gid,h[t+28>>2]=n.rdev,g=[n.size>>>0,+Math.abs(w=n.size)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+40>>2]=g[0],h[t+44>>2]=g[1],h[t+48>>2]=4096,h[t+52>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return g=[Math.floor(o/1e3)>>>0,+Math.abs(w=Math.floor(o/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+56>>2]=g[0],h[t+60>>2]=g[1],p[t+64>>2]=o%1e3*1e3,g=[Math.floor(a/1e3)>>>0,+Math.abs(w=Math.floor(a/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+72>>2]=g[0],h[t+76>>2]=g[1],p[t+80>>2]=a%1e3*1e3,g=[Math.floor(i/1e3)>>>0,+Math.abs(w=Math.floor(i/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+88>>2]=g[0],h[t+92>>2]=g[1],p[t+96>>2]=i%1e3*1e3,g=[n.ino>>>0,+Math.abs(w=n.ino)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+104>>2]=g[0],h[t+108>>2]=g[1],0},doMsync:function(e,r,t,n,o){if(!el.isFile(r.node.mode))throw new el.ErrnoError(43);if(2&n)return 0;var a=f.slice(e,e+t);el.msync(r,a,o,t,n)},varargs:void 0,get:function(){return ec.varargs+=4,h[ec.varargs-4>>2]},getStr:function(e){return R(e)},getStreamFromFD:function(e){var r=el.getStream(e);if(!r)throw new el.ErrnoError(8);return r}};function ed(e){return e%4==0&&(e%100!=0||e%400==0)}var ef=[0,31,60,91,121,152,182,213,244,274,305,335],em=[0,31,59,90,120,151,181,212,243,273,304,334];function eh(e){var r=T(e)+1,t=ex(r);return t&&C(e,d,t,r),t}var ep={};function ev(){if(!ev.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:b||"./this.program"};for(var r in ep)void 0===ep[r]?delete e[r]:e[r]=ep[r];var t=[];for(var r in e)t.push(r+"="+e[r]);ev.strings=t}return ev.strings}function ew(e,t){c=e,M||U>0||(eC(),Z(j),el.quit(),es.shutdown(),L=!0),c=e,M||U>0||(r.onExit&&r.onExit(e),P=!0),k(e,new J(e))}var eg=[31,29,31,30,31,30,31,31,30,31,30,31],e_=[31,28,31,30,31,30,31,31,30,31,30,31];function ey(e,r,t,n){var o=h[n+40>>2],a={tm_sec:h[n>>2],tm_min:h[n+4>>2],tm_hour:h[n+8>>2],tm_mday:h[n+12>>2],tm_mon:h[n+16>>2],tm_year:h[n+20>>2],tm_wday:h[n+24>>2],tm_yday:h[n+28>>2],tm_isdst:h[n+32>>2],tm_gmtoff:h[n+36>>2],tm_zone:o?R(o):""},i=R(t),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in s)i=i.replace(RegExp(u,"g"),s[u]);var l=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function f(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length0?1:0}return 0===(t=n(e.getFullYear()-r.getFullYear()))&&0===(t=n(e.getMonth()-r.getMonth()))&&(t=n(e.getDate()-r.getDate())),t}function v(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function w(e){var r=function(e,r){for(var t=new Date(e.getTime());r>0;){var n=ed(t.getFullYear()),o=t.getMonth(),a=(n?eg:e_)[o];if(r>a-t.getDate())r-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1));else{t.setDate(t.getDate()+r);break}}return t}(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),o=v(t),a=v(n);return 0>=p(o,r)?0>=p(a,r)?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var g={"%a":function(e){return l[e.tm_wday].substring(0,3)},"%A":function(e){return l[e.tm_wday]},"%b":function(e){return c[e.tm_mon].substring(0,3)},"%B":function(e){return c[e.tm_mon]},"%C":function(e){return m((e.tm_year+1900)/100|0,2)},"%d":function(e){return m(e.tm_mday,2)},"%e":function(e){return f(e.tm_mday,2," ")},"%g":function(e){return w(e).toString().substring(2)},"%G":function(e){return w(e)},"%H":function(e){return m(e.tm_hour,2)},"%I":function(e){var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),m(r,2)},"%j":function(e){return m(e.tm_mday+function(e,r){for(var t=0,n=0;n<=r;t+=e[n++]);return t}(ed(e.tm_year+1900)?eg:e_,e.tm_mon-1),3)},"%m":function(e){return m(e.tm_mon+1,2)},"%M":function(e){return m(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return m(e.tm_sec,2)},"%t":function(){return" "},"%u":function(e){return e.tm_wday||7},"%U":function(e){return m(Math.floor((e.tm_yday+7-e.tm_wday)/7),2)},"%V":function(e){var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&ed(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&ed(e.tm_year%400-1))&&r++}return m(r,2)},"%w":function(e){return e.tm_wday},"%W":function(e){return m(Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var r=e.tm_gmtoff;return(r>=0?"+":"-")+String("0000"+(r=(r=Math.abs(r)/60)/60*100+r%60)).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var u in i=i.replace(/%%/g,"\x00\x00"),g)i.includes(u)&&(i=i.replace(RegExp(u,"g"),g[u](a)));var _=ei(i=i.replace(/\0\0/g,"%"),!1);return _.length>r?0:(d.set(_,e),_.length-1)}function eE(e){if(e instanceof J||"unwind"==e)return c;k(1,e)}function eb(e){try{return e()}catch(e){V(e)}}var ek={instrumentWasmImports:function(e){var r=["invoke_*","emscripten_sleep","emscripten_wget","emscripten_wget_data","emscripten_idb_load","emscripten_idb_store","emscripten_idb_delete","emscripten_idb_exists","emscripten_idb_load_blob","emscripten_idb_store_blob","SDL_Delay","emscripten_scan_registers","emscripten_lazy_load_code","emscripten_fiber_swap","__load_secondary_module","fd_sync","__wasi_fd_sync","_emval_await","_dlopen_js","__asyncjs__*"];for(var t in e)!function(t){var n=e[t];n.sig,"function"==typeof n&&(r.indexOf(t)>=0||t.startsWith("__asyncjs__"))}(t)},instrumentWasmExports:function(e){var r={};for(var t in e)!function(t){var n=e[t];"function"==typeof n?r[t]=function(){ek.exportCallStack.push(t);try{return n.apply(null,arguments)}finally{P||(ek.exportCallStack.pop()===t||V(void 0),ek.maybeStopUnwind())}}:r[t]=n}(t);return r},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:8192,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId:function(e){var r=ek.callStackNameToId[e];return void 0===r&&(r=ek.callStackId++,ek.callStackNameToId[e]=r,ek.callStackIdToName[r]=e),r},maybeStopUnwind:function(){ek.currData&&ek.state===ek.State.Unwinding&&0===ek.exportCallStack.length&&(ek.state=ek.State.Normal,U+=1,eb(e7),"undefined"!=typeof Fibers&&Fibers.trampoline())},whenDone:function(){return new Promise((e,r)=>{ek.asyncPromiseHandlers={resolve:e,reject:r}})},allocateData:function(){var e=ex(12+ek.StackSize);return ek.setDataHeader(e,e+12,ek.StackSize),ek.setDataRewindFunc(e),e},setDataHeader:function(e,r,t){h[e>>2]=r,h[e+4>>2]=r+t},setDataRewindFunc:function(e){var r=ek.exportCallStack[0],t=ek.getCallStackId(r);h[e+8>>2]=t},getDataRewindFunc:function(e){var t=h[e+8>>2],n=ek.callStackIdToName[t];return r.asm[n]},doRewind:function(e){var r=ek.getDataRewindFunc(e);return U-=1,r()},handleSleep:function(e){if(!P){if(ek.state===ek.State.Normal){var r=!1,t=!1;e((e=0)=>{if(!P&&(ek.handleSleepReturnValue=e,r=!0,t)){ek.state=ek.State.Rewinding,eb(()=>re(ek.currData)),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.resume();var n,o=!1;try{n=ek.doRewind(ek.currData)}catch(e){n=e,o=!0}var a=!1;if(!ek.currData){var i=ek.asyncPromiseHandlers;i&&(ek.asyncPromiseHandlers=null,(o?i.reject:i.resolve)(n),a=!0)}if(o&&!a)throw n}}),t=!0,r||(ek.state=ek.State.Unwinding,ek.currData=ek.allocateData(),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.pause(),eb(()=>e5(ek.currData)))}else ek.state===ek.State.Rewinding?(ek.state=ek.State.Normal,eb(rr),eR(ek.currData),ek.currData=null,ek.sleepCallbacks.forEach(e=>(function(e){if(!L&&!P)try{e(),function(){if(!(M||U>0))try{ew(c)}catch(e){eE(e)}}()}catch(e){eE(e)}})(e))):V("invalid state: "+ek.state);return ek.handleSleepReturnValue}},handleAsync:function(e){return ek.handleSleep(r=>{e().then(r)})}},eS=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=el.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n};Object.defineProperties(eS.prototype,{read:{get:function(){return(365&this.mode)==365},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return(146&this.mode)==146},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return el.isDir(this.mode)}},isDevice:{get:function(){return el.isChrdev(this.mode)}}}),el.FSNode=eS,el.staticInit();var eD={S:function(e,t){return ek.handleAsync(async()=>{r.emglken_stdin_buffers.length||await new Promise(e=>{r.emglken_stdin_ready=e});let n=r.emglken_stdin_buffers.shift(),o=Math.min(n.length,t);return o==n.length?f.set(n,e):(f.set(n.subarray(0,o),e),r.emglken_stdin_buffers.unshift(n.subarray(o))),o})},k:function(e){var r=new et(e);return!r.get_caught()&&(r.set_caught(!0),ee--),r.set_rethrown(!1),Q.push(r),!function(e){e.add_ref()}(r),r.get_exception_ptr()},n:function(){eT(0),function(e){if(e.release_ref()&&!e.get_rethrown()){var r,t=e.get_destructor();t&&(r=e.excPtr,eL.apply(null,[t,r])),eF(e.excPtr)}}(Q.pop()),er=0},a:en,d:en,m:en,s:en,x:en,ca:en,K:function(){var e=Q.pop();e||V("no exception to throw");var r=e.excPtr;throw!e.get_rethrown()&&(Q.push(e),e.set_rethrown(!0),e.set_caught(!1),ee++),er=r,r},o:function(e,r,t){throw new et(e).init(r,t),er=e,ee++,e},ba:function(){return ee},g:function(e){throw er||(er=e),e},aa:function(e,r,t,n){try{if(r=ec.getStr(r),r=ec.calculateAt(e,r),-8&t)return -28;var o=el.lookupPath(r,{follow:!0}).node;if(!o)return -44;var a="";if(4&t&&(a+="r"),2&t&&(a+="w"),1&t&&(a+="x"),a&&el.nodePermissions(o,a))return -2;return 0}catch(e){if(void 0===el||"ErrnoError"!==e.name)throw e;return-e.errno}},J:function(e,r,t){ec.varargs=t;try{var n=ec.getStreamFromFD(e);switch(r){case 0:var o=ec.get();if(o<0)return -28;return el.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=ec.get();return n.flags|=o,0;case 5:var o=ec.get();return m[o+0>>1]=2,0;case 16:case 8:default:return -28;case 9:return h[eP()>>2]=28,-1}}catch(e){if(void 0===el||"ErrnoError"!==e.name)throw e;return-e.errno}},$:function(e,r){try{if(0===r)return -28;var t=el.cwd(),n=T(t)+1;if(r>2]=0,0;case 21520:if(!n.tty)return -59;return -28;case 21531:var o=ec.get();return el.ioctl(n,r,o);default:return -28}}catch(e){if(void 0===el||"ErrnoError"!==e.name)throw e;return-e.errno}},Z:function(e,r,t,n){ec.varargs=n;try{r=ec.getStr(r),r=ec.calculateAt(e,r);var o=n?ec.get():0;return el.open(r,t,o).fd}catch(e){if(void 0===el||"ErrnoError"!==e.name)throw e;return-e.errno}},V:function(){return!0},U:function(e,r){var t=new Date(1e3*(p[e>>2]+4294967296*h[e+4>>2]));h[r>>2]=t.getSeconds(),h[r+4>>2]=t.getMinutes(),h[r+8>>2]=t.getHours(),h[r+12>>2]=t.getDate(),h[r+16>>2]=t.getMonth(),h[r+20>>2]=t.getFullYear()-1900,h[r+24>>2]=t.getDay();var n=0|(ed(t.getFullYear())?ef:em)[t.getMonth()]+t.getDate()-1;h[r+28>>2]=n,h[r+36>>2]=-(60*t.getTimezoneOffset());var o=new Date(t.getFullYear(),0,1),a=new Date(t.getFullYear(),6,1).getTimezoneOffset(),i=o.getTimezoneOffset(),s=0|(a!=i&&t.getTimezoneOffset()==Math.min(i,a));h[r+32>>2]=s},T:function(e,r,t){var n=new Date().getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),i=o.getTimezoneOffset(),s=a.getTimezoneOffset();function u(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}p[e>>2]=60*Math.max(i,s),h[r>>2]=Number(i!=s);var l=u(o),c=u(a),d=eh(l),f=eh(c);s>2]=d,p[t+4>>2]=f):(p[t>>2]=f,p[t+4>>2]=d)},D:function(){V("")},B:function(){return Date.now()},R:function(e,r,t){f.copyWithin(e,r,r+t)},Q:function(e){var r=f.length;if((e>>>=0)>2147483648)return!1;let t=(e,r)=>e+(r-e%r)%r;for(var n=1;n<=4;n*=2){var o=r*(1+.2/n);if(o=Math.min(o,e+100663296),function(e){var r=l.buffer;try{return l.grow(e-r.byteLength+65535>>>16),N(),1}catch(e){}}(Math.min(2147483648,t(Math.max(e,o),65536))))return!0}return!1},Y:function(e,r){var t=0;return ev().forEach(function(n,o){var a=r+t;p[e+4*o>>2]=a,function(e,r,t){for(var n=0;n>0]=e.charCodeAt(n);d[r>>0]=0}(n,a),t+=n.length+1}),0},X:function(e,r){var t=ev();p[e>>2]=t.length;var n=0;return t.forEach(function(e){n+=e.length+1}),p[r>>2]=n,0},C:ew,I:function(e){try{var r=ec.getStreamFromFD(e);return el.close(r),0}catch(e){if(void 0===el||"ErrnoError"!==e.name)throw e;return e.errno}},W:function(e,r,t,n){try{var o=ec.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=el.read(e,d,i,s,n);if(u<0)return -1;if(o+=u,u>2]=a,0}catch(e){if(void 0===el||"ErrnoError"!==e.name)throw e;return e.errno}},P:function(e,r,t,n,o){try{var a=t+2097152>>>0<4194305-!!r?(r>>>0)+4294967296*t:NaN;if(isNaN(a))return 61;var i=ec.getStreamFromFD(e);return el.llseek(i,a,n),g=[i.position>>>0,(w=i.position,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],h[o>>2]=g[0],h[o+4>>2]=g[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===el||"ErrnoError"!==e.name)throw e;return e.errno}},H:function(e,r,t,n){try{var o=ec.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=el.write(e,d,i,s,n);if(u<0)return -1;o+=u,void 0!==n&&(n+=u)}return o}(o,r,t);return p[n>>2]=a,0}catch(e){if(void 0===el||"ErrnoError"!==e.name)throw e;return e.errno}},G:function(e,r,t,n){var o=ez();try{return e4(e,r,t,n)}catch(e){if(eB(o),e!==e+0)throw e;eT(1,0)}},F:function(e,r,t,n){var o=ez();try{return e2(e,r,t,n)}catch(e){if(eB(o),e!==e+0)throw e;eT(1,0)}},q:function(e){var r=ez();try{return eK(e)}catch(e){if(eB(r),e!==e+0)throw e;eT(1,0)}},b:function(e,r){var t=ez();try{return eL(e,r)}catch(e){if(eB(t),e!==e+0)throw e;eT(1,0)}},c:function(e,r,t){var n=ez();try{return eY(e,r,t)}catch(e){if(eB(n),e!==e+0)throw e;eT(1,0)}},e:function(e,r,t,n){var o=ez();try{return eU(e,r,t,n)}catch(e){if(eB(o),e!==e+0)throw e;eT(1,0)}},p:function(e,r,t,n,o){var a=ez();try{return eX(e,r,t,n,o)}catch(e){if(eB(a),e!==e+0)throw e;eT(1,0)}},u:function(e,r,t,n,o,a){var i=ez();try{return eV(e,r,t,n,o,a)}catch(e){if(eB(i),e!==e+0)throw e;eT(1,0)}},w:function(e,r,t,n,o,a,i){var s=ez();try{return e$(e,r,t,n,o,a,i)}catch(e){if(eB(s),e!==e+0)throw e;eT(1,0)}},E:function(e,r,t,n,o,a,i,s){var u=ez();try{return e0(e,r,t,n,o,a,i,s)}catch(e){if(eB(u),e!==e+0)throw e;eT(1,0)}},A:function(e,r,t,n,o,a,i,s,u,l,c,d){var f=ez();try{return e3(e,r,t,n,o,a,i,s,u,l,c,d)}catch(e){if(eB(f),e!==e+0)throw e;eT(1,0)}},O:function(e,r){var t=ez();try{return eZ(e,r)}catch(e){if(eB(t),e!==e+0)throw e;eT(1,0)}},N:function(e,r,t,n,o){var a=ez();try{return e1(e,r,t,n,o)}catch(e){if(eB(a),e!==e+0)throw e;eT(1,0)}},h:function(e){var r=ez();try{eW(e)}catch(e){if(eB(r),e!==e+0)throw e;eT(1,0)}},i:function(e,r){var t=ez();try{eq(e,r)}catch(e){if(eB(t),e!==e+0)throw e;eT(1,0)}},f:function(e,r,t){var n=ez();try{eG(e,r,t)}catch(e){if(eB(n),e!==e+0)throw e;eT(1,0)}},j:function(e,r,t,n){var o=ez();try{eH(e,r,t,n)}catch(e){if(eB(o),e!==e+0)throw e;eT(1,0)}},r:function(e,r,t,n,o){var a=ez();try{eJ(e,r,t,n,o)}catch(e){if(eB(a),e!==e+0)throw e;eT(1,0)}},t:function(e,r,t,n,o,a){var i=ez();try{eQ(e,r,t,n,o,a)}catch(e){if(eB(i),e!==e+0)throw e;eT(1,0)}},v:function(e,r,t,n,o,a,i,s){var u=ez();try{e6(e,r,t,n,o,a,i,s)}catch(e){if(eB(u),e!==e+0)throw e;eT(1,0)}},y:function(e,r,t,n,o,a,i,s,u,l,c){var d=ez();try{e9(e,r,t,n,o,a,i,s,u,l,c)}catch(e){if(eB(d),e!==e+0)throw e;eT(1,0)}},z:function(e,r,t,n,o,a,i,s,u,l,c,d,f,m,h,p){var v=ez();try{e8(e,r,t,n,o,a,i,s,u,l,c,d,f,m,h,p)}catch(e){if(eB(v),e!==e+0)throw e;eT(1,0)}},l:function(e){return e},M:ey,L:function(e,r,t,n,o){return ey(e,r,t,n)}};!function(){var e,t,n,a={a:eD};function i(e,t){var n,o=e.exports;return o=ek.instrumentWasmExports(o),r.asm=o,l=r.asm.da,N(),r.asm.na,n=r.asm.ea,B.unshift(n),G("wasm-instantiate"),o}if(Y("wasm-instantiate"),r.instantiateWasm)try{return r.instantiateWasm(a,i)}catch(e){F("Module.instantiateWasm callback failed with error: "+e),o(e)}(e=u,t=v,n=function(e){i(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||X(t)||"function"!=typeof fetch?$(t,a,n):fetch(t,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,a).then(n,function(e){return F("wasm streaming compile failed: "+e),F("falling back to ArrayBuffer instantiation"),$(t,a,n)})})).catch(o)}();var eF=function(){return(eF=r.asm.fa).apply(null,arguments)},eM=r._fflush=function(){return(eM=r._fflush=r.asm.ga).apply(null,arguments)},eP=function(){return(eP=r.asm.ha).apply(null,arguments)},eA=r._main=function(){return(eA=r._main=r.asm.ia).apply(null,arguments)},ex=function(){return(ex=r.asm.ja).apply(null,arguments)},eR=function(){return(eR=r.asm.ka).apply(null,arguments)},eC=(r._gidispatch_get_game_id=function(){return(r._gidispatch_get_game_id=r.asm.la).apply(null,arguments)},function(){return(eC=r.asm.ma).apply(null,arguments)}),eT=function(){return(eT=r.asm.oa).apply(null,arguments)},eN=function(){return(eN=r.asm.pa).apply(null,arguments)},ez=function(){return(ez=r.asm.qa).apply(null,arguments)},eB=function(){return(eB=r.asm.ra).apply(null,arguments)},eO=function(){return(eO=r.asm.sa).apply(null,arguments)},ej=function(){return(ej=r.asm.ta).apply(null,arguments)},eI=function(){return(eI=r.asm.ua).apply(null,arguments)},eL=r.dynCall_ii=function(){return(eL=r.dynCall_ii=r.asm.va).apply(null,arguments)},eU=r.dynCall_iiii=function(){return(eU=r.dynCall_iiii=r.asm.wa).apply(null,arguments)},eH=r.dynCall_viii=function(){return(eH=r.dynCall_viii=r.asm.xa).apply(null,arguments)},eW=r.dynCall_v=function(){return(eW=r.dynCall_v=r.asm.ya).apply(null,arguments)},eq=r.dynCall_vi=function(){return(eq=r.dynCall_vi=r.asm.za).apply(null,arguments)},eY=r.dynCall_iii=function(){return(eY=r.dynCall_iii=r.asm.Aa).apply(null,arguments)},eG=r.dynCall_vii=function(){return(eG=r.dynCall_vii=r.asm.Ba).apply(null,arguments)},eV=r.dynCall_iiiiii=function(){return(eV=r.dynCall_iiiiii=r.asm.Ca).apply(null,arguments)},eX=r.dynCall_iiiii=function(){return(eX=r.dynCall_iiiii=r.asm.Da).apply(null,arguments)},eK=r.dynCall_i=function(){return(eK=r.dynCall_i=r.asm.Ea).apply(null,arguments)},e$=r.dynCall_iiiiiii=function(){return(e$=r.dynCall_iiiiiii=r.asm.Fa).apply(null,arguments)},eJ=r.dynCall_viiii=function(){return(eJ=r.dynCall_viiii=r.asm.Ga).apply(null,arguments)},eZ=r.dynCall_ji=function(){return(eZ=r.dynCall_ji=r.asm.Ha).apply(null,arguments)},eQ=r.dynCall_viiiii=function(){return(eQ=r.dynCall_viiiii=r.asm.Ia).apply(null,arguments)},e0=r.dynCall_iiiiiiii=function(){return(e0=r.dynCall_iiiiiiii=r.asm.Ja).apply(null,arguments)},e1=r.dynCall_jiiii=function(){return(e1=r.dynCall_jiiii=r.asm.Ka).apply(null,arguments)},e2=r.dynCall_fiii=function(){return(e2=r.dynCall_fiii=r.asm.La).apply(null,arguments)},e4=r.dynCall_diii=function(){return(e4=r.dynCall_diii=r.asm.Ma).apply(null,arguments)},e6=r.dynCall_viiiiiii=function(){return(e6=r.dynCall_viiiiiii=r.asm.Na).apply(null,arguments)},e3=r.dynCall_iiiiiiiiiiii=function(){return(e3=r.dynCall_iiiiiiiiiiii=r.asm.Oa).apply(null,arguments)},e9=r.dynCall_viiiiiiiiii=function(){return(e9=r.dynCall_viiiiiiiiii=r.asm.Pa).apply(null,arguments)},e8=r.dynCall_viiiiiiiiiiiiiii=function(){return(e8=r.dynCall_viiiiiiiiiiiiiii=r.asm.Qa).apply(null,arguments)},e5=function(){return(e5=r.asm.Ra).apply(null,arguments)},e7=function(){return(e7=r.asm.Sa).apply(null,arguments)},re=function(){return(re=r.asm.Ta).apply(null,arguments)},rr=function(){return(rr=r.asm.Ua).apply(null,arguments)};function rt(e=E){!(H>0)&&(!function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;){var e;e=r.preRun.shift(),z.unshift(e)}Z(z)}(),H>0||(r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),t()},1)):t()));function t(){!_&&(_=!0,r.calledRun=!0,P||(r.noFSInit||el.init.initialized||el.init(),el.ignorePermissions=!1,es.init(),Z(B),Z(O),n(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),rn&&function(e=[]){var r=eA;e.unshift(b);var t=e.length,n=eO((t+1)*4),o=n>>2;e.forEach(e=>{var r,t;h[o++]=(t=eO(r=T(e)+1),C(e,d,t,r),t)}),h[o]=0;try{var a=r(t,n);ew(a,!0)}catch(e){return eE(e)}}(e),function(){if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;){var e;e=r.postRun.shift(),I.unshift(e)}Z(I)}()))}}if(r.___start_em_js=52440,r.___stop_em_js=55125,r.AsciiToString=function(e){for(var r="";;){var t=f[e++>>0];if(!t)return r;r+=String.fromCharCode(t)}},r.FS=el,q=function e(){_||rt(),_||(q=e)},r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();var rn=!0;return r.noInitialRun&&(rn=!1),rt(),r.ready}})(),rw={};rw=new URL(k("6MsPj").resolve("kBXOE"),import.meta.url).toString();var rg=(()=>{var e="file:///node_modules/emglken/build/git-core.js";return function(r={}){var t,n,o,a,i,s,u,l,c,d,f,m,h,p,v,w,g,_,r=void 0!==r?r:{};r.ready=new Promise(function(e,r){n=e,o=r});var y=Object.assign({},r),E=[],b="./this.program",k=(e,r)=>{throw r},S="";"undefined"!=typeof document&&document.currentScript&&(S=document.currentScript.src),e&&(S=e),S=0!==S.indexOf("blob:")?S.substr(0,S.replace(/[?#].*/,"").lastIndexOf("/")+1):"",a=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},i=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{if(200==n.status||0==n.status&&n.response){r(n.response);return}t()},n.onerror=t,n.send(null)};var D=r.print||console.log.bind(console),F=r.printErr||console.warn.bind(console);Object.assign(r,y),y=null,r.arguments&&(E=r.arguments),r.thisProgram&&(b=r.thisProgram),r.quit&&(k=r.quit),r.wasmBinary&&(u=r.wasmBinary);var M=r.noExitRuntime||!1;"object"!=typeof WebAssembly&&G("no native wasm support detected");var P=!1,A=new TextDecoder("utf8");function x(e,r,t){for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;return A.decode(e.buffer?e.subarray(r,o):new Uint8Array(e.slice(r,o)))}function R(e,r,t,n){if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)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){for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r}function T(){var e=l.buffer;r.HEAP8=d=new Int8Array(e),r.HEAP16=m=new Int16Array(e),r.HEAP32=h=new Int32Array(e),r.HEAPU8=f=new Uint8Array(e),r.HEAPU16=new Uint16Array(e),r.HEAPU32=p=new Uint32Array(e),r.HEAPF32=new Float32Array(e),r.HEAPF64=new Float64Array(e)}var N=[],z=[],B=[],O=[],j=[],I=!1,L=0,U=0,H=null,W=null;function q(e){U++,r.monitorRunDependencies&&r.monitorRunDependencies(U)}function Y(e){if(U--,r.monitorRunDependencies&&r.monitorRunDependencies(U),0==U&&(null!==H&&(clearInterval(H),H=null),W)){var t=W;W=null,t()}}function G(e){r.onAbort&&r.onAbort(e),F(e="Aborted("+e+")"),P=!0,c=1,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw o(t),t}function V(e){return e.startsWith("data:application/octet-stream;base64,")}function X(e){try{if(e==v&&u)return new Uint8Array(u);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}catch(e){G(e)}}function K(e,r,t){return(u||"function"!=typeof fetch?Promise.resolve().then(function(){return X(e)}):fetch(e,{credentials:"same-origin"}).then(function(r){if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()}).catch(function(){return X(e)})).then(function(e){return WebAssembly.instantiate(e,r)}).then(function(e){return e}).then(t,function(e){F("failed to asynchronously prepare wasm: "+e),G(e)})}function $(e,r,t,n,o){let a=e>>2,i=p.subarray(a,a+t),s=o?i:i.reduce((e,r)=>e+String.fromCodePoint(r),""),u=n(s),l=Uint32Array.from(u,e=>e.codePointAt(0)),c=l.length;return p.set(l.subarray(0,Math.min(r,c)),a),c}function J(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Z(e){for(;e.length>0;)e.shift()(r)}r.locateFile?V(v="git-core.wasm")||(t=v,v=r.locateFile?r.locateFile(t,S):S+t):v=new URL(rw).href;var Q={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(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:e=>{var r=Q.isAbs(e),t="/"===e.substr(-1);return(e=Q.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Q.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=Q.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return -1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Q.normalize(e.join("/"))},join2:(e,r)=>Q.normalize(e+"/"+r)},ee={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:eo.cwd();if("string"!=typeof n)throw TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=Q.isAbs(n)}return e=Q.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+e||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=ee.resolve(e).substr(1),r=ee.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s0?t:C(e)+1),o=R(e,n,0,n.length);return r&&(n.length=o),n}var et={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){et.ttys[e]={input:[],output:[],ops:r},eo.registerDevice(e,et.stream_ops)},stream_ops:{open:function(e){var r=et.ttys[e.node.rdev];if(!r)throw new eo.ErrnoError(43);e.tty=r,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new eo.ErrnoError(60);for(var a,i=0,s=0;s0&&(D(x(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(F(x(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync:function(e){e.output&&e.output.length>0&&(F(x(e.output,0)),e.output=[])}}},en={ops_table:null,mount:function(e){return en.createNode(null,"/",16895,0)},createNode:function(e,r,t,n){if(eo.isBlkdev(t)||eo.isFIFO(t))throw new eo.ErrnoError(63);en.ops_table||(en.ops_table={dir:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr,lookup:en.node_ops.lookup,mknod:en.node_ops.mknod,rename:en.node_ops.rename,unlink:en.node_ops.unlink,rmdir:en.node_ops.rmdir,readdir:en.node_ops.readdir,symlink:en.node_ops.symlink},stream:{llseek:en.stream_ops.llseek}},file:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr},stream:{llseek:en.stream_ops.llseek,read:en.stream_ops.read,write:en.stream_ops.write,allocate:en.stream_ops.allocate,mmap:en.stream_ops.mmap,msync:en.stream_ops.msync}},link:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr,readlink:en.node_ops.readlink},stream:{}},chrdev:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr},stream:eo.chrdev_stream_ops}});var o=eo.createNode(e,r,t,n);return eo.isDir(o.mode)?(o.node_ops=en.ops_table.dir.node,o.stream_ops=en.ops_table.dir.stream,o.contents={}):eo.isFile(o.mode)?(o.node_ops=en.ops_table.file.node,o.stream_ops=en.ops_table.file.stream,o.usedBytes=0,o.contents=null):eo.isLink(o.mode)?(o.node_ops=en.ops_table.link.node,o.stream_ops=en.ops_table.link.stream):eo.isChrdev(o.mode)&&(o.node_ops=en.ops_table.chrdev.node,o.stream_ops=en.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},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)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}}},node_ops:{getattr:function(e){var r={};return r.dev=eo.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,eo.isDir(e.mode)?r.size=4096:eo.isFile(e.mode)?r.size=e.usedBytes:eo.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&&en.resizeFileStorage(e,r.size)},lookup:function(e,r){throw eo.genericErrors[44]},mknod:function(e,r,t,n){return en.createNode(e,r,t,n)},rename:function(e,r,t){if(eo.isDir(e.mode)){var n;try{n=eo.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new eo.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink:function(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir:function(e,r){var t=eo.lookupNode(e,r);for(var n in t.contents)throw new eo.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},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=en.createNode(e,r,41471,0);return n.link=t,n},readlink:function(e){if(!eo.isLink(e.mode))throw new eo.ErrnoError(28);return e.link}},stream_ops:{read:function(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s0||t+r{if(!(e=ee.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new eo.ErrnoError(32);for(var t=e.split("/").filter(e=>!!e),n=eo.root,o="/",a=0;a40)throw new eo.ErrnoError(32)}}return{path:o,node:n}},getPath:e=>{for(var r;;){if(eo.isRoot(e)){var t=e.mount.mountpoint;if(!r)return t;return"/"!==t[t.length-1]?t+"/"+r:t+r}r=r?e.name+"/"+r:e.name,e=e.parent}},hashName:(e,r)=>{for(var t=0,n=0;n>>0)%eo.nameTable.length},hashAddNode:e=>{var r=eo.hashName(e.parent.id,e.name);e.name_next=eo.nameTable[r],eo.nameTable[r]=e},hashRemoveNode:e=>{var r=eo.hashName(e.parent.id,e.name);if(eo.nameTable[r]===e)eo.nameTable[r]=e.name_next;else for(var t=eo.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode:(e,r)=>{var t=eo.mayLookup(e);if(t)throw new eo.ErrnoError(t,e);for(var n=eo.hashName(e.id,r),o=eo.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return eo.lookup(e,r)},createNode:(e,r,t,n)=>{var o=new eo.FSNode(e,r,t,n);return eo.hashAddNode(o),o},destroyNode:e=>{eo.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>(61440&e)==32768,isDir:e=>(61440&e)==16384,isLink:e=>(61440&e)==40960,isChrdev:e=>(61440&e)==8192,isBlkdev:e=>(61440&e)==24576,isFIFO:e=>(61440&e)==4096,isSocket:e=>(49152&e)==49152,flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var r=eo.flagModes[e];if(void 0===r)throw Error("Unknown file open mode: "+e);return r},flagsToPermissionString:e=>{var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>eo.ignorePermissions?0:r.includes("r")&&!(292&e.mode)||r.includes("w")&&!(146&e.mode)||r.includes("x")&&!(73&e.mode)?2:0,mayLookup:e=>eo.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,r)=>{try{return eo.lookupNode(e,r),20}catch(e){}return eo.nodePermissions(e,"wx")},mayDelete:(e,r,t)=>{try{n=eo.lookupNode(e,r)}catch(e){return e.errno}var n,o=eo.nodePermissions(e,"wx");if(o)return o;if(t){if(!eo.isDir(n.mode))return 54;if(eo.isRoot(n)||eo.getPath(n)===eo.cwd())return 10}else if(eo.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?eo.isLink(e.mode)?32:eo.isDir(e.mode)&&("r"!==eo.flagsToPermissionString(r)||512&r)?31:eo.nodePermissions(e,eo.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,r=eo.MAX_OPEN_FDS)=>{for(var t=e;t<=r;t++)if(!eo.streams[t])return t;throw new eo.ErrnoError(33)},getStream:e=>eo.streams[e],createStream:(e,r,t)=>{eo.FSStream||(eo.FSStream=function(){this.shared={}},eo.FSStream.prototype={},Object.defineProperties(eo.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return(2097155&this.flags)!=1}},isWrite:{get:function(){return(2097155&this.flags)!=0}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new eo.FSStream,e);var n=eo.nextfd(r,t);return e.fd=n,eo.streams[n]=e,e},closeStream:e=>{eo.streams[e]=null},chrdev_stream_ops:{open:e=>{var r=eo.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new eo.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice:(e,r)=>{eo.devices[e]={stream_ops:r}},getDevice:e=>eo.devices[e],getMounts:e=>{for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs:(e,r)=>{"function"==typeof e&&(r=e,e=!1),eo.syncFSRequests++,eo.syncFSRequests>1&&F("warning: "+eo.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=eo.getMounts(eo.root.mount),n=0;function o(e){return eo.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach(r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)})},mount:(e,r,t)=>{var n,o="/"===t,a=!t;if(o&&eo.root)throw new eo.ErrnoError(10);if(!o&&!a){var i=eo.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,eo.isMountpoint(n))throw new eo.ErrnoError(10);if(!eo.isDir(n.mode))throw new eo.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return u.mount=s,s.root=u,o?eo.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:e=>{var r=eo.lookupPath(e,{follow_mount:!1});if(!eo.isMountpoint(r.node))throw new eo.ErrnoError(28);var t=r.node,n=t.mounted,o=eo.getMounts(n);Object.keys(eo.nameTable).forEach(e=>{for(var r=eo.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&eo.destroyNode(r),r=t}}),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod:(e,r,t)=>{var n=eo.lookupPath(e,{parent:!0}).node,o=Q.basename(e);if(!o||"."===o||".."===o)throw new eo.ErrnoError(28);var a=eo.mayCreate(n,o);if(a)throw new eo.ErrnoError(a);if(!n.node_ops.mknod)throw new eo.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=(void 0!==r?r:438)&4095|32768,eo.mknod(e,r,0)),mkdir:(e,r)=>(r=(void 0!==r?r:511)&1023|16384,eo.mknod(e,r,0)),mkdirTree:(e,r)=>{for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,eo.mknod(e,r,t)),symlink:(e,r)=>{if(!ee.resolve(e))throw new eo.ErrnoError(44);var t=eo.lookupPath(r,{parent:!0}).node;if(!t)throw new eo.ErrnoError(44);var n=Q.basename(r),o=eo.mayCreate(t,n);if(o)throw new eo.ErrnoError(o);if(!t.node_ops.symlink)throw new eo.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename:(e,r)=>{var t,n,o,a=Q.dirname(e),i=Q.dirname(r),s=Q.basename(e),u=Q.basename(r);if(t=eo.lookupPath(e,{parent:!0}).node,n=eo.lookupPath(r,{parent:!0}).node,!t||!n)throw new eo.ErrnoError(44);if(t.mount!==n.mount)throw new eo.ErrnoError(75);var l=eo.lookupNode(t,s),c=ee.relative(e,i);if("."!==c.charAt(0))throw new eo.ErrnoError(28);if("."!==(c=ee.relative(r,a)).charAt(0))throw new eo.ErrnoError(55);try{o=eo.lookupNode(n,u)}catch(e){}if(l!==o){var d=eo.isDir(l.mode),f=eo.mayDelete(t,s,d);if(f||(f=o?eo.mayDelete(n,u,d):eo.mayCreate(n,u)))throw new eo.ErrnoError(f);if(!t.node_ops.rename)throw new eo.ErrnoError(63);if(eo.isMountpoint(l)||o&&eo.isMountpoint(o))throw new eo.ErrnoError(10);if(n!==t&&(f=eo.nodePermissions(t,"w")))throw new eo.ErrnoError(f);eo.hashRemoveNode(l);try{t.node_ops.rename(l,n,u)}catch(e){throw e}finally{eo.hashAddNode(l)}}},rmdir:e=>{var r=eo.lookupPath(e,{parent:!0}).node,t=Q.basename(e),n=eo.lookupNode(r,t),o=eo.mayDelete(r,t,!0);if(o)throw new eo.ErrnoError(o);if(!r.node_ops.rmdir)throw new eo.ErrnoError(63);if(eo.isMountpoint(n))throw new eo.ErrnoError(10);r.node_ops.rmdir(r,t),eo.destroyNode(n)},readdir:e=>{var r=eo.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new eo.ErrnoError(54);return r.node_ops.readdir(r)},unlink:e=>{var r=eo.lookupPath(e,{parent:!0}).node;if(!r)throw new eo.ErrnoError(44);var t=Q.basename(e),n=eo.lookupNode(r,t),o=eo.mayDelete(r,t,!1);if(o)throw new eo.ErrnoError(o);if(!r.node_ops.unlink)throw new eo.ErrnoError(63);if(eo.isMountpoint(n))throw new eo.ErrnoError(10);r.node_ops.unlink(r,t),eo.destroyNode(n)},readlink:e=>{var r=eo.lookupPath(e).node;if(!r)throw new eo.ErrnoError(44);if(!r.node_ops.readlink)throw new eo.ErrnoError(28);return ee.resolve(eo.getPath(r.parent),r.node_ops.readlink(r))},stat:(e,r)=>{var t=eo.lookupPath(e,{follow:!r}).node;if(!t)throw new eo.ErrnoError(44);if(!t.node_ops.getattr)throw new eo.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>eo.stat(e,!0),chmod:(e,r,t)=>{var n;if(!(n="string"==typeof e?eo.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new eo.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod:(e,r)=>{eo.chmod(e,r,!0)},fchmod:(e,r)=>{var t=eo.getStream(e);if(!t)throw new eo.ErrnoError(8);eo.chmod(t.node,r)},chown:(e,r,t,n)=>{var o;if(!(o="string"==typeof e?eo.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new eo.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,r,t)=>{eo.chown(e,r,t,!0)},fchown:(e,r,t)=>{var n=eo.getStream(e);if(!n)throw new eo.ErrnoError(8);eo.chown(n.node,r,t)},truncate:(e,r)=>{if(r<0)throw new eo.ErrnoError(28);if("string"==typeof e){var t;t=eo.lookupPath(e,{follow:!0}).node}else t=e;if(!t.node_ops.setattr)throw new eo.ErrnoError(63);if(eo.isDir(t.mode))throw new eo.ErrnoError(31);if(!eo.isFile(t.mode))throw new eo.ErrnoError(28);var n=eo.nodePermissions(t,"w");if(n)throw new eo.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate:(e,r)=>{var t=eo.getStream(e);if(!t)throw new eo.ErrnoError(8);if((2097155&t.flags)==0)throw new eo.ErrnoError(28);eo.truncate(t.node,r)},utime:(e,r,t)=>{var n=eo.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open:(e,t,n)=>{if(""===e)throw new eo.ErrnoError(44);if(t="string"==typeof t?eo.modeStringToFlags(t):t,n=void 0===n?438:n,n=64&t?4095&n|32768:0,"object"==typeof e)o=e;else{e=Q.normalize(e);try{var o;o=eo.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var a=!1;if(64&t){if(o){if(128&t)throw new eo.ErrnoError(20)}else o=eo.mknod(e,n,0),a=!0}if(!o)throw new eo.ErrnoError(44);if(eo.isChrdev(o.mode)&&(t&=-513),65536&t&&!eo.isDir(o.mode))throw new eo.ErrnoError(54);if(!a){var i=eo.mayOpen(o,t);if(i)throw new eo.ErrnoError(i)}512&t&&!a&&eo.truncate(o,0),t&=-131713;var s=eo.createStream({node:o,path:eo.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!r.logReadFiles||1&t||(eo.readFiles||(eo.readFiles={}),e in eo.readFiles||(eo.readFiles[e]=1)),s},close:e=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{eo.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,r,t)=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new eo.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new eo.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read:(e,r,t,n,o)=>{if(n<0||o<0)throw new eo.ErrnoError(28);if(eo.isClosed(e)||(2097155&e.flags)==1)throw new eo.ErrnoError(8);if(eo.isDir(e.node.mode))throw new eo.ErrnoError(31);if(!e.stream_ops.read)throw new eo.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new eo.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write:(e,r,t,n,o,a)=>{if(n<0||o<0)throw new eo.ErrnoError(28);if(eo.isClosed(e)||(2097155&e.flags)==0)throw new eo.ErrnoError(8);if(eo.isDir(e.node.mode))throw new eo.ErrnoError(31);if(!e.stream_ops.write)throw new eo.ErrnoError(28);e.seekable&&1024&e.flags&&eo.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new eo.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},allocate:(e,r,t)=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);if(r<0||t<=0)throw new eo.ErrnoError(28);if((2097155&e.flags)==0)throw new eo.ErrnoError(8);if(!eo.isFile(e.node.mode)&&!eo.isDir(e.node.mode))throw new eo.ErrnoError(43);if(!e.stream_ops.allocate)throw new eo.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap:(e,r,t,n,o)=>{if((2&n)!=0&&(2&o)==0&&(2097155&e.flags)!=2||(2097155&e.flags)==1)throw new eo.ErrnoError(2);if(!e.stream_ops.mmap)throw new eo.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl:(e,r,t)=>{if(!e.stream_ops.ioctl)throw new eo.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile:(e,r={})=>{if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw Error('Invalid encoding type "'+r.encoding+'"');var t,n=eo.open(e,r.flags),o=eo.stat(e).size,a=new Uint8Array(o);return eo.read(n,a,0,o,0),"utf8"===r.encoding?t=x(a,0):"binary"===r.encoding&&(t=a),eo.close(n),t},writeFile:(e,r,t={})=>{t.flags=t.flags||577;var n=eo.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(C(r)+1),a=R(r,o,0,o.length);eo.write(n,o,0,a,void 0,t.canOwn)}else if(ArrayBuffer.isView(r))eo.write(n,r,0,r.byteLength,void 0,t.canOwn);else throw Error("Unsupported data type");eo.close(n)},cwd:()=>eo.currentPath,chdir:e=>{var r=eo.lookupPath(e,{follow:!0});if(null===r.node)throw new eo.ErrnoError(44);if(!eo.isDir(r.node.mode))throw new eo.ErrnoError(54);var t=eo.nodePermissions(r.node,"x");if(t)throw new eo.ErrnoError(t);eo.currentPath=r.path},createDefaultDirectories:()=>{eo.mkdir("/tmp"),eo.mkdir("/home"),eo.mkdir("/home/web_user")},createDefaultDevices:()=>{eo.mkdir("/dev"),eo.registerDevice(eo.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),eo.mkdev("/dev/null",eo.makedev(1,3)),et.register(eo.makedev(5,0),et.default_tty_ops),et.register(eo.makedev(6,0),et.default_tty1_ops),eo.mkdev("/dev/tty",eo.makedev(5,0)),eo.mkdev("/dev/tty1",eo.makedev(6,0));var e=function(){if("object"!=typeof crypto||"function"!=typeof crypto.getRandomValues)return()=>G("randomDevice");var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}();eo.createDevice("/dev","random",e),eo.createDevice("/dev","urandom",e),eo.mkdir("/dev/shm"),eo.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{eo.mkdir("/proc");var e=eo.mkdir("/proc/self");eo.mkdir("/proc/self/fd"),eo.mount({mount:()=>{var r=eo.createNode(e,"fd",16895,73);return r.node_ops={lookup:(e,r)=>{var t=eo.getStream(+r);if(!t)throw new eo.ErrnoError(8);var n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>t.path}};return n.parent=n,n}},r}},{},"/proc/self/fd")},createStandardStreams:()=>{r.stdin?eo.createDevice("/dev","stdin",r.stdin):eo.symlink("/dev/tty","/dev/stdin"),r.stdout?eo.createDevice("/dev","stdout",null,r.stdout):eo.symlink("/dev/tty","/dev/stdout"),r.stderr?eo.createDevice("/dev","stderr",null,r.stderr):eo.symlink("/dev/tty1","/dev/stderr"),eo.open("/dev/stdin",0),eo.open("/dev/stdout",1),eo.open("/dev/stderr",1)},ensureErrnoError:()=>{eo.ErrnoError||(eo.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},eo.ErrnoError.prototype=Error(),eo.ErrnoError.prototype.constructor=eo.ErrnoError,[44].forEach(e=>{eo.genericErrors[e]=new eo.ErrnoError(e),eo.genericErrors[e].stack=""}))},staticInit:()=>{eo.ensureErrnoError(),eo.nameTable=Array(4096),eo.mount(en,{},"/"),eo.createDefaultDirectories(),eo.createDefaultDevices(),eo.createSpecialDirectories(),eo.filesystems={MEMFS:en}},init:(e,t,n)=>{eo.init.initialized=!0,eo.ensureErrnoError(),r.stdin=e||r.stdin,r.stdout=t||r.stdout,r.stderr=n||r.stderr,eo.createStandardStreams()},quit:()=>{eo.init.initialized=!1,ey(0);for(var e=0;e{var t=0;return e&&(t|=365),r&&(t|=146),t},findObject:(e,r)=>{var t=eo.analyzePath(e,r);return t.exists?t.object:null},analyzePath:(e,r)=>{try{var t=eo.lookupPath(e,{follow:!r});e=t.path}catch(e){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var t=eo.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=t.path,n.parentObject=t.node,n.name=Q.basename(e),t=eo.lookupPath(e,{follow:!r}),n.exists=!0,n.path=t.path,n.object=t.node,n.name=t.node.name,n.isRoot="/"===t.path}catch(e){n.error=e.errno}return n},createPath:(e,r,t,n)=>{e="string"==typeof e?e:eo.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var i=Q.join2(e,a);try{eo.mkdir(i)}catch(e){}e=i}}return i},createFile:(e,r,t,n,o)=>{var a=Q.join2("string"==typeof e?e:eo.getPath(e),r),i=eo.getMode(n,o);return eo.create(a,i)},createDataFile:(e,r,t,n,o,a)=>{var i=r;e&&(e="string"==typeof e?e:eo.getPath(e),i=r?Q.join2(e,r):e);var s=eo.getMode(n,o),u=eo.create(i,s);if(t){if("string"==typeof t){for(var l=Array(t.length),c=0,d=t.length;c{var o=Q.join2("string"==typeof e?e:eo.getPath(e),r),a=eo.getMode(!!t,!!n);eo.createDevice.major||(eo.createDevice.major=64);var i=eo.makedev(eo.createDevice.major++,0);return eo.registerDevice(i,{open:e=>{e.seekable=!1},close:e=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(e,r,n,o,a)=>{for(var i,s=0,u=0;u{for(var i=0;i{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw 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(a)try{e.contents=er(a(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new eo.ErrnoError(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile:(e,r,t,n,o)=>{function a(){this.lengthKnown=!1,this.chunks=[]}if(a.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]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e,r=new XMLHttpRequest;if(r.open("HEAD",t,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw Error("Couldn't load "+t+". Status: "+r.status);var n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=(e,r)=>{if(e>r)throw Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+e+"-"+r),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 Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):er(o.responseText||"",!0)},u=this;u.setDataGetter(e=>{var r=e*i,t=(e+1)*i-1;if(t=Math.min(t,n-1),void 0===u.chunks[e]&&(u.chunks[e]=s(r,t)),void 0===u.chunks[e])throw Error("doXHR failed!");return u.chunks[e]}),(a||!n)&&(i=n=1,i=n=this.getter(0).length,D("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){var i;throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"}var i={isDevice:!1,url:t},s=eo.createFile(e,r,i,n,o);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s{var r=s.stream_ops[e];u[e]=function(){return eo.forceLoadFile(s),r.apply(null,arguments)}}),u.read=(e,r,t,n,o)=>(eo.forceLoadFile(s),l(e,r,t,n,o)),u.mmap=(e,r,t,n,o)=>{eo.forceLoadFile(s);var a=void G();if(!a)throw new eo.ErrnoError(48);return l(e,d,a,r,t),{ptr:a,allocated:!0}},s.stream_ops=u,s},createPreloadedFile:(e,r,t,n,o,a,s,u,l,c)=>{var d,f,m=r?ee.resolve(Q.join2(e,r)):e,h="cp "+m;function p(t){function i(t){c&&c(),u||eo.createDataFile(e,r,t,n,o,l),a&&a(),Y(h)}Browser.handledByPreloadPlugin(t,m,i,()=>{s&&s(),Y(h)})||i(t)}q(h),"string"==typeof t?(d=e=>p(e),f="al "+t,i(t,e=>{var r;r='Loading data file "'+t+'" failed (no arrayBuffer).',e||G(r),d(new Uint8Array(e)),f&&Y(f)},e=>{if(s)s();else throw'Loading data file "'+t+'" failed.'}),f&&q(f)):p(t)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,r=()=>{},t=()=>{})=>{var n=eo.indexedDB();try{var o=n.open(eo.DB_NAME(),eo.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=()=>{D("creating db"),o.result.createObjectStore(eo.DB_STORE_NAME)},o.onsuccess=()=>{var n=o.result.transaction([eo.DB_STORE_NAME],"readwrite"),a=n.objectStore(eo.DB_STORE_NAME),i=0,s=0,u=e.length;function l(){0==s?r():t()}e.forEach(e=>{var r=a.put(eo.analyzePath(e).object.contents,e);r.onsuccess=()=>{++i+s==u&&l()},r.onerror=()=>{i+ ++s==u&&l()}}),n.onerror=t},o.onerror=t},loadFilesFromDB:(e,r=()=>{},t=()=>{})=>{var n=eo.indexedDB();try{var o=n.open(eo.DB_NAME(),eo.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=t,o.onsuccess=()=>{var n=o.result;try{var a=n.transaction([eo.DB_STORE_NAME],"readonly")}catch(e){t(e);return}var i=a.objectStore(eo.DB_STORE_NAME),s=0,u=0,l=e.length;function c(){0==u?r():t()}e.forEach(e=>{var r=i.get(e);r.onsuccess=()=>{eo.analyzePath(e).exists&&eo.unlink(e),eo.createDataFile(Q.dirname(e),Q.basename(e),r.result,!0,!0,!0),++s+u==l&&c()},r.onerror=()=>{s+ ++u==l&&c()}}),a.onerror=t},o.onerror=t}},ea={DEFAULT_POLLMASK:5,calculateAt:function(e,r,t){if(Q.isAbs(r))return r;if(-100===e)n=eo.cwd();else{var n;n=ea.getStreamFromFD(e).path}if(0==r.length){if(!t)throw new eo.ErrnoError(44);return n}return Q.join2(n,r)},doStat:function(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&Q.normalize(r)!==Q.normalize(eo.getPath(e.node)))return -54;throw e}h[t>>2]=n.dev,h[t+8>>2]=n.ino,h[t+12>>2]=n.mode,p[t+16>>2]=n.nlink,h[t+20>>2]=n.uid,h[t+24>>2]=n.gid,h[t+28>>2]=n.rdev,g=[n.size>>>0,+Math.abs(w=n.size)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+40>>2]=g[0],h[t+44>>2]=g[1],h[t+48>>2]=4096,h[t+52>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return g=[Math.floor(o/1e3)>>>0,+Math.abs(w=Math.floor(o/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+56>>2]=g[0],h[t+60>>2]=g[1],p[t+64>>2]=o%1e3*1e3,g=[Math.floor(a/1e3)>>>0,+Math.abs(w=Math.floor(a/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+72>>2]=g[0],h[t+76>>2]=g[1],p[t+80>>2]=a%1e3*1e3,g=[Math.floor(i/1e3)>>>0,+Math.abs(w=Math.floor(i/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+88>>2]=g[0],h[t+92>>2]=g[1],p[t+96>>2]=i%1e3*1e3,g=[n.ino>>>0,+Math.abs(w=n.ino)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+104>>2]=g[0],h[t+108>>2]=g[1],0},doMsync:function(e,r,t,n,o){if(!eo.isFile(r.node.mode))throw new eo.ErrnoError(43);if(2&n)return 0;var a=f.slice(e,e+t);eo.msync(r,a,o,t,n)},varargs:void 0,get:function(){return ea.varargs+=4,h[ea.varargs-4>>2]},getStr:function(e){return function(e,r){if(!e)return"";for(var t=e+void 0,n=e;!(n>=t)&&f[n];)++n;return A.decode(f.subarray(e,n))}(e)},getStreamFromFD:function(e){var r=eo.getStream(e);if(!r)throw new eo.ErrnoError(8);return r}};function ei(e){return p[e>>2]+4294967296*h[e+4>>2]}var es=[0,31,60,91,121,152,182,213,244,274,305,335],eu=[0,31,59,90,120,151,181,212,243,273,304,334];function el(e){var r;return((r=e.getFullYear())%4==0&&(r%100!=0||r%400==0)?es:eu)[e.getMonth()]+e.getDate()-1}function ec(e){var r=C(e)+1,t=ew(r);return t&&R(e,d,t,r),t}function ed(e,t){c=e,M||L>0||(eb(),Z(O),eo.quit(),et.shutdown(),I=!0),c=e,M||L>0||(r.onExit&&r.onExit(e),P=!0),k(e,new J(e))}function ef(e){if(e instanceof J||"unwind"==e)return c;k(1,e)}function em(e){try{return e()}catch(e){G(e)}}var eh={instrumentWasmImports:function(e){var r=["emscripten_sleep","emscripten_wget","emscripten_wget_data","emscripten_idb_load","emscripten_idb_store","emscripten_idb_delete","emscripten_idb_exists","emscripten_idb_load_blob","emscripten_idb_store_blob","SDL_Delay","emscripten_scan_registers","emscripten_lazy_load_code","emscripten_fiber_swap","__load_secondary_module","fd_sync","__wasi_fd_sync","_emval_await","_dlopen_js","__asyncjs__*"];for(var t in e)!function(t){var n=e[t];n.sig,"function"==typeof n&&(r.indexOf(t)>=0||t.startsWith("__asyncjs__"))}(t)},instrumentWasmExports:function(e){var r={};for(var t in e)!function(t){var n=e[t];"function"==typeof n?r[t]=function(){eh.exportCallStack.push(t);try{return n.apply(null,arguments)}finally{P||(eh.exportCallStack.pop()===t||G(void 0),eh.maybeStopUnwind())}}:r[t]=n}(t);return r},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:8192,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId:function(e){var r=eh.callStackNameToId[e];return void 0===r&&(r=eh.callStackId++,eh.callStackNameToId[e]=r,eh.callStackIdToName[r]=e),r},maybeStopUnwind:function(){eh.currData&&eh.state===eh.State.Unwinding&&0===eh.exportCallStack.length&&(eh.state=eh.State.Normal,L+=1,em(ex),"undefined"!=typeof Fibers&&Fibers.trampoline())},whenDone:function(){return new Promise((e,r)=>{eh.asyncPromiseHandlers={resolve:e,reject:r}})},allocateData:function(){var e=ew(12+eh.StackSize);return eh.setDataHeader(e,e+12,eh.StackSize),eh.setDataRewindFunc(e),e},setDataHeader:function(e,r,t){h[e>>2]=r,h[e+4>>2]=r+t},setDataRewindFunc:function(e){var r=eh.exportCallStack[0],t=eh.getCallStackId(r);h[e+8>>2]=t},getDataRewindFunc:function(e){var t=h[e+8>>2],n=eh.callStackIdToName[t];return r.asm[n]},doRewind:function(e){var r=eh.getDataRewindFunc(e);return L-=1,r()},handleSleep:function(e){if(!P){if(eh.state===eh.State.Normal){var r=!1,t=!1;e((e=0)=>{if(!P&&(eh.handleSleepReturnValue=e,r=!0,t)){eh.state=eh.State.Rewinding,em(()=>eR(eh.currData)),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.resume();var n,o=!1;try{n=eh.doRewind(eh.currData)}catch(e){n=e,o=!0}var a=!1;if(!eh.currData){var i=eh.asyncPromiseHandlers;i&&(eh.asyncPromiseHandlers=null,(o?i.reject:i.resolve)(n),a=!0)}if(o&&!a)throw n}}),t=!0,r||(eh.state=eh.State.Unwinding,eh.currData=eh.allocateData(),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.pause(),em(()=>eA(eh.currData)))}else eh.state===eh.State.Rewinding?(eh.state=eh.State.Normal,em(eC),eg(eh.currData),eh.currData=null,eh.sleepCallbacks.forEach(e=>(function(e){if(!I&&!P)try{e(),function(){if(!(M||L>0))try{ed(c)}catch(e){ef(e)}}()}catch(e){ef(e)}})(e))):G("invalid state: "+eh.state);return eh.handleSleepReturnValue}},handleAsync:function(e){return eh.handleSleep(r=>{e().then(r)})}},ep=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=eo.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n};Object.defineProperties(ep.prototype,{read:{get:function(){return(365&this.mode)==365},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return(146&this.mode)==146},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return eo.isDir(this.mode)}},isDevice:{get:function(){return eo.isChrdev(this.mode)}}}),eo.FSNode=ep,eo.staticInit();var ev={q:function(e,t){return eh.handleAsync(async()=>{r.emglken_stdin_buffers.length||await new Promise(e=>{r.emglken_stdin_ready=e});let n=r.emglken_stdin_buffers.shift(),o=Math.min(n.length,t);return o==n.length?f.set(n,e):(f.set(n.subarray(0,o),e),r.emglken_stdin_buffers.unshift(n.subarray(o))),o})},D:function(e,r,t,n){try{if(r=ea.getStr(r),r=ea.calculateAt(e,r),-8&t)return -28;var o=eo.lookupPath(r,{follow:!0}).node;if(!o)return -44;var a="";if(4&t&&(a+="r"),2&t&&(a+="w"),1&t&&(a+="x"),a&&eo.nodePermissions(o,a))return -2;return 0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},l:function(e,r,t){ea.varargs=t;try{var n=ea.getStreamFromFD(e);switch(r){case 0:var o=ea.get();if(o<0)return -28;return eo.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=ea.get();return n.flags|=o,0;case 5:var o=ea.get();return m[o+0>>1]=2,0;case 16:case 8:default:return -28;case 9:return h[eE()>>2]=28,-1}}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},C:function(e,r){try{if(0===r)return -28;var t=eo.cwd(),n=C(t)+1;if(r>2]=0,0;case 21520:if(!n.tty)return -59;return -28;case 21531:var o=ea.get();return eo.ioctl(n,r,o);default:return -28}}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},k:function(e,r,t,n){ea.varargs=n;try{r=ea.getStr(r),r=ea.calculateAt(e,r);var o=n?ea.get():0;return eo.open(r,t,o).fd}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},A:function(e,r){try{return e=ea.getStr(e),ea.doStat(eo.stat,e,r)}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},z:function(e,r,t){try{return r=ea.getStr(r),r=ea.calculateAt(e,r),0===t?eo.unlink(r):512===t?eo.rmdir(r):G("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},x:function(){return!0},w:function(){throw 1/0},v:function(e,r){var t=new Date(1e3*ei(e));h[r>>2]=t.getUTCSeconds(),h[r+4>>2]=t.getUTCMinutes(),h[r+8>>2]=t.getUTCHours(),h[r+12>>2]=t.getUTCDate(),h[r+16>>2]=t.getUTCMonth(),h[r+20>>2]=t.getUTCFullYear()-1900,h[r+24>>2]=t.getUTCDay();var n=Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0),o=(t.getTime()-n)/864e5|0;h[r+28>>2]=o},u:function(e,r){var t=new Date(1e3*ei(e));h[r>>2]=t.getSeconds(),h[r+4>>2]=t.getMinutes(),h[r+8>>2]=t.getHours(),h[r+12>>2]=t.getDate(),h[r+16>>2]=t.getMonth(),h[r+20>>2]=t.getFullYear()-1900,h[r+24>>2]=t.getDay();var n=0|el(t);h[r+28>>2]=n,h[r+36>>2]=-(60*t.getTimezoneOffset());var o=new Date(t.getFullYear(),0,1),a=new Date(t.getFullYear(),6,1).getTimezoneOffset(),i=o.getTimezoneOffset(),s=0|(a!=i&&t.getTimezoneOffset()==Math.min(i,a));h[r+32>>2]=s},t:function(e){var r=new Date(h[e+20>>2]+1900,h[e+16>>2],h[e+12>>2],h[e+8>>2],h[e+4>>2],h[e>>2],0),t=h[e+32>>2],n=r.getTimezoneOffset(),o=new Date(r.getFullYear(),0,1),a=new Date(r.getFullYear(),6,1).getTimezoneOffset(),i=o.getTimezoneOffset(),s=Math.min(i,a);if(t<0)h[e+32>>2]=Number(a!=i&&s==n);else if(t>0!=(s==n)){var u=t>0?s:Math.max(i,a);r.setTime(r.getTime()+(u-n)*6e4)}h[e+24>>2]=r.getDay();var l=0|el(r);return h[e+28>>2]=l,h[e>>2]=r.getSeconds(),h[e+4>>2]=r.getMinutes(),h[e+8>>2]=r.getHours(),h[e+12>>2]=r.getDate(),h[e+16>>2]=r.getMonth(),h[e+20>>2]=r.getYear(),r.getTime()/1e3|0},s:function(e){var r=Date.UTC(h[e+20>>2]+1900,h[e+16>>2],h[e+12>>2],h[e+8>>2],h[e+4>>2],h[e>>2],0),t=new Date(r);h[e+24>>2]=t.getUTCDay();var n=Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0),o=(t.getTime()-n)/864e5|0;return h[e+28>>2]=o,t.getTime()/1e3|0},r:function(e,r,t){var n=new Date().getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),i=o.getTimezoneOffset(),s=a.getTimezoneOffset();function u(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}p[e>>2]=60*Math.max(i,s),h[r>>2]=Number(i!=s);var l=u(o),c=u(a),d=ec(l),f=ec(c);s>2]=d,p[t+4>>2]=f):(p[t>>2]=f,p[t+4>>2]=d)},i:function(){return Date.now()},p:function(e,r,t){f.copyWithin(e,r,r+t)},o:function(e){var r=f.length;if((e>>>=0)>2147483648)return!1;let t=(e,r)=>e+(r-e%r)%r;for(var n=1;n<=4;n*=2){var o=r*(1+.2/n);if(o=Math.min(o,e+100663296),function(e){var r=l.buffer;try{return l.grow(e-r.byteLength+65535>>>16),T(),1}catch(e){}}(Math.min(2147483648,t(Math.max(e,o),65536))))return!0}return!1},a:ed,c:function(e){try{var r=ea.getStreamFromFD(e);return eo.close(r),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},y:function(e,r,t,n){try{var o=ea.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=eo.read(e,d,i,s,n);if(u<0)return -1;if(o+=u,u>2]=a,0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},m:function(e,r,t,n,o){try{var a=t+2097152>>>0<4194305-!!r?(r>>>0)+4294967296*t:NaN;if(isNaN(a))return 61;var i=ea.getStreamFromFD(e);return eo.llseek(i,a,n),g=[i.position>>>0,(w=i.position,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],h[o>>2]=g[0],h[o+4>>2]=g[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},j:function(e,r,t,n){try{var o=ea.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=eo.write(e,d,i,s,n);if(u<0)return -1;o+=u,void 0!==n&&(n+=u)}return o}(o,r,t);return p[n>>2]=a,0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},h:function(e,r,t){return $(e,r,t,e=>e.normalize("NFD"))},g:function(e,r,t){return $(e,r,t,e=>e.normalize("NFC"))},f:function(e,r,t){return $(e,r,t,e=>e.toLowerCase())},e:function(e,r,t,n){return $(e,r,t,e=>e.reduce((e,r,t)=>{let o={ß:"Ss",DŽ:"Dž",Dž:"Dž",dž:"Dž",LJ:"Lj",Lj:"Lj",lj:"Lj",NJ:"Nj",Nj:"Nj",nj:"Nj",DZ:"Dz",Dz:"Dz",dz:"Dz",և:"Եւ",ᾲ:"Ὰͅ",ᾳ:"ᾼ",ᾴ:"Άͅ",ᾷ:"ᾼ͂",ᾼ:"ᾼ",ῂ:"Ὴͅ",ῃ:"ῌ",ῄ:"Ήͅ",ῇ:"ῌ͂",ῌ:"ῌ",ῲ:"Ὼͅ",ῳ:"ῼ",ῴ:"Ώͅ",ῷ:"ῼ͂",ῼ:"ῼ",ff:"Ff",fi:"Fi",fl:"Fl",ffi:"Ffi",ffl:"Ffl",ſt:"St",st:"St",ﬓ:"Մն",ﬔ:"Մե",ﬕ:"Մի",ﬖ:"Վն",ﬗ:"Մխ"},a=String.fromCodePoint(r);return 0===t?a=o[a]?o[a]:r>=8064&&r<8112?["ᾈᾉᾊᾋᾌᾍᾎᾏ","ᾘᾙᾚᾛᾜᾝᾞᾟ","ᾨᾩᾪᾫᾬᾭᾮᾯ"][(r-8064)/16|0][r%8]:a.toUpperCase():n&&(a=a.toLowerCase()),e+a},""),1)},d:function(e,r,t){return $(e,r,t,e=>e.toUpperCase())},n:function(e,r){var t=eS();try{eP(e,r)}catch(e){if(eD(t),e!==e+0)throw e;ek(1,0)}},b:function(e,r,t){var n=eS();try{eM(e,r,t)}catch(e){if(eD(n),e!==e+0)throw e;ek(1,0)}}};!function(){var e,t,n,a={a:ev};function i(e,t){var n,o=e.exports;return o=eh.instrumentWasmExports(o),r.asm=o,l=r.asm.E,T(),r.asm.N,n=r.asm.F,z.unshift(n),Y("wasm-instantiate"),o}if(q("wasm-instantiate"),r.instantiateWasm)try{return r.instantiateWasm(a,i)}catch(e){F("Module.instantiateWasm callback failed with error: "+e),o(e)}(e=u,t=v,n=function(e){i(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||V(t)||"function"!=typeof fetch?K(t,a,n):fetch(t,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,a).then(n,function(e){return F("wasm streaming compile failed: "+e),F("falling back to ArrayBuffer instantiation"),K(t,a,n)})})).catch(o)}();var ew=function(){return(ew=r.asm.G).apply(null,arguments)},eg=function(){return(eg=r.asm.H).apply(null,arguments)},e_=r._main=function(){return(e_=r._main=r.asm.I).apply(null,arguments)},ey=(r._gidispatch_get_game_id=function(){return(r._gidispatch_get_game_id=r.asm.J).apply(null,arguments)},r._fflush=function(){return(ey=r._fflush=r.asm.K).apply(null,arguments)}),eE=function(){return(eE=r.asm.L).apply(null,arguments)},eb=function(){return(eb=r.asm.M).apply(null,arguments)},ek=function(){return(ek=r.asm.O).apply(null,arguments)},eS=function(){return(eS=r.asm.P).apply(null,arguments)},eD=function(){return(eD=r.asm.Q).apply(null,arguments)},eF=function(){return(eF=r.asm.R).apply(null,arguments)},eM=r.dynCall_vii=function(){return(eM=r.dynCall_vii=r.asm.S).apply(null,arguments)},eP=r.dynCall_vi=function(){return(eP=r.dynCall_vi=r.asm.T).apply(null,arguments)},eA=function(){return(eA=r.asm.U).apply(null,arguments)},ex=function(){return(ex=r.asm.V).apply(null,arguments)},eR=function(){return(eR=r.asm.W).apply(null,arguments)},eC=function(){return(eC=r.asm.X).apply(null,arguments)};function eT(e=E){!(U>0)&&(!function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;){var e;e=r.preRun.shift(),N.unshift(e)}Z(N)}(),U>0||(r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),t()},1)):t()));function t(){!_&&(_=!0,r.calledRun=!0,P||(r.noFSInit||eo.init.initialized||eo.init(),eo.ignorePermissions=!1,et.init(),Z(z),Z(B),n(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),eN&&function(e=[]){var r=e_;e.unshift(b);var t=e.length,n=eF((t+1)*4),o=n>>2;e.forEach(e=>{var r,t;h[o++]=(t=eF(r=C(e)+1),R(e,d,t,r),t)}),h[o]=0;try{var a=r(t,n);ed(a,!0)}catch(e){return ef(e)}}(e),function(){if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;){var e;e=r.postRun.shift(),j.unshift(e)}Z(j)}()))}}if(r.___start_em_js=33568,r.___stop_em_js=36253,r.AsciiToString=function(e){for(var r="";;){var t=f[e++>>0];if(!t)return r;r+=String.fromCharCode(t)}},r.FS=eo,W=function e(){_||eT(),_||(W=e)},r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();var eN=!0;return r.noInitialRun&&(eN=!1),eT(),r.ready}})(),r_={};r_=new URL(k("6MsPj").resolve("ida9s"),import.meta.url).toString();var ry=(()=>{var e="file:///node_modules/emglken/build/hugo-core.js";return function(r={}){var t,n,o,a,i,s,u,l,c,d,f,m,h,p,v,w,g,_,r=void 0!==r?r:{};r.ready=new Promise(function(e,r){n=e,o=r});var y=Object.assign({},r),E=[],b="./this.program",k=(e,r)=>{throw r},S="";"undefined"!=typeof document&&document.currentScript&&(S=document.currentScript.src),e&&(S=e),S=0!==S.indexOf("blob:")?S.substr(0,S.replace(/[?#].*/,"").lastIndexOf("/")+1):"",a=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},i=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{if(200==n.status||0==n.status&&n.response){r(n.response);return}t()},n.onerror=t,n.send(null)};var D=r.print||console.log.bind(console),F=r.printErr||console.warn.bind(console);Object.assign(r,y),y=null,r.arguments&&(E=r.arguments),r.thisProgram&&(b=r.thisProgram),r.quit&&(k=r.quit),r.wasmBinary&&(u=r.wasmBinary);var M=r.noExitRuntime||!1;"object"!=typeof WebAssembly&&V("no native wasm support detected");var P=!1,A=new TextDecoder("utf8");function x(e,r,t){for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;return A.decode(e.buffer?e.subarray(r,o):new Uint8Array(e.slice(r,o)))}function R(e,r){if(!e)return"";for(var t=e+r,n=e;!(n>=t)&&f[n];)++n;return A.decode(f.subarray(e,n))}function C(e,r,t,n){if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)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 T(e){for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r}function N(){var e=l.buffer;r.HEAP8=d=new Int8Array(e),r.HEAP16=m=new Int16Array(e),r.HEAP32=h=new Int32Array(e),r.HEAPU8=f=new Uint8Array(e),r.HEAPU16=new Uint16Array(e),r.HEAPU32=p=new Uint32Array(e),r.HEAPF32=new Float32Array(e),r.HEAPF64=new Float64Array(e)}var z=[],B=[],O=[],j=[],I=[],L=!1,U=0,H=0,W=null,q=null;function Y(e){H++,r.monitorRunDependencies&&r.monitorRunDependencies(H)}function G(e){if(H--,r.monitorRunDependencies&&r.monitorRunDependencies(H),0==H&&(null!==W&&(clearInterval(W),W=null),q)){var t=q;q=null,t()}}function V(e){r.onAbort&&r.onAbort(e),F(e="Aborted("+e+")"),P=!0,c=1,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw o(t),t}function X(e){return e.startsWith("data:application/octet-stream;base64,")}function K(e){try{if(e==v&&u)return new Uint8Array(u);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}catch(e){V(e)}}function $(e,r,t){return(u||"function"!=typeof fetch?Promise.resolve().then(function(){return K(e)}):fetch(e,{credentials:"same-origin"}).then(function(r){if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()}).catch(function(){return K(e)})).then(function(e){return WebAssembly.instantiate(e,r)}).then(function(e){return e}).then(t,function(e){F("failed to asynchronously prepare wasm: "+e),V(e)})}function J(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Z(e){for(;e.length>0;)e.shift()(r)}r.locateFile?X(v="hugo-core.wasm")||(t=v,v=r.locateFile?r.locateFile(t,S):S+t):v=new URL(r_).href;var Q={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(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:e=>{var r=Q.isAbs(e),t="/"===e.substr(-1);return(e=Q.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Q.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=Q.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return -1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Q.normalize(e.join("/"))},join2:(e,r)=>Q.normalize(e+"/"+r)},ee={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:eo.cwd();if("string"!=typeof n)throw TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=Q.isAbs(n)}return e=Q.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+e||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=ee.resolve(e).substr(1),r=ee.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s0?t:T(e)+1),o=C(e,n,0,n.length);return r&&(n.length=o),n}var et={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){et.ttys[e]={input:[],output:[],ops:r},eo.registerDevice(e,et.stream_ops)},stream_ops:{open:function(e){var r=et.ttys[e.node.rdev];if(!r)throw new eo.ErrnoError(43);e.tty=r,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new eo.ErrnoError(60);for(var a,i=0,s=0;s0&&(D(x(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(F(x(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync:function(e){e.output&&e.output.length>0&&(F(x(e.output,0)),e.output=[])}}},en={ops_table:null,mount:function(e){return en.createNode(null,"/",16895,0)},createNode:function(e,r,t,n){if(eo.isBlkdev(t)||eo.isFIFO(t))throw new eo.ErrnoError(63);en.ops_table||(en.ops_table={dir:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr,lookup:en.node_ops.lookup,mknod:en.node_ops.mknod,rename:en.node_ops.rename,unlink:en.node_ops.unlink,rmdir:en.node_ops.rmdir,readdir:en.node_ops.readdir,symlink:en.node_ops.symlink},stream:{llseek:en.stream_ops.llseek}},file:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr},stream:{llseek:en.stream_ops.llseek,read:en.stream_ops.read,write:en.stream_ops.write,allocate:en.stream_ops.allocate,mmap:en.stream_ops.mmap,msync:en.stream_ops.msync}},link:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr,readlink:en.node_ops.readlink},stream:{}},chrdev:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr},stream:eo.chrdev_stream_ops}});var o=eo.createNode(e,r,t,n);return eo.isDir(o.mode)?(o.node_ops=en.ops_table.dir.node,o.stream_ops=en.ops_table.dir.stream,o.contents={}):eo.isFile(o.mode)?(o.node_ops=en.ops_table.file.node,o.stream_ops=en.ops_table.file.stream,o.usedBytes=0,o.contents=null):eo.isLink(o.mode)?(o.node_ops=en.ops_table.link.node,o.stream_ops=en.ops_table.link.stream):eo.isChrdev(o.mode)&&(o.node_ops=en.ops_table.chrdev.node,o.stream_ops=en.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},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)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}}},node_ops:{getattr:function(e){var r={};return r.dev=eo.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,eo.isDir(e.mode)?r.size=4096:eo.isFile(e.mode)?r.size=e.usedBytes:eo.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&&en.resizeFileStorage(e,r.size)},lookup:function(e,r){throw eo.genericErrors[44]},mknod:function(e,r,t,n){return en.createNode(e,r,t,n)},rename:function(e,r,t){if(eo.isDir(e.mode)){var n;try{n=eo.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new eo.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink:function(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir:function(e,r){var t=eo.lookupNode(e,r);for(var n in t.contents)throw new eo.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},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=en.createNode(e,r,41471,0);return n.link=t,n},readlink:function(e){if(!eo.isLink(e.mode))throw new eo.ErrnoError(28);return e.link}},stream_ops:{read:function(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s0||t+r{if(!(e=ee.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new eo.ErrnoError(32);for(var t=e.split("/").filter(e=>!!e),n=eo.root,o="/",a=0;a40)throw new eo.ErrnoError(32)}}return{path:o,node:n}},getPath:e=>{for(var r;;){if(eo.isRoot(e)){var t=e.mount.mountpoint;if(!r)return t;return"/"!==t[t.length-1]?t+"/"+r:t+r}r=r?e.name+"/"+r:e.name,e=e.parent}},hashName:(e,r)=>{for(var t=0,n=0;n>>0)%eo.nameTable.length},hashAddNode:e=>{var r=eo.hashName(e.parent.id,e.name);e.name_next=eo.nameTable[r],eo.nameTable[r]=e},hashRemoveNode:e=>{var r=eo.hashName(e.parent.id,e.name);if(eo.nameTable[r]===e)eo.nameTable[r]=e.name_next;else for(var t=eo.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode:(e,r)=>{var t=eo.mayLookup(e);if(t)throw new eo.ErrnoError(t,e);for(var n=eo.hashName(e.id,r),o=eo.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return eo.lookup(e,r)},createNode:(e,r,t,n)=>{var o=new eo.FSNode(e,r,t,n);return eo.hashAddNode(o),o},destroyNode:e=>{eo.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>(61440&e)==32768,isDir:e=>(61440&e)==16384,isLink:e=>(61440&e)==40960,isChrdev:e=>(61440&e)==8192,isBlkdev:e=>(61440&e)==24576,isFIFO:e=>(61440&e)==4096,isSocket:e=>(49152&e)==49152,flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var r=eo.flagModes[e];if(void 0===r)throw Error("Unknown file open mode: "+e);return r},flagsToPermissionString:e=>{var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>eo.ignorePermissions?0:r.includes("r")&&!(292&e.mode)||r.includes("w")&&!(146&e.mode)||r.includes("x")&&!(73&e.mode)?2:0,mayLookup:e=>eo.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,r)=>{try{return eo.lookupNode(e,r),20}catch(e){}return eo.nodePermissions(e,"wx")},mayDelete:(e,r,t)=>{try{n=eo.lookupNode(e,r)}catch(e){return e.errno}var n,o=eo.nodePermissions(e,"wx");if(o)return o;if(t){if(!eo.isDir(n.mode))return 54;if(eo.isRoot(n)||eo.getPath(n)===eo.cwd())return 10}else if(eo.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?eo.isLink(e.mode)?32:eo.isDir(e.mode)&&("r"!==eo.flagsToPermissionString(r)||512&r)?31:eo.nodePermissions(e,eo.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,r=eo.MAX_OPEN_FDS)=>{for(var t=e;t<=r;t++)if(!eo.streams[t])return t;throw new eo.ErrnoError(33)},getStream:e=>eo.streams[e],createStream:(e,r,t)=>{eo.FSStream||(eo.FSStream=function(){this.shared={}},eo.FSStream.prototype={},Object.defineProperties(eo.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return(2097155&this.flags)!=1}},isWrite:{get:function(){return(2097155&this.flags)!=0}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new eo.FSStream,e);var n=eo.nextfd(r,t);return e.fd=n,eo.streams[n]=e,e},closeStream:e=>{eo.streams[e]=null},chrdev_stream_ops:{open:e=>{var r=eo.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new eo.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice:(e,r)=>{eo.devices[e]={stream_ops:r}},getDevice:e=>eo.devices[e],getMounts:e=>{for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs:(e,r)=>{"function"==typeof e&&(r=e,e=!1),eo.syncFSRequests++,eo.syncFSRequests>1&&F("warning: "+eo.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=eo.getMounts(eo.root.mount),n=0;function o(e){return eo.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach(r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)})},mount:(e,r,t)=>{var n,o="/"===t,a=!t;if(o&&eo.root)throw new eo.ErrnoError(10);if(!o&&!a){var i=eo.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,eo.isMountpoint(n))throw new eo.ErrnoError(10);if(!eo.isDir(n.mode))throw new eo.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return u.mount=s,s.root=u,o?eo.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:e=>{var r=eo.lookupPath(e,{follow_mount:!1});if(!eo.isMountpoint(r.node))throw new eo.ErrnoError(28);var t=r.node,n=t.mounted,o=eo.getMounts(n);Object.keys(eo.nameTable).forEach(e=>{for(var r=eo.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&eo.destroyNode(r),r=t}}),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod:(e,r,t)=>{var n=eo.lookupPath(e,{parent:!0}).node,o=Q.basename(e);if(!o||"."===o||".."===o)throw new eo.ErrnoError(28);var a=eo.mayCreate(n,o);if(a)throw new eo.ErrnoError(a);if(!n.node_ops.mknod)throw new eo.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=(void 0!==r?r:438)&4095|32768,eo.mknod(e,r,0)),mkdir:(e,r)=>(r=(void 0!==r?r:511)&1023|16384,eo.mknod(e,r,0)),mkdirTree:(e,r)=>{for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,eo.mknod(e,r,t)),symlink:(e,r)=>{if(!ee.resolve(e))throw new eo.ErrnoError(44);var t=eo.lookupPath(r,{parent:!0}).node;if(!t)throw new eo.ErrnoError(44);var n=Q.basename(r),o=eo.mayCreate(t,n);if(o)throw new eo.ErrnoError(o);if(!t.node_ops.symlink)throw new eo.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename:(e,r)=>{var t,n,o,a=Q.dirname(e),i=Q.dirname(r),s=Q.basename(e),u=Q.basename(r);if(t=eo.lookupPath(e,{parent:!0}).node,n=eo.lookupPath(r,{parent:!0}).node,!t||!n)throw new eo.ErrnoError(44);if(t.mount!==n.mount)throw new eo.ErrnoError(75);var l=eo.lookupNode(t,s),c=ee.relative(e,i);if("."!==c.charAt(0))throw new eo.ErrnoError(28);if("."!==(c=ee.relative(r,a)).charAt(0))throw new eo.ErrnoError(55);try{o=eo.lookupNode(n,u)}catch(e){}if(l!==o){var d=eo.isDir(l.mode),f=eo.mayDelete(t,s,d);if(f||(f=o?eo.mayDelete(n,u,d):eo.mayCreate(n,u)))throw new eo.ErrnoError(f);if(!t.node_ops.rename)throw new eo.ErrnoError(63);if(eo.isMountpoint(l)||o&&eo.isMountpoint(o))throw new eo.ErrnoError(10);if(n!==t&&(f=eo.nodePermissions(t,"w")))throw new eo.ErrnoError(f);eo.hashRemoveNode(l);try{t.node_ops.rename(l,n,u)}catch(e){throw e}finally{eo.hashAddNode(l)}}},rmdir:e=>{var r=eo.lookupPath(e,{parent:!0}).node,t=Q.basename(e),n=eo.lookupNode(r,t),o=eo.mayDelete(r,t,!0);if(o)throw new eo.ErrnoError(o);if(!r.node_ops.rmdir)throw new eo.ErrnoError(63);if(eo.isMountpoint(n))throw new eo.ErrnoError(10);r.node_ops.rmdir(r,t),eo.destroyNode(n)},readdir:e=>{var r=eo.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new eo.ErrnoError(54);return r.node_ops.readdir(r)},unlink:e=>{var r=eo.lookupPath(e,{parent:!0}).node;if(!r)throw new eo.ErrnoError(44);var t=Q.basename(e),n=eo.lookupNode(r,t),o=eo.mayDelete(r,t,!1);if(o)throw new eo.ErrnoError(o);if(!r.node_ops.unlink)throw new eo.ErrnoError(63);if(eo.isMountpoint(n))throw new eo.ErrnoError(10);r.node_ops.unlink(r,t),eo.destroyNode(n)},readlink:e=>{var r=eo.lookupPath(e).node;if(!r)throw new eo.ErrnoError(44);if(!r.node_ops.readlink)throw new eo.ErrnoError(28);return ee.resolve(eo.getPath(r.parent),r.node_ops.readlink(r))},stat:(e,r)=>{var t=eo.lookupPath(e,{follow:!r}).node;if(!t)throw new eo.ErrnoError(44);if(!t.node_ops.getattr)throw new eo.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>eo.stat(e,!0),chmod:(e,r,t)=>{var n;if(!(n="string"==typeof e?eo.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new eo.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod:(e,r)=>{eo.chmod(e,r,!0)},fchmod:(e,r)=>{var t=eo.getStream(e);if(!t)throw new eo.ErrnoError(8);eo.chmod(t.node,r)},chown:(e,r,t,n)=>{var o;if(!(o="string"==typeof e?eo.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new eo.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,r,t)=>{eo.chown(e,r,t,!0)},fchown:(e,r,t)=>{var n=eo.getStream(e);if(!n)throw new eo.ErrnoError(8);eo.chown(n.node,r,t)},truncate:(e,r)=>{if(r<0)throw new eo.ErrnoError(28);if("string"==typeof e){var t;t=eo.lookupPath(e,{follow:!0}).node}else t=e;if(!t.node_ops.setattr)throw new eo.ErrnoError(63);if(eo.isDir(t.mode))throw new eo.ErrnoError(31);if(!eo.isFile(t.mode))throw new eo.ErrnoError(28);var n=eo.nodePermissions(t,"w");if(n)throw new eo.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate:(e,r)=>{var t=eo.getStream(e);if(!t)throw new eo.ErrnoError(8);if((2097155&t.flags)==0)throw new eo.ErrnoError(28);eo.truncate(t.node,r)},utime:(e,r,t)=>{var n=eo.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open:(e,t,n)=>{if(""===e)throw new eo.ErrnoError(44);if(t="string"==typeof t?eo.modeStringToFlags(t):t,n=void 0===n?438:n,n=64&t?4095&n|32768:0,"object"==typeof e)o=e;else{e=Q.normalize(e);try{var o;o=eo.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var a=!1;if(64&t){if(o){if(128&t)throw new eo.ErrnoError(20)}else o=eo.mknod(e,n,0),a=!0}if(!o)throw new eo.ErrnoError(44);if(eo.isChrdev(o.mode)&&(t&=-513),65536&t&&!eo.isDir(o.mode))throw new eo.ErrnoError(54);if(!a){var i=eo.mayOpen(o,t);if(i)throw new eo.ErrnoError(i)}512&t&&!a&&eo.truncate(o,0),t&=-131713;var s=eo.createStream({node:o,path:eo.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!r.logReadFiles||1&t||(eo.readFiles||(eo.readFiles={}),e in eo.readFiles||(eo.readFiles[e]=1)),s},close:e=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{eo.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,r,t)=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new eo.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new eo.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read:(e,r,t,n,o)=>{if(n<0||o<0)throw new eo.ErrnoError(28);if(eo.isClosed(e)||(2097155&e.flags)==1)throw new eo.ErrnoError(8);if(eo.isDir(e.node.mode))throw new eo.ErrnoError(31);if(!e.stream_ops.read)throw new eo.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new eo.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write:(e,r,t,n,o,a)=>{if(n<0||o<0)throw new eo.ErrnoError(28);if(eo.isClosed(e)||(2097155&e.flags)==0)throw new eo.ErrnoError(8);if(eo.isDir(e.node.mode))throw new eo.ErrnoError(31);if(!e.stream_ops.write)throw new eo.ErrnoError(28);e.seekable&&1024&e.flags&&eo.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new eo.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},allocate:(e,r,t)=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);if(r<0||t<=0)throw new eo.ErrnoError(28);if((2097155&e.flags)==0)throw new eo.ErrnoError(8);if(!eo.isFile(e.node.mode)&&!eo.isDir(e.node.mode))throw new eo.ErrnoError(43);if(!e.stream_ops.allocate)throw new eo.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap:(e,r,t,n,o)=>{if((2&n)!=0&&(2&o)==0&&(2097155&e.flags)!=2||(2097155&e.flags)==1)throw new eo.ErrnoError(2);if(!e.stream_ops.mmap)throw new eo.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl:(e,r,t)=>{if(!e.stream_ops.ioctl)throw new eo.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile:(e,r={})=>{if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw Error('Invalid encoding type "'+r.encoding+'"');var t,n=eo.open(e,r.flags),o=eo.stat(e).size,a=new Uint8Array(o);return eo.read(n,a,0,o,0),"utf8"===r.encoding?t=x(a,0):"binary"===r.encoding&&(t=a),eo.close(n),t},writeFile:(e,r,t={})=>{t.flags=t.flags||577;var n=eo.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(T(r)+1),a=C(r,o,0,o.length);eo.write(n,o,0,a,void 0,t.canOwn)}else if(ArrayBuffer.isView(r))eo.write(n,r,0,r.byteLength,void 0,t.canOwn);else throw Error("Unsupported data type");eo.close(n)},cwd:()=>eo.currentPath,chdir:e=>{var r=eo.lookupPath(e,{follow:!0});if(null===r.node)throw new eo.ErrnoError(44);if(!eo.isDir(r.node.mode))throw new eo.ErrnoError(54);var t=eo.nodePermissions(r.node,"x");if(t)throw new eo.ErrnoError(t);eo.currentPath=r.path},createDefaultDirectories:()=>{eo.mkdir("/tmp"),eo.mkdir("/home"),eo.mkdir("/home/web_user")},createDefaultDevices:()=>{eo.mkdir("/dev"),eo.registerDevice(eo.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),eo.mkdev("/dev/null",eo.makedev(1,3)),et.register(eo.makedev(5,0),et.default_tty_ops),et.register(eo.makedev(6,0),et.default_tty1_ops),eo.mkdev("/dev/tty",eo.makedev(5,0)),eo.mkdev("/dev/tty1",eo.makedev(6,0));var e=function(){if("object"!=typeof crypto||"function"!=typeof crypto.getRandomValues)return()=>V("randomDevice");var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}();eo.createDevice("/dev","random",e),eo.createDevice("/dev","urandom",e),eo.mkdir("/dev/shm"),eo.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{eo.mkdir("/proc");var e=eo.mkdir("/proc/self");eo.mkdir("/proc/self/fd"),eo.mount({mount:()=>{var r=eo.createNode(e,"fd",16895,73);return r.node_ops={lookup:(e,r)=>{var t=eo.getStream(+r);if(!t)throw new eo.ErrnoError(8);var n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>t.path}};return n.parent=n,n}},r}},{},"/proc/self/fd")},createStandardStreams:()=>{r.stdin?eo.createDevice("/dev","stdin",r.stdin):eo.symlink("/dev/tty","/dev/stdin"),r.stdout?eo.createDevice("/dev","stdout",null,r.stdout):eo.symlink("/dev/tty","/dev/stdout"),r.stderr?eo.createDevice("/dev","stderr",null,r.stderr):eo.symlink("/dev/tty1","/dev/stderr"),eo.open("/dev/stdin",0),eo.open("/dev/stdout",1),eo.open("/dev/stderr",1)},ensureErrnoError:()=>{eo.ErrnoError||(eo.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},eo.ErrnoError.prototype=Error(),eo.ErrnoError.prototype.constructor=eo.ErrnoError,[44].forEach(e=>{eo.genericErrors[e]=new eo.ErrnoError(e),eo.genericErrors[e].stack=""}))},staticInit:()=>{eo.ensureErrnoError(),eo.nameTable=Array(4096),eo.mount(en,{},"/"),eo.createDefaultDirectories(),eo.createDefaultDevices(),eo.createSpecialDirectories(),eo.filesystems={MEMFS:en}},init:(e,t,n)=>{eo.init.initialized=!0,eo.ensureErrnoError(),r.stdin=e||r.stdin,r.stdout=t||r.stdout,r.stderr=n||r.stderr,eo.createStandardStreams()},quit:()=>{eo.init.initialized=!1,eE(0);for(var e=0;e{var t=0;return e&&(t|=365),r&&(t|=146),t},findObject:(e,r)=>{var t=eo.analyzePath(e,r);return t.exists?t.object:null},analyzePath:(e,r)=>{try{var t=eo.lookupPath(e,{follow:!r});e=t.path}catch(e){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var t=eo.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=t.path,n.parentObject=t.node,n.name=Q.basename(e),t=eo.lookupPath(e,{follow:!r}),n.exists=!0,n.path=t.path,n.object=t.node,n.name=t.node.name,n.isRoot="/"===t.path}catch(e){n.error=e.errno}return n},createPath:(e,r,t,n)=>{e="string"==typeof e?e:eo.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var i=Q.join2(e,a);try{eo.mkdir(i)}catch(e){}e=i}}return i},createFile:(e,r,t,n,o)=>{var a=Q.join2("string"==typeof e?e:eo.getPath(e),r),i=eo.getMode(n,o);return eo.create(a,i)},createDataFile:(e,r,t,n,o,a)=>{var i=r;e&&(e="string"==typeof e?e:eo.getPath(e),i=r?Q.join2(e,r):e);var s=eo.getMode(n,o),u=eo.create(i,s);if(t){if("string"==typeof t){for(var l=Array(t.length),c=0,d=t.length;c{var o=Q.join2("string"==typeof e?e:eo.getPath(e),r),a=eo.getMode(!!t,!!n);eo.createDevice.major||(eo.createDevice.major=64);var i=eo.makedev(eo.createDevice.major++,0);return eo.registerDevice(i,{open:e=>{e.seekable=!1},close:e=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(e,r,n,o,a)=>{for(var i,s=0,u=0;u{for(var i=0;i{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw 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(a)try{e.contents=er(a(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new eo.ErrnoError(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile:(e,r,t,n,o)=>{function a(){this.lengthKnown=!1,this.chunks=[]}if(a.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]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e,r=new XMLHttpRequest;if(r.open("HEAD",t,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw Error("Couldn't load "+t+". Status: "+r.status);var n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=(e,r)=>{if(e>r)throw Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+e+"-"+r),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 Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):er(o.responseText||"",!0)},u=this;u.setDataGetter(e=>{var r=e*i,t=(e+1)*i-1;if(t=Math.min(t,n-1),void 0===u.chunks[e]&&(u.chunks[e]=s(r,t)),void 0===u.chunks[e])throw Error("doXHR failed!");return u.chunks[e]}),(a||!n)&&(i=n=1,i=n=this.getter(0).length,D("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){var i;throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"}var i={isDevice:!1,url:t},s=eo.createFile(e,r,i,n,o);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s{var r=s.stream_ops[e];u[e]=function(){return eo.forceLoadFile(s),r.apply(null,arguments)}}),u.read=(e,r,t,n,o)=>(eo.forceLoadFile(s),l(e,r,t,n,o)),u.mmap=(e,r,t,n,o)=>{eo.forceLoadFile(s);var a=void V();if(!a)throw new eo.ErrnoError(48);return l(e,d,a,r,t),{ptr:a,allocated:!0}},s.stream_ops=u,s},createPreloadedFile:(e,r,t,n,o,a,s,u,l,c)=>{var d,f,m=r?ee.resolve(Q.join2(e,r)):e,h="cp "+m;function p(t){function i(t){c&&c(),u||eo.createDataFile(e,r,t,n,o,l),a&&a(),G(h)}Browser.handledByPreloadPlugin(t,m,i,()=>{s&&s(),G(h)})||i(t)}Y(h),"string"==typeof t?(d=e=>p(e),f="al "+t,i(t,e=>{var r;r='Loading data file "'+t+'" failed (no arrayBuffer).',e||V(r),d(new Uint8Array(e)),f&&G(f)},e=>{if(s)s();else throw'Loading data file "'+t+'" failed.'}),f&&Y(f)):p(t)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,r=()=>{},t=()=>{})=>{var n=eo.indexedDB();try{var o=n.open(eo.DB_NAME(),eo.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=()=>{D("creating db"),o.result.createObjectStore(eo.DB_STORE_NAME)},o.onsuccess=()=>{var n=o.result.transaction([eo.DB_STORE_NAME],"readwrite"),a=n.objectStore(eo.DB_STORE_NAME),i=0,s=0,u=e.length;function l(){0==s?r():t()}e.forEach(e=>{var r=a.put(eo.analyzePath(e).object.contents,e);r.onsuccess=()=>{++i+s==u&&l()},r.onerror=()=>{i+ ++s==u&&l()}}),n.onerror=t},o.onerror=t},loadFilesFromDB:(e,r=()=>{},t=()=>{})=>{var n=eo.indexedDB();try{var o=n.open(eo.DB_NAME(),eo.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=t,o.onsuccess=()=>{var n=o.result;try{var a=n.transaction([eo.DB_STORE_NAME],"readonly")}catch(e){t(e);return}var i=a.objectStore(eo.DB_STORE_NAME),s=0,u=0,l=e.length;function c(){0==u?r():t()}e.forEach(e=>{var r=i.get(e);r.onsuccess=()=>{eo.analyzePath(e).exists&&eo.unlink(e),eo.createDataFile(Q.dirname(e),Q.basename(e),r.result,!0,!0,!0),++s+u==l&&c()},r.onerror=()=>{s+ ++u==l&&c()}}),a.onerror=t},o.onerror=t}},ea={DEFAULT_POLLMASK:5,calculateAt:function(e,r,t){if(Q.isAbs(r))return r;if(-100===e)n=eo.cwd();else{var n;n=ea.getStreamFromFD(e).path}if(0==r.length){if(!t)throw new eo.ErrnoError(44);return n}return Q.join2(n,r)},doStat:function(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&Q.normalize(r)!==Q.normalize(eo.getPath(e.node)))return -54;throw e}h[t>>2]=n.dev,h[t+8>>2]=n.ino,h[t+12>>2]=n.mode,p[t+16>>2]=n.nlink,h[t+20>>2]=n.uid,h[t+24>>2]=n.gid,h[t+28>>2]=n.rdev,g=[n.size>>>0,+Math.abs(w=n.size)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+40>>2]=g[0],h[t+44>>2]=g[1],h[t+48>>2]=4096,h[t+52>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return g=[Math.floor(o/1e3)>>>0,+Math.abs(w=Math.floor(o/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+56>>2]=g[0],h[t+60>>2]=g[1],p[t+64>>2]=o%1e3*1e3,g=[Math.floor(a/1e3)>>>0,+Math.abs(w=Math.floor(a/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+72>>2]=g[0],h[t+76>>2]=g[1],p[t+80>>2]=a%1e3*1e3,g=[Math.floor(i/1e3)>>>0,+Math.abs(w=Math.floor(i/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+88>>2]=g[0],h[t+92>>2]=g[1],p[t+96>>2]=i%1e3*1e3,g=[n.ino>>>0,+Math.abs(w=n.ino)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+104>>2]=g[0],h[t+108>>2]=g[1],0},doMsync:function(e,r,t,n,o){if(!eo.isFile(r.node.mode))throw new eo.ErrnoError(43);if(2&n)return 0;var a=f.slice(e,e+t);eo.msync(r,a,o,t,n)},varargs:void 0,get:function(){return ea.varargs+=4,h[ea.varargs-4>>2]},getStr:function(e){return R(e)},getStreamFromFD:function(e){var r=eo.getStream(e);if(!r)throw new eo.ErrnoError(8);return r}};function ei(e){return e%4==0&&(e%100!=0||e%400==0)}var es=[0,31,60,91,121,152,182,213,244,274,305,335],eu=[0,31,59,90,120,151,181,212,243,273,304,334];function el(e){var r=T(e)+1,t=eg(r);return t&&C(e,d,t,r),t}function ec(e,t){c=e,M||U>0||(ek(),Z(j),eo.quit(),et.shutdown(),L=!0),c=e,M||U>0||(r.onExit&&r.onExit(e),P=!0),k(e,new J(e))}var ed=[31,29,31,30,31,30,31,31,30,31,30,31],ef=[31,28,31,30,31,30,31,31,30,31,30,31];function em(e){if(e instanceof J||"unwind"==e)return c;k(1,e)}function eh(e){try{return e()}catch(e){V(e)}}var ep={instrumentWasmImports:function(e){var r=["emscripten_sleep","emscripten_wget","emscripten_wget_data","emscripten_idb_load","emscripten_idb_store","emscripten_idb_delete","emscripten_idb_exists","emscripten_idb_load_blob","emscripten_idb_store_blob","SDL_Delay","emscripten_scan_registers","emscripten_lazy_load_code","emscripten_fiber_swap","__load_secondary_module","fd_sync","__wasi_fd_sync","_emval_await","_dlopen_js","__asyncjs__*"];for(var t in e)!function(t){var n=e[t];n.sig,"function"==typeof n&&(r.indexOf(t)>=0||t.startsWith("__asyncjs__"))}(t)},instrumentWasmExports:function(e){var r={};for(var t in e)!function(t){var n=e[t];"function"==typeof n?r[t]=function(){ep.exportCallStack.push(t);try{return n.apply(null,arguments)}finally{P||(ep.exportCallStack.pop()===t||V(void 0),ep.maybeStopUnwind())}}:r[t]=n}(t);return r},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:8192,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId:function(e){var r=ep.callStackNameToId[e];return void 0===r&&(r=ep.callStackId++,ep.callStackNameToId[e]=r,ep.callStackIdToName[r]=e),r},maybeStopUnwind:function(){ep.currData&&ep.state===ep.State.Unwinding&&0===ep.exportCallStack.length&&(ep.state=ep.State.Normal,U+=1,eh(eF),"undefined"!=typeof Fibers&&Fibers.trampoline())},whenDone:function(){return new Promise((e,r)=>{ep.asyncPromiseHandlers={resolve:e,reject:r}})},allocateData:function(){var e=eg(12+ep.StackSize);return ep.setDataHeader(e,e+12,ep.StackSize),ep.setDataRewindFunc(e),e},setDataHeader:function(e,r,t){h[e>>2]=r,h[e+4>>2]=r+t},setDataRewindFunc:function(e){var r=ep.exportCallStack[0],t=ep.getCallStackId(r);h[e+8>>2]=t},getDataRewindFunc:function(e){var t=h[e+8>>2],n=ep.callStackIdToName[t];return r.asm[n]},doRewind:function(e){var r=ep.getDataRewindFunc(e);return U-=1,r()},handleSleep:function(e){if(!P){if(ep.state===ep.State.Normal){var r=!1,t=!1;e((e=0)=>{if(!P&&(ep.handleSleepReturnValue=e,r=!0,t)){ep.state=ep.State.Rewinding,eh(()=>eM(ep.currData)),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.resume();var n,o=!1;try{n=ep.doRewind(ep.currData)}catch(e){n=e,o=!0}var a=!1;if(!ep.currData){var i=ep.asyncPromiseHandlers;i&&(ep.asyncPromiseHandlers=null,(o?i.reject:i.resolve)(n),a=!0)}if(o&&!a)throw n}}),t=!0,r||(ep.state=ep.State.Unwinding,ep.currData=ep.allocateData(),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.pause(),eh(()=>eD(ep.currData)))}else ep.state===ep.State.Rewinding?(ep.state=ep.State.Normal,eh(eP),e_(ep.currData),ep.currData=null,ep.sleepCallbacks.forEach(e=>(function(e){if(!L&&!P)try{e(),function(){if(!(M||U>0))try{ec(c)}catch(e){em(e)}}()}catch(e){em(e)}})(e))):V("invalid state: "+ep.state);return ep.handleSleepReturnValue}},handleAsync:function(e){return ep.handleSleep(r=>{e().then(r)})}},ev=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=eo.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n};Object.defineProperties(ev.prototype,{read:{get:function(){return(365&this.mode)==365},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return(146&this.mode)==146},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return eo.isDir(this.mode)}},isDevice:{get:function(){return eo.isChrdev(this.mode)}}}),eo.FSNode=ev,eo.staticInit();var ew={j:function(e,t){return ep.handleAsync(async()=>{r.emglken_stdin_buffers.length||await new Promise(e=>{r.emglken_stdin_ready=e});let n=r.emglken_stdin_buffers.shift(),o=Math.min(n.length,t);return o==n.length?f.set(n,e):(f.set(n.subarray(0,o),e),r.emglken_stdin_buffers.unshift(n.subarray(o))),o})},s:function(e,r,t,n){try{if(r=ea.getStr(r),r=ea.calculateAt(e,r),-8&t)return -28;var o=eo.lookupPath(r,{follow:!0}).node;if(!o)return -44;var a="";if(4&t&&(a+="r"),2&t&&(a+="w"),1&t&&(a+="x"),a&&eo.nodePermissions(o,a))return -2;return 0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},e:function(e,r,t){ea.varargs=t;try{var n=ea.getStreamFromFD(e);switch(r){case 0:var o=ea.get();if(o<0)return -28;return eo.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=ea.get();return n.flags|=o,0;case 5:var o=ea.get();return m[o+0>>1]=2,0;case 16:case 8:default:return -28;case 9:return h[eb()>>2]=28,-1}}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},r:function(e,r){try{if(0===r)return -28;var t=eo.cwd(),n=T(t)+1;if(r>2]=0,0;case 21520:if(!n.tty)return -59;return -28;case 21531:var o=ea.get();return eo.ioctl(n,r,o);default:return -28}}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},p:function(e,r,t,n){ea.varargs=n;try{r=ea.getStr(r),r=ea.calculateAt(e,r);var o=n?ea.get():0;return eo.open(r,t,o).fd}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},o:function(e,r){try{return e=ea.getStr(e),ea.doStat(eo.stat,e,r)}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},m:function(){return!0},l:function(e,r){var t=new Date(1e3*(p[e>>2]+4294967296*h[e+4>>2]));h[r>>2]=t.getSeconds(),h[r+4>>2]=t.getMinutes(),h[r+8>>2]=t.getHours(),h[r+12>>2]=t.getDate(),h[r+16>>2]=t.getMonth(),h[r+20>>2]=t.getFullYear()-1900,h[r+24>>2]=t.getDay();var n=0|(ei(t.getFullYear())?es:eu)[t.getMonth()]+t.getDate()-1;h[r+28>>2]=n,h[r+36>>2]=-(60*t.getTimezoneOffset());var o=new Date(t.getFullYear(),0,1),a=new Date(t.getFullYear(),6,1).getTimezoneOffset(),i=o.getTimezoneOffset(),s=0|(a!=i&&t.getTimezoneOffset()==Math.min(i,a));h[r+32>>2]=s},k:function(e,r,t){var n=new Date().getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),i=o.getTimezoneOffset(),s=a.getTimezoneOffset();function u(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}p[e>>2]=60*Math.max(i,s),h[r>>2]=Number(i!=s);var l=u(o),c=u(a),d=el(l),f=el(c);s>2]=d,p[t+4>>2]=f):(p[t>>2]=f,p[t+4>>2]=d)},b:function(){return Date.now()},i:function(e,r,t){f.copyWithin(e,r,r+t)},h:function(e){var r=f.length;if((e>>>=0)>2147483648)return!1;let t=(e,r)=>e+(r-e%r)%r;for(var n=1;n<=4;n*=2){var o=r*(1+.2/n);if(o=Math.min(o,e+100663296),function(e){var r=l.buffer;try{return l.grow(e-r.byteLength+65535>>>16),N(),1}catch(e){}}(Math.min(2147483648,t(Math.max(e,o),65536))))return!0}return!1},a:ec,d:function(e){try{var r=ea.getStreamFromFD(e);return eo.close(r),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},n:function(e,r,t,n){try{var o=ea.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=eo.read(e,d,i,s,n);if(u<0)return -1;if(o+=u,u>2]=a,0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},g:function(e,r,t,n,o){try{var a=t+2097152>>>0<4194305-!!r?(r>>>0)+4294967296*t:NaN;if(isNaN(a))return 61;var i=ea.getStreamFromFD(e);return eo.llseek(i,a,n),g=[i.position>>>0,(w=i.position,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],h[o>>2]=g[0],h[o+4>>2]=g[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},c:function(e,r,t,n){try{var o=ea.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=eo.write(e,d,i,s,n);if(u<0)return -1;o+=u,void 0!==n&&(n+=u)}return o}(o,r,t);return p[n>>2]=a,0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},f:function(e,r,t,n){var o=h[n+40>>2],a={tm_sec:h[n>>2],tm_min:h[n+4>>2],tm_hour:h[n+8>>2],tm_mday:h[n+12>>2],tm_mon:h[n+16>>2],tm_year:h[n+20>>2],tm_wday:h[n+24>>2],tm_yday:h[n+28>>2],tm_isdst:h[n+32>>2],tm_gmtoff:h[n+36>>2],tm_zone:o?R(o):""},i=R(t),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in s)i=i.replace(RegExp(u,"g"),s[u]);var l=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function f(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length0?1:0}return 0===(t=n(e.getFullYear()-r.getFullYear()))&&0===(t=n(e.getMonth()-r.getMonth()))&&(t=n(e.getDate()-r.getDate())),t}function v(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function w(e){var r=function(e,r){for(var t=new Date(e.getTime());r>0;){var n=ei(t.getFullYear()),o=t.getMonth(),a=(n?ed:ef)[o];if(r>a-t.getDate())r-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1));else{t.setDate(t.getDate()+r);break}}return t}(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),o=v(t),a=v(n);return 0>=p(o,r)?0>=p(a,r)?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var g={"%a":function(e){return l[e.tm_wday].substring(0,3)},"%A":function(e){return l[e.tm_wday]},"%b":function(e){return c[e.tm_mon].substring(0,3)},"%B":function(e){return c[e.tm_mon]},"%C":function(e){return m((e.tm_year+1900)/100|0,2)},"%d":function(e){return m(e.tm_mday,2)},"%e":function(e){return f(e.tm_mday,2," ")},"%g":function(e){return w(e).toString().substring(2)},"%G":function(e){return w(e)},"%H":function(e){return m(e.tm_hour,2)},"%I":function(e){var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),m(r,2)},"%j":function(e){return m(e.tm_mday+function(e,r){for(var t=0,n=0;n<=r;t+=e[n++]);return t}(ei(e.tm_year+1900)?ed:ef,e.tm_mon-1),3)},"%m":function(e){return m(e.tm_mon+1,2)},"%M":function(e){return m(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return m(e.tm_sec,2)},"%t":function(){return" "},"%u":function(e){return e.tm_wday||7},"%U":function(e){return m(Math.floor((e.tm_yday+7-e.tm_wday)/7),2)},"%V":function(e){var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&ei(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&ei(e.tm_year%400-1))&&r++}return m(r,2)},"%w":function(e){return e.tm_wday},"%W":function(e){return m(Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var r=e.tm_gmtoff;return(r>=0?"+":"-")+String("0000"+(r=(r=Math.abs(r)/60)/60*100+r%60)).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var u in i=i.replace(/%%/g,"\x00\x00"),g)i.includes(u)&&(i=i.replace(RegExp(u,"g"),g[u](a)));var _=er(i=i.replace(/\0\0/g,"%"),!1);return _.length>r?0:(d.set(_,e),_.length-1)}};!function(){var e,t,n,a={a:ew};function i(e,t){var n,o=e.exports;return o=ep.instrumentWasmExports(o),r.asm=o,l=r.asm.t,N(),r.asm.C,n=r.asm.u,B.unshift(n),G("wasm-instantiate"),o}if(Y("wasm-instantiate"),r.instantiateWasm)try{return r.instantiateWasm(a,i)}catch(e){F("Module.instantiateWasm callback failed with error: "+e),o(e)}(e=u,t=v,n=function(e){i(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||X(t)||"function"!=typeof fetch?$(t,a,n):fetch(t,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,a).then(n,function(e){return F("wasm streaming compile failed: "+e),F("falling back to ArrayBuffer instantiation"),$(t,a,n)})})).catch(o)}();var eg=function(){return(eg=r.asm.v).apply(null,arguments)},e_=function(){return(e_=r.asm.w).apply(null,arguments)},ey=r._main=function(){return(ey=r._main=r.asm.x).apply(null,arguments)},eE=(r._gidispatch_get_game_id=function(){return(r._gidispatch_get_game_id=r.asm.y).apply(null,arguments)},r._fflush=function(){return(eE=r._fflush=r.asm.z).apply(null,arguments)}),eb=function(){return(eb=r.asm.A).apply(null,arguments)},ek=function(){return(ek=r.asm.B).apply(null,arguments)},eS=function(){return(eS=r.asm.D).apply(null,arguments)},eD=function(){return(eD=r.asm.E).apply(null,arguments)},eF=function(){return(eF=r.asm.F).apply(null,arguments)},eM=function(){return(eM=r.asm.G).apply(null,arguments)},eP=function(){return(eP=r.asm.H).apply(null,arguments)};function eA(e=E){!(H>0)&&(!function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;){var e;e=r.preRun.shift(),z.unshift(e)}Z(z)}(),H>0||(r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),t()},1)):t()));function t(){!_&&(_=!0,r.calledRun=!0,P||(r.noFSInit||eo.init.initialized||eo.init(),eo.ignorePermissions=!1,et.init(),Z(B),Z(O),n(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),ex&&function(e=[]){var r=ey;e.unshift(b);var t=e.length,n=eS((t+1)*4),o=n>>2;e.forEach(e=>{var r,t;h[o++]=(t=eS(r=T(e)+1),C(e,d,t,r),t)}),h[o]=0;try{var a=r(t,n);ec(a,!0)}catch(e){return em(e)}}(e),function(){if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;){var e;e=r.postRun.shift(),I.unshift(e)}Z(I)}()))}}if(r.___start_em_js=18128,r.___stop_em_js=20813,r.AsciiToString=function(e){for(var r="";;){var t=f[e++>>0];if(!t)return r;r+=String.fromCharCode(t)}},r.FS=eo,q=function e(){_||eA(),_||(q=e)},r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();var ex=!0;return r.noInitialRun&&(ex=!1),eA(),r.ready}})(),rE={};rE=new URL(k("6MsPj").resolve("90qbH"),import.meta.url).toString();var rb=(()=>{var e="file:///node_modules/emglken/build/tads-core.js";return function(r={}){var t,n,o,a,i,s,u,l,c,d,f,m,h,p,v,w,g,_,r=void 0!==r?r:{};r.ready=new Promise(function(e,r){n=e,o=r});var y=Object.assign({},r),E=[],b="./this.program",k=(e,r)=>{throw r},S="";"undefined"!=typeof document&&document.currentScript&&(S=document.currentScript.src),e&&(S=e),S=0!==S.indexOf("blob:")?S.substr(0,S.replace(/[?#].*/,"").lastIndexOf("/")+1):"",a=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},i=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{if(200==n.status||0==n.status&&n.response){r(n.response);return}t()},n.onerror=t,n.send(null)};var D=r.print||console.log.bind(console),F=r.printErr||console.warn.bind(console);Object.assign(r,y),y=null,r.arguments&&(E=r.arguments),r.thisProgram&&(b=r.thisProgram),r.quit&&(k=r.quit),r.wasmBinary&&(u=r.wasmBinary);var M=r.noExitRuntime||!1;"object"!=typeof WebAssembly&&V("no native wasm support detected");var P=!1,A=new TextDecoder("utf8");function x(e,r,t){for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;return A.decode(e.buffer?e.subarray(r,o):new Uint8Array(e.slice(r,o)))}function R(e,r){if(!e)return"";for(var t=e+r,n=e;!(n>=t)&&f[n];)++n;return A.decode(f.subarray(e,n))}function C(e,r,t,n){if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)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 T(e){for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r}function N(){var e=l.buffer;r.HEAP8=d=new Int8Array(e),r.HEAP16=m=new Int16Array(e),r.HEAP32=h=new Int32Array(e),r.HEAPU8=f=new Uint8Array(e),r.HEAPU16=new Uint16Array(e),r.HEAPU32=p=new Uint32Array(e),r.HEAPF32=new Float32Array(e),r.HEAPF64=new Float64Array(e)}var z=[],B=[],O=[],j=[],I=[],L=!1,U=0,H=0,W=null,q=null;function Y(e){H++,r.monitorRunDependencies&&r.monitorRunDependencies(H)}function G(e){if(H--,r.monitorRunDependencies&&r.monitorRunDependencies(H),0==H&&(null!==W&&(clearInterval(W),W=null),q)){var t=q;q=null,t()}}function V(e){r.onAbort&&r.onAbort(e),F(e="Aborted("+e+")"),P=!0,c=1,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw o(t),t}function X(e){return e.startsWith("data:application/octet-stream;base64,")}function K(e){try{if(e==v&&u)return new Uint8Array(u);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}catch(e){V(e)}}function $(e,r,t){return(u||"function"!=typeof fetch?Promise.resolve().then(function(){return K(e)}):fetch(e,{credentials:"same-origin"}).then(function(r){if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()}).catch(function(){return K(e)})).then(function(e){return WebAssembly.instantiate(e,r)}).then(function(e){return e}).then(t,function(e){F("failed to asynchronously prepare wasm: "+e),V(e)})}function J(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Z(e){for(;e.length>0;)e.shift()(r)}r.locateFile?X(v="tads-core.wasm")||(t=v,v=r.locateFile?r.locateFile(t,S):S+t):v=new URL(rE).href;var Q={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(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:e=>{var r=Q.isAbs(e),t="/"===e.substr(-1);return(e=Q.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Q.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=Q.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return -1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Q.normalize(e.join("/"))},join2:(e,r)=>Q.normalize(e+"/"+r)},ee={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:eo.cwd();if("string"!=typeof n)throw TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=Q.isAbs(n)}return e=Q.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+e||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=ee.resolve(e).substr(1),r=ee.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s0?t:T(e)+1),o=C(e,n,0,n.length);return r&&(n.length=o),n}var et={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){et.ttys[e]={input:[],output:[],ops:r},eo.registerDevice(e,et.stream_ops)},stream_ops:{open:function(e){var r=et.ttys[e.node.rdev];if(!r)throw new eo.ErrnoError(43);e.tty=r,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new eo.ErrnoError(60);for(var a,i=0,s=0;s0&&(D(x(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(F(x(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync:function(e){e.output&&e.output.length>0&&(F(x(e.output,0)),e.output=[])}}},en={ops_table:null,mount:function(e){return en.createNode(null,"/",16895,0)},createNode:function(e,r,t,n){if(eo.isBlkdev(t)||eo.isFIFO(t))throw new eo.ErrnoError(63);en.ops_table||(en.ops_table={dir:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr,lookup:en.node_ops.lookup,mknod:en.node_ops.mknod,rename:en.node_ops.rename,unlink:en.node_ops.unlink,rmdir:en.node_ops.rmdir,readdir:en.node_ops.readdir,symlink:en.node_ops.symlink},stream:{llseek:en.stream_ops.llseek}},file:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr},stream:{llseek:en.stream_ops.llseek,read:en.stream_ops.read,write:en.stream_ops.write,allocate:en.stream_ops.allocate,mmap:en.stream_ops.mmap,msync:en.stream_ops.msync}},link:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr,readlink:en.node_ops.readlink},stream:{}},chrdev:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr},stream:eo.chrdev_stream_ops}});var o=eo.createNode(e,r,t,n);return eo.isDir(o.mode)?(o.node_ops=en.ops_table.dir.node,o.stream_ops=en.ops_table.dir.stream,o.contents={}):eo.isFile(o.mode)?(o.node_ops=en.ops_table.file.node,o.stream_ops=en.ops_table.file.stream,o.usedBytes=0,o.contents=null):eo.isLink(o.mode)?(o.node_ops=en.ops_table.link.node,o.stream_ops=en.ops_table.link.stream):eo.isChrdev(o.mode)&&(o.node_ops=en.ops_table.chrdev.node,o.stream_ops=en.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},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)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}}},node_ops:{getattr:function(e){var r={};return r.dev=eo.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,eo.isDir(e.mode)?r.size=4096:eo.isFile(e.mode)?r.size=e.usedBytes:eo.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&&en.resizeFileStorage(e,r.size)},lookup:function(e,r){throw eo.genericErrors[44]},mknod:function(e,r,t,n){return en.createNode(e,r,t,n)},rename:function(e,r,t){if(eo.isDir(e.mode)){var n;try{n=eo.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new eo.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink:function(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir:function(e,r){var t=eo.lookupNode(e,r);for(var n in t.contents)throw new eo.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},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=en.createNode(e,r,41471,0);return n.link=t,n},readlink:function(e){if(!eo.isLink(e.mode))throw new eo.ErrnoError(28);return e.link}},stream_ops:{read:function(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s0||t+r{if(!(e=ee.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new eo.ErrnoError(32);for(var t=e.split("/").filter(e=>!!e),n=eo.root,o="/",a=0;a40)throw new eo.ErrnoError(32)}}return{path:o,node:n}},getPath:e=>{for(var r;;){if(eo.isRoot(e)){var t=e.mount.mountpoint;if(!r)return t;return"/"!==t[t.length-1]?t+"/"+r:t+r}r=r?e.name+"/"+r:e.name,e=e.parent}},hashName:(e,r)=>{for(var t=0,n=0;n>>0)%eo.nameTable.length},hashAddNode:e=>{var r=eo.hashName(e.parent.id,e.name);e.name_next=eo.nameTable[r],eo.nameTable[r]=e},hashRemoveNode:e=>{var r=eo.hashName(e.parent.id,e.name);if(eo.nameTable[r]===e)eo.nameTable[r]=e.name_next;else for(var t=eo.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode:(e,r)=>{var t=eo.mayLookup(e);if(t)throw new eo.ErrnoError(t,e);for(var n=eo.hashName(e.id,r),o=eo.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return eo.lookup(e,r)},createNode:(e,r,t,n)=>{var o=new eo.FSNode(e,r,t,n);return eo.hashAddNode(o),o},destroyNode:e=>{eo.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>(61440&e)==32768,isDir:e=>(61440&e)==16384,isLink:e=>(61440&e)==40960,isChrdev:e=>(61440&e)==8192,isBlkdev:e=>(61440&e)==24576,isFIFO:e=>(61440&e)==4096,isSocket:e=>(49152&e)==49152,flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var r=eo.flagModes[e];if(void 0===r)throw Error("Unknown file open mode: "+e);return r},flagsToPermissionString:e=>{var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>eo.ignorePermissions?0:r.includes("r")&&!(292&e.mode)||r.includes("w")&&!(146&e.mode)||r.includes("x")&&!(73&e.mode)?2:0,mayLookup:e=>eo.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,r)=>{try{return eo.lookupNode(e,r),20}catch(e){}return eo.nodePermissions(e,"wx")},mayDelete:(e,r,t)=>{try{n=eo.lookupNode(e,r)}catch(e){return e.errno}var n,o=eo.nodePermissions(e,"wx");if(o)return o;if(t){if(!eo.isDir(n.mode))return 54;if(eo.isRoot(n)||eo.getPath(n)===eo.cwd())return 10}else if(eo.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?eo.isLink(e.mode)?32:eo.isDir(e.mode)&&("r"!==eo.flagsToPermissionString(r)||512&r)?31:eo.nodePermissions(e,eo.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,r=eo.MAX_OPEN_FDS)=>{for(var t=e;t<=r;t++)if(!eo.streams[t])return t;throw new eo.ErrnoError(33)},getStream:e=>eo.streams[e],createStream:(e,r,t)=>{eo.FSStream||(eo.FSStream=function(){this.shared={}},eo.FSStream.prototype={},Object.defineProperties(eo.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return(2097155&this.flags)!=1}},isWrite:{get:function(){return(2097155&this.flags)!=0}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new eo.FSStream,e);var n=eo.nextfd(r,t);return e.fd=n,eo.streams[n]=e,e},closeStream:e=>{eo.streams[e]=null},chrdev_stream_ops:{open:e=>{var r=eo.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new eo.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice:(e,r)=>{eo.devices[e]={stream_ops:r}},getDevice:e=>eo.devices[e],getMounts:e=>{for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs:(e,r)=>{"function"==typeof e&&(r=e,e=!1),eo.syncFSRequests++,eo.syncFSRequests>1&&F("warning: "+eo.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=eo.getMounts(eo.root.mount),n=0;function o(e){return eo.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach(r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)})},mount:(e,r,t)=>{var n,o="/"===t,a=!t;if(o&&eo.root)throw new eo.ErrnoError(10);if(!o&&!a){var i=eo.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,eo.isMountpoint(n))throw new eo.ErrnoError(10);if(!eo.isDir(n.mode))throw new eo.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return u.mount=s,s.root=u,o?eo.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:e=>{var r=eo.lookupPath(e,{follow_mount:!1});if(!eo.isMountpoint(r.node))throw new eo.ErrnoError(28);var t=r.node,n=t.mounted,o=eo.getMounts(n);Object.keys(eo.nameTable).forEach(e=>{for(var r=eo.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&eo.destroyNode(r),r=t}}),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod:(e,r,t)=>{var n=eo.lookupPath(e,{parent:!0}).node,o=Q.basename(e);if(!o||"."===o||".."===o)throw new eo.ErrnoError(28);var a=eo.mayCreate(n,o);if(a)throw new eo.ErrnoError(a);if(!n.node_ops.mknod)throw new eo.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=(void 0!==r?r:438)&4095|32768,eo.mknod(e,r,0)),mkdir:(e,r)=>(r=(void 0!==r?r:511)&1023|16384,eo.mknod(e,r,0)),mkdirTree:(e,r)=>{for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,eo.mknod(e,r,t)),symlink:(e,r)=>{if(!ee.resolve(e))throw new eo.ErrnoError(44);var t=eo.lookupPath(r,{parent:!0}).node;if(!t)throw new eo.ErrnoError(44);var n=Q.basename(r),o=eo.mayCreate(t,n);if(o)throw new eo.ErrnoError(o);if(!t.node_ops.symlink)throw new eo.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename:(e,r)=>{var t,n,o,a=Q.dirname(e),i=Q.dirname(r),s=Q.basename(e),u=Q.basename(r);if(t=eo.lookupPath(e,{parent:!0}).node,n=eo.lookupPath(r,{parent:!0}).node,!t||!n)throw new eo.ErrnoError(44);if(t.mount!==n.mount)throw new eo.ErrnoError(75);var l=eo.lookupNode(t,s),c=ee.relative(e,i);if("."!==c.charAt(0))throw new eo.ErrnoError(28);if("."!==(c=ee.relative(r,a)).charAt(0))throw new eo.ErrnoError(55);try{o=eo.lookupNode(n,u)}catch(e){}if(l!==o){var d=eo.isDir(l.mode),f=eo.mayDelete(t,s,d);if(f||(f=o?eo.mayDelete(n,u,d):eo.mayCreate(n,u)))throw new eo.ErrnoError(f);if(!t.node_ops.rename)throw new eo.ErrnoError(63);if(eo.isMountpoint(l)||o&&eo.isMountpoint(o))throw new eo.ErrnoError(10);if(n!==t&&(f=eo.nodePermissions(t,"w")))throw new eo.ErrnoError(f);eo.hashRemoveNode(l);try{t.node_ops.rename(l,n,u)}catch(e){throw e}finally{eo.hashAddNode(l)}}},rmdir:e=>{var r=eo.lookupPath(e,{parent:!0}).node,t=Q.basename(e),n=eo.lookupNode(r,t),o=eo.mayDelete(r,t,!0);if(o)throw new eo.ErrnoError(o);if(!r.node_ops.rmdir)throw new eo.ErrnoError(63);if(eo.isMountpoint(n))throw new eo.ErrnoError(10);r.node_ops.rmdir(r,t),eo.destroyNode(n)},readdir:e=>{var r=eo.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new eo.ErrnoError(54);return r.node_ops.readdir(r)},unlink:e=>{var r=eo.lookupPath(e,{parent:!0}).node;if(!r)throw new eo.ErrnoError(44);var t=Q.basename(e),n=eo.lookupNode(r,t),o=eo.mayDelete(r,t,!1);if(o)throw new eo.ErrnoError(o);if(!r.node_ops.unlink)throw new eo.ErrnoError(63);if(eo.isMountpoint(n))throw new eo.ErrnoError(10);r.node_ops.unlink(r,t),eo.destroyNode(n)},readlink:e=>{var r=eo.lookupPath(e).node;if(!r)throw new eo.ErrnoError(44);if(!r.node_ops.readlink)throw new eo.ErrnoError(28);return ee.resolve(eo.getPath(r.parent),r.node_ops.readlink(r))},stat:(e,r)=>{var t=eo.lookupPath(e,{follow:!r}).node;if(!t)throw new eo.ErrnoError(44);if(!t.node_ops.getattr)throw new eo.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>eo.stat(e,!0),chmod:(e,r,t)=>{var n;if(!(n="string"==typeof e?eo.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new eo.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod:(e,r)=>{eo.chmod(e,r,!0)},fchmod:(e,r)=>{var t=eo.getStream(e);if(!t)throw new eo.ErrnoError(8);eo.chmod(t.node,r)},chown:(e,r,t,n)=>{var o;if(!(o="string"==typeof e?eo.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new eo.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,r,t)=>{eo.chown(e,r,t,!0)},fchown:(e,r,t)=>{var n=eo.getStream(e);if(!n)throw new eo.ErrnoError(8);eo.chown(n.node,r,t)},truncate:(e,r)=>{if(r<0)throw new eo.ErrnoError(28);if("string"==typeof e){var t;t=eo.lookupPath(e,{follow:!0}).node}else t=e;if(!t.node_ops.setattr)throw new eo.ErrnoError(63);if(eo.isDir(t.mode))throw new eo.ErrnoError(31);if(!eo.isFile(t.mode))throw new eo.ErrnoError(28);var n=eo.nodePermissions(t,"w");if(n)throw new eo.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate:(e,r)=>{var t=eo.getStream(e);if(!t)throw new eo.ErrnoError(8);if((2097155&t.flags)==0)throw new eo.ErrnoError(28);eo.truncate(t.node,r)},utime:(e,r,t)=>{var n=eo.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open:(e,t,n)=>{if(""===e)throw new eo.ErrnoError(44);if(t="string"==typeof t?eo.modeStringToFlags(t):t,n=void 0===n?438:n,n=64&t?4095&n|32768:0,"object"==typeof e)o=e;else{e=Q.normalize(e);try{var o;o=eo.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var a=!1;if(64&t){if(o){if(128&t)throw new eo.ErrnoError(20)}else o=eo.mknod(e,n,0),a=!0}if(!o)throw new eo.ErrnoError(44);if(eo.isChrdev(o.mode)&&(t&=-513),65536&t&&!eo.isDir(o.mode))throw new eo.ErrnoError(54);if(!a){var i=eo.mayOpen(o,t);if(i)throw new eo.ErrnoError(i)}512&t&&!a&&eo.truncate(o,0),t&=-131713;var s=eo.createStream({node:o,path:eo.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!r.logReadFiles||1&t||(eo.readFiles||(eo.readFiles={}),e in eo.readFiles||(eo.readFiles[e]=1)),s},close:e=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{eo.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,r,t)=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new eo.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new eo.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read:(e,r,t,n,o)=>{if(n<0||o<0)throw new eo.ErrnoError(28);if(eo.isClosed(e)||(2097155&e.flags)==1)throw new eo.ErrnoError(8);if(eo.isDir(e.node.mode))throw new eo.ErrnoError(31);if(!e.stream_ops.read)throw new eo.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new eo.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write:(e,r,t,n,o,a)=>{if(n<0||o<0)throw new eo.ErrnoError(28);if(eo.isClosed(e)||(2097155&e.flags)==0)throw new eo.ErrnoError(8);if(eo.isDir(e.node.mode))throw new eo.ErrnoError(31);if(!e.stream_ops.write)throw new eo.ErrnoError(28);e.seekable&&1024&e.flags&&eo.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new eo.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},allocate:(e,r,t)=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);if(r<0||t<=0)throw new eo.ErrnoError(28);if((2097155&e.flags)==0)throw new eo.ErrnoError(8);if(!eo.isFile(e.node.mode)&&!eo.isDir(e.node.mode))throw new eo.ErrnoError(43);if(!e.stream_ops.allocate)throw new eo.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap:(e,r,t,n,o)=>{if((2&n)!=0&&(2&o)==0&&(2097155&e.flags)!=2||(2097155&e.flags)==1)throw new eo.ErrnoError(2);if(!e.stream_ops.mmap)throw new eo.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl:(e,r,t)=>{if(!e.stream_ops.ioctl)throw new eo.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile:(e,r={})=>{if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw Error('Invalid encoding type "'+r.encoding+'"');var t,n=eo.open(e,r.flags),o=eo.stat(e).size,a=new Uint8Array(o);return eo.read(n,a,0,o,0),"utf8"===r.encoding?t=x(a,0):"binary"===r.encoding&&(t=a),eo.close(n),t},writeFile:(e,r,t={})=>{t.flags=t.flags||577;var n=eo.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(T(r)+1),a=C(r,o,0,o.length);eo.write(n,o,0,a,void 0,t.canOwn)}else if(ArrayBuffer.isView(r))eo.write(n,r,0,r.byteLength,void 0,t.canOwn);else throw Error("Unsupported data type");eo.close(n)},cwd:()=>eo.currentPath,chdir:e=>{var r=eo.lookupPath(e,{follow:!0});if(null===r.node)throw new eo.ErrnoError(44);if(!eo.isDir(r.node.mode))throw new eo.ErrnoError(54);var t=eo.nodePermissions(r.node,"x");if(t)throw new eo.ErrnoError(t);eo.currentPath=r.path},createDefaultDirectories:()=>{eo.mkdir("/tmp"),eo.mkdir("/home"),eo.mkdir("/home/web_user")},createDefaultDevices:()=>{eo.mkdir("/dev"),eo.registerDevice(eo.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),eo.mkdev("/dev/null",eo.makedev(1,3)),et.register(eo.makedev(5,0),et.default_tty_ops),et.register(eo.makedev(6,0),et.default_tty1_ops),eo.mkdev("/dev/tty",eo.makedev(5,0)),eo.mkdev("/dev/tty1",eo.makedev(6,0));var e=function(){if("object"!=typeof crypto||"function"!=typeof crypto.getRandomValues)return()=>V("randomDevice");var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}();eo.createDevice("/dev","random",e),eo.createDevice("/dev","urandom",e),eo.mkdir("/dev/shm"),eo.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{eo.mkdir("/proc");var e=eo.mkdir("/proc/self");eo.mkdir("/proc/self/fd"),eo.mount({mount:()=>{var r=eo.createNode(e,"fd",16895,73);return r.node_ops={lookup:(e,r)=>{var t=eo.getStream(+r);if(!t)throw new eo.ErrnoError(8);var n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>t.path}};return n.parent=n,n}},r}},{},"/proc/self/fd")},createStandardStreams:()=>{r.stdin?eo.createDevice("/dev","stdin",r.stdin):eo.symlink("/dev/tty","/dev/stdin"),r.stdout?eo.createDevice("/dev","stdout",null,r.stdout):eo.symlink("/dev/tty","/dev/stdout"),r.stderr?eo.createDevice("/dev","stderr",null,r.stderr):eo.symlink("/dev/tty1","/dev/stderr"),eo.open("/dev/stdin",0),eo.open("/dev/stdout",1),eo.open("/dev/stderr",1)},ensureErrnoError:()=>{eo.ErrnoError||(eo.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},eo.ErrnoError.prototype=Error(),eo.ErrnoError.prototype.constructor=eo.ErrnoError,[44].forEach(e=>{eo.genericErrors[e]=new eo.ErrnoError(e),eo.genericErrors[e].stack=""}))},staticInit:()=>{eo.ensureErrnoError(),eo.nameTable=Array(4096),eo.mount(en,{},"/"),eo.createDefaultDirectories(),eo.createDefaultDevices(),eo.createSpecialDirectories(),eo.filesystems={MEMFS:en}},init:(e,t,n)=>{eo.init.initialized=!0,eo.ensureErrnoError(),r.stdin=e||r.stdin,r.stdout=t||r.stdout,r.stderr=n||r.stderr,eo.createStandardStreams()},quit:()=>{eo.init.initialized=!1,ek(0);for(var e=0;e{var t=0;return e&&(t|=365),r&&(t|=146),t},findObject:(e,r)=>{var t=eo.analyzePath(e,r);return t.exists?t.object:null},analyzePath:(e,r)=>{try{var t=eo.lookupPath(e,{follow:!r});e=t.path}catch(e){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var t=eo.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=t.path,n.parentObject=t.node,n.name=Q.basename(e),t=eo.lookupPath(e,{follow:!r}),n.exists=!0,n.path=t.path,n.object=t.node,n.name=t.node.name,n.isRoot="/"===t.path}catch(e){n.error=e.errno}return n},createPath:(e,r,t,n)=>{e="string"==typeof e?e:eo.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var i=Q.join2(e,a);try{eo.mkdir(i)}catch(e){}e=i}}return i},createFile:(e,r,t,n,o)=>{var a=Q.join2("string"==typeof e?e:eo.getPath(e),r),i=eo.getMode(n,o);return eo.create(a,i)},createDataFile:(e,r,t,n,o,a)=>{var i=r;e&&(e="string"==typeof e?e:eo.getPath(e),i=r?Q.join2(e,r):e);var s=eo.getMode(n,o),u=eo.create(i,s);if(t){if("string"==typeof t){for(var l=Array(t.length),c=0,d=t.length;c{var o=Q.join2("string"==typeof e?e:eo.getPath(e),r),a=eo.getMode(!!t,!!n);eo.createDevice.major||(eo.createDevice.major=64);var i=eo.makedev(eo.createDevice.major++,0);return eo.registerDevice(i,{open:e=>{e.seekable=!1},close:e=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(e,r,n,o,a)=>{for(var i,s=0,u=0;u{for(var i=0;i{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw 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(a)try{e.contents=er(a(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new eo.ErrnoError(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile:(e,r,t,n,o)=>{function a(){this.lengthKnown=!1,this.chunks=[]}if(a.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]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e,r=new XMLHttpRequest;if(r.open("HEAD",t,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw Error("Couldn't load "+t+". Status: "+r.status);var n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=(e,r)=>{if(e>r)throw Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+e+"-"+r),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 Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):er(o.responseText||"",!0)},u=this;u.setDataGetter(e=>{var r=e*i,t=(e+1)*i-1;if(t=Math.min(t,n-1),void 0===u.chunks[e]&&(u.chunks[e]=s(r,t)),void 0===u.chunks[e])throw Error("doXHR failed!");return u.chunks[e]}),(a||!n)&&(i=n=1,i=n=this.getter(0).length,D("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){var i;throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"}var i={isDevice:!1,url:t},s=eo.createFile(e,r,i,n,o);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s{var r=s.stream_ops[e];u[e]=function(){return eo.forceLoadFile(s),r.apply(null,arguments)}}),u.read=(e,r,t,n,o)=>(eo.forceLoadFile(s),l(e,r,t,n,o)),u.mmap=(e,r,t,n,o)=>{eo.forceLoadFile(s);var a=void V();if(!a)throw new eo.ErrnoError(48);return l(e,d,a,r,t),{ptr:a,allocated:!0}},s.stream_ops=u,s},createPreloadedFile:(e,r,t,n,o,a,s,u,l,c)=>{var d,f,m=r?ee.resolve(Q.join2(e,r)):e,h="cp "+m;function p(t){function i(t){c&&c(),u||eo.createDataFile(e,r,t,n,o,l),a&&a(),G(h)}Browser.handledByPreloadPlugin(t,m,i,()=>{s&&s(),G(h)})||i(t)}Y(h),"string"==typeof t?(d=e=>p(e),f="al "+t,i(t,e=>{var r;r='Loading data file "'+t+'" failed (no arrayBuffer).',e||V(r),d(new Uint8Array(e)),f&&G(f)},e=>{if(s)s();else throw'Loading data file "'+t+'" failed.'}),f&&Y(f)):p(t)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,r=()=>{},t=()=>{})=>{var n=eo.indexedDB();try{var o=n.open(eo.DB_NAME(),eo.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=()=>{D("creating db"),o.result.createObjectStore(eo.DB_STORE_NAME)},o.onsuccess=()=>{var n=o.result.transaction([eo.DB_STORE_NAME],"readwrite"),a=n.objectStore(eo.DB_STORE_NAME),i=0,s=0,u=e.length;function l(){0==s?r():t()}e.forEach(e=>{var r=a.put(eo.analyzePath(e).object.contents,e);r.onsuccess=()=>{++i+s==u&&l()},r.onerror=()=>{i+ ++s==u&&l()}}),n.onerror=t},o.onerror=t},loadFilesFromDB:(e,r=()=>{},t=()=>{})=>{var n=eo.indexedDB();try{var o=n.open(eo.DB_NAME(),eo.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=t,o.onsuccess=()=>{var n=o.result;try{var a=n.transaction([eo.DB_STORE_NAME],"readonly")}catch(e){t(e);return}var i=a.objectStore(eo.DB_STORE_NAME),s=0,u=0,l=e.length;function c(){0==u?r():t()}e.forEach(e=>{var r=i.get(e);r.onsuccess=()=>{eo.analyzePath(e).exists&&eo.unlink(e),eo.createDataFile(Q.dirname(e),Q.basename(e),r.result,!0,!0,!0),++s+u==l&&c()},r.onerror=()=>{s+ ++u==l&&c()}}),a.onerror=t},o.onerror=t}},ea={DEFAULT_POLLMASK:5,calculateAt:function(e,r,t){if(Q.isAbs(r))return r;if(-100===e)n=eo.cwd();else{var n;n=ea.getStreamFromFD(e).path}if(0==r.length){if(!t)throw new eo.ErrnoError(44);return n}return Q.join2(n,r)},doStat:function(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&Q.normalize(r)!==Q.normalize(eo.getPath(e.node)))return -54;throw e}h[t>>2]=n.dev,h[t+8>>2]=n.ino,h[t+12>>2]=n.mode,p[t+16>>2]=n.nlink,h[t+20>>2]=n.uid,h[t+24>>2]=n.gid,h[t+28>>2]=n.rdev,g=[n.size>>>0,+Math.abs(w=n.size)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+40>>2]=g[0],h[t+44>>2]=g[1],h[t+48>>2]=4096,h[t+52>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return g=[Math.floor(o/1e3)>>>0,+Math.abs(w=Math.floor(o/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+56>>2]=g[0],h[t+60>>2]=g[1],p[t+64>>2]=o%1e3*1e3,g=[Math.floor(a/1e3)>>>0,+Math.abs(w=Math.floor(a/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+72>>2]=g[0],h[t+76>>2]=g[1],p[t+80>>2]=a%1e3*1e3,g=[Math.floor(i/1e3)>>>0,+Math.abs(w=Math.floor(i/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+88>>2]=g[0],h[t+92>>2]=g[1],p[t+96>>2]=i%1e3*1e3,g=[n.ino>>>0,+Math.abs(w=n.ino)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+104>>2]=g[0],h[t+108>>2]=g[1],0},doMsync:function(e,r,t,n,o){if(!eo.isFile(r.node.mode))throw new eo.ErrnoError(43);if(2&n)return 0;var a=f.slice(e,e+t);eo.msync(r,a,o,t,n)},varargs:void 0,get:function(){return ea.varargs+=4,h[ea.varargs-4>>2]},getStr:function(e){return R(e)},getStreamFromFD:function(e){var r=eo.getStream(e);if(!r)throw new eo.ErrnoError(8);return r}};function ei(e){return p[e>>2]+4294967296*h[e+4>>2]}function es(e){return e%4==0&&(e%100!=0||e%400==0)}var eu=[0,31,60,91,121,152,182,213,244,274,305,335],el=[0,31,59,90,120,151,181,212,243,273,304,334];function ec(e){var r=T(e)+1,t=eE(r);return t&&C(e,d,t,r),t}var ed={};function ef(){if(!ef.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:b||"./this.program"};for(var r in ed)void 0===ed[r]?delete e[r]:e[r]=ed[r];var t=[];for(var r in e)t.push(r+"="+e[r]);ef.strings=t}return ef.strings}function em(e,t){c=e,M||U>0||(eF(),Z(j),eo.quit(),et.shutdown(),L=!0),c=e,M||U>0||(r.onExit&&r.onExit(e),P=!0),k(e,new J(e))}var eh=[31,29,31,30,31,30,31,31,30,31,30,31],ep=[31,28,31,30,31,30,31,31,30,31,30,31];function ev(e){if(e instanceof J||"unwind"==e)return c;k(1,e)}function ew(e){try{return e()}catch(e){V(e)}}var eg={instrumentWasmImports:function(e){var r=["invoke_*","emscripten_sleep","emscripten_wget","emscripten_wget_data","emscripten_idb_load","emscripten_idb_store","emscripten_idb_delete","emscripten_idb_exists","emscripten_idb_load_blob","emscripten_idb_store_blob","SDL_Delay","emscripten_scan_registers","emscripten_lazy_load_code","emscripten_fiber_swap","__load_secondary_module","fd_sync","__wasi_fd_sync","_emval_await","_dlopen_js","__asyncjs__*"];for(var t in e)!function(t){var n=e[t];n.sig,"function"==typeof n&&(r.indexOf(t)>=0||t.startsWith("__asyncjs__"))}(t)},instrumentWasmExports:function(e){var r={};for(var t in e)!function(t){var n=e[t];"function"==typeof n?r[t]=function(){eg.exportCallStack.push(t);try{return n.apply(null,arguments)}finally{P||(eg.exportCallStack.pop()===t||V(void 0),eg.maybeStopUnwind())}}:r[t]=n}(t);return r},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:8192,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId:function(e){var r=eg.callStackNameToId[e];return void 0===r&&(r=eg.callStackId++,eg.callStackNameToId[e]=r,eg.callStackIdToName[r]=e),r},maybeStopUnwind:function(){eg.currData&&eg.state===eg.State.Unwinding&&0===eg.exportCallStack.length&&(eg.state=eg.State.Normal,U+=1,ew(e3),"undefined"!=typeof Fibers&&Fibers.trampoline())},whenDone:function(){return new Promise((e,r)=>{eg.asyncPromiseHandlers={resolve:e,reject:r}})},allocateData:function(){var e=eE(12+eg.StackSize);return eg.setDataHeader(e,e+12,eg.StackSize),eg.setDataRewindFunc(e),e},setDataHeader:function(e,r,t){h[e>>2]=r,h[e+4>>2]=r+t},setDataRewindFunc:function(e){var r=eg.exportCallStack[0],t=eg.getCallStackId(r);h[e+8>>2]=t},getDataRewindFunc:function(e){var t=h[e+8>>2],n=eg.callStackIdToName[t];return r.asm[n]},doRewind:function(e){var r=eg.getDataRewindFunc(e);return U-=1,r()},handleSleep:function(e){if(!P){if(eg.state===eg.State.Normal){var r=!1,t=!1;e((e=0)=>{if(!P&&(eg.handleSleepReturnValue=e,r=!0,t)){eg.state=eg.State.Rewinding,ew(()=>e9(eg.currData)),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.resume();var n,o=!1;try{n=eg.doRewind(eg.currData)}catch(e){n=e,o=!0}var a=!1;if(!eg.currData){var i=eg.asyncPromiseHandlers;i&&(eg.asyncPromiseHandlers=null,(o?i.reject:i.resolve)(n),a=!0)}if(o&&!a)throw n}}),t=!0,r||(eg.state=eg.State.Unwinding,eg.currData=eg.allocateData(),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.pause(),ew(()=>e6(eg.currData)))}else eg.state===eg.State.Rewinding?(eg.state=eg.State.Normal,ew(e8),eb(eg.currData),eg.currData=null,eg.sleepCallbacks.forEach(e=>(function(e){if(!L&&!P)try{e(),function(){if(!(M||U>0))try{em(c)}catch(e){ev(e)}}()}catch(e){ev(e)}})(e))):V("invalid state: "+eg.state);return eg.handleSleepReturnValue}},handleAsync:function(e){return eg.handleSleep(r=>{e().then(r)})}},e_=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=eo.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n};Object.defineProperties(e_.prototype,{read:{get:function(){return(365&this.mode)==365},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return(146&this.mode)==146},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return eo.isDir(this.mode)}},isDevice:{get:function(){return eo.isChrdev(this.mode)}}}),eo.FSNode=e_,eo.staticInit();var ey={O:function(e,t){return eg.handleAsync(async()=>{r.emglken_stdin_buffers.length||await new Promise(e=>{r.emglken_stdin_ready=e});let n=r.emglken_stdin_buffers.shift(),o=Math.min(n.length,t);return o==n.length?f.set(n,e):(f.set(n.subarray(0,o),e),r.emglken_stdin_buffers.unshift(n.subarray(o))),o})},ga:function(e){try{var r=ea.getStreamFromFD(e);return eo.createStream(r,0).fd}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},fa:function(e,r,t,n){try{if(r=ea.getStr(r),r=ea.calculateAt(e,r),-8&t)return -28;var o=eo.lookupPath(r,{follow:!0}).node;if(!o)return -44;var a="";if(4&t&&(a+="r"),2&t&&(a+="w"),1&t&&(a+="x"),a&&eo.nodePermissions(o,a))return -2;return 0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},G:function(e,r,t){ea.varargs=t;try{var n=ea.getStreamFromFD(e);switch(r){case 0:var o=ea.get();if(o<0)return -28;return eo.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=ea.get();return n.flags|=o,0;case 5:var o=ea.get();return m[o+0>>1]=2,0;case 16:case 8:default:return -28;case 9:return h[eD()>>2]=28,-1}}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},ea:function(e,r){try{if(0===r)return -28;var t=eo.cwd(),n=T(t)+1;if(r>>0,(w=u,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],h[r+o>>2]=g[0],h[r+o+4>>2]=g[1],g=[(i+1)*280>>>0,(w=(i+1)*280,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],h[r+o+8>>2]=g[0],h[r+o+12>>2]=g[1],m[r+o+16>>1]=280,d[r+o+18>>0]=l,s=r+o+19,C(c,f,s,256),o+=280,i+=1}return eo.llseek(n,280*i,0),o}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},ca:function(e,r,t){ea.varargs=t;try{var n=ea.getStreamFromFD(e);switch(r){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:if(!n.tty)return -59;return 0;case 21519:if(!n.tty)return -59;var o=ea.get();return h[o>>2]=0,0;case 21520:if(!n.tty)return -59;return -28;case 21531:var o=ea.get();return eo.ioctl(n,r,o);default:return -28}}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},ba:function(e,r){try{return e=ea.getStr(e),ea.doStat(eo.lstat,e,r)}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},aa:function(e,r,t){try{return r=ea.getStr(r),r=ea.calculateAt(e,r),r=Q.normalize(r),"/"===r[r.length-1]&&(r=r.substr(0,r.length-1)),eo.mkdir(r,t,0),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},$:function(e,r,t,n){try{r=ea.getStr(r);var o=256&n,a=4096&n;return n&=-6401,r=ea.calculateAt(e,r,a),ea.doStat(o?eo.lstat:eo.stat,r,t)}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},F:function(e,r,t,n){ea.varargs=n;try{r=ea.getStr(r),r=ea.calculateAt(e,r);var o=n?ea.get():0;return eo.open(r,t,o).fd}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},_:function(e,r,t,n){try{if(r=ea.getStr(r),r=ea.calculateAt(e,r),n<=0)return -28;var o=eo.readlink(r),a=Math.min(n,T(o)),i=d[t+a];return C(o,f,t,n+1),d[t+a]=i,a}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},Z:function(e,r,t,n){try{return r=ea.getStr(r),n=ea.getStr(n),r=ea.calculateAt(e,r),n=ea.calculateAt(t,n),eo.rename(r,n),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},E:function(e){try{return e=ea.getStr(e),eo.rmdir(e),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},Y:function(e,r){try{return e=ea.getStr(e),ea.doStat(eo.stat,e,r)}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},X:function(e,r,t){try{return r=ea.getStr(r),r=ea.calculateAt(e,r),0===t?eo.unlink(r):512===t?eo.rmdir(r):V("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},T:function(){return!0},S:function(){throw 1/0},R:function(e,r){var t=new Date(1e3*ei(e));h[r>>2]=t.getUTCSeconds(),h[r+4>>2]=t.getUTCMinutes(),h[r+8>>2]=t.getUTCHours(),h[r+12>>2]=t.getUTCDate(),h[r+16>>2]=t.getUTCMonth(),h[r+20>>2]=t.getUTCFullYear()-1900,h[r+24>>2]=t.getUTCDay();var n=Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0),o=(t.getTime()-n)/864e5|0;h[r+28>>2]=o},Q:function(e,r){var t=new Date(1e3*ei(e));h[r>>2]=t.getSeconds(),h[r+4>>2]=t.getMinutes(),h[r+8>>2]=t.getHours(),h[r+12>>2]=t.getDate(),h[r+16>>2]=t.getMonth(),h[r+20>>2]=t.getFullYear()-1900,h[r+24>>2]=t.getDay();var n=0|(es(t.getFullYear())?eu:el)[t.getMonth()]+t.getDate()-1;h[r+28>>2]=n,h[r+36>>2]=-(60*t.getTimezoneOffset());var o=new Date(t.getFullYear(),0,1),a=new Date(t.getFullYear(),6,1).getTimezoneOffset(),i=o.getTimezoneOffset(),s=0|(a!=i&&t.getTimezoneOffset()==Math.min(i,a));h[r+32>>2]=s},P:function(e,r,t){var n=new Date().getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),i=o.getTimezoneOffset(),s=a.getTimezoneOffset();function u(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}p[e>>2]=60*Math.max(i,s),h[r>>2]=Number(i!=s);var l=u(o),c=u(a),d=ec(l),f=ec(c);s>2]=d,p[t+4>>2]=f):(p[t>>2]=f,p[t+4>>2]=d)},C:function(){V("")},B:function(){return Date.now()},A:()=>performance.now(),N:function(e,r,t){f.copyWithin(e,r,r+t)},M:function(e){var r=f.length;if((e>>>=0)>2147483648)return!1;let t=(e,r)=>e+(r-e%r)%r;for(var n=1;n<=4;n*=2){var o=r*(1+.2/n);if(o=Math.min(o,e+100663296),function(e){var r=l.buffer;try{return l.grow(e-r.byteLength+65535>>>16),N(),1}catch(e){}}(Math.min(2147483648,t(Math.max(e,o),65536))))return!0}return!1},W:function(e,r){var t=0;return ef().forEach(function(n,o){var a=r+t;p[e+4*o>>2]=a,function(e,r,t){for(var n=0;n>0]=e.charCodeAt(n);d[r>>0]=0}(n,a),t+=n.length+1}),0},V:function(e,r){var t=ef();p[e>>2]=t.length;var n=0;return t.forEach(function(e){n+=e.length+1}),p[r>>2]=n,0},y:em,w:function(e){try{var r=ea.getStreamFromFD(e);return eo.close(r),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},U:function(e,r,t,n){try{var o=ea.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=eo.read(e,d,i,s,n);if(u<0)return -1;if(o+=u,u>2]=a,0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},I:function(e,r,t,n,o){try{var a=t+2097152>>>0<4194305-!!r?(r>>>0)+4294967296*t:NaN;if(isNaN(a))return 61;var i=ea.getStreamFromFD(e);return eo.llseek(i,a,n),g=[i.position>>>0,(w=i.position,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],h[o>>2]=g[0],h[o+4>>2]=g[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},D:function(e,r,t,n){try{var o=ea.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=eo.write(e,d,i,s,n);if(u<0)return -1;o+=u,void 0!==n&&(n+=u)}return o}(o,r,t);return p[n>>2]=a,0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},L:function(e){var r=eP();try{return e1(e)}catch(e){if(eA(r),e!==e+0)throw e;eM(1,0)}},b:function(e,r){var t=eP();try{return eC(e,r)}catch(e){if(eA(t),e!==e+0)throw e;eM(1,0)}},f:function(e,r,t){var n=eP();try{return eN(e,r,t)}catch(e){if(eA(n),e!==e+0)throw e;eM(1,0)}},e:function(e,r,t,n){var o=eP();try{return eH(e,r,t,n)}catch(e){if(eA(o),e!==e+0)throw e;eM(1,0)}},c:function(e,r,t,n,o){var a=eP();try{return eR(e,r,t,n,o)}catch(e){if(eA(a),e!==e+0)throw e;eM(1,0)}},j:function(e,r,t,n,o,a){var i=eP();try{return eI(e,r,t,n,o,a)}catch(e){if(eA(i),e!==e+0)throw e;eM(1,0)}},l:function(e,r,t,n,o,a,i){var s=eP();try{return eY(e,r,t,n,o,a,i)}catch(e){if(eA(s),e!==e+0)throw e;eM(1,0)}},m:function(e,r,t,n,o,a,i,s){var u=eP();try{return eX(e,r,t,n,o,a,i,s)}catch(e){if(eA(u),e!==e+0)throw e;eM(1,0)}},s:function(e,r,t,n,o,a,i,s,u){var l=eP();try{return eU(e,r,t,n,o,a,i,s,u)}catch(e){if(eA(l),e!==e+0)throw e;eM(1,0)}},t:function(e,r,t,n,o,a,i,s,u,l){var c=eP();try{return eV(e,r,t,n,o,a,i,s,u,l)}catch(e){if(eA(c),e!==e+0)throw e;eM(1,0)}},p:function(e,r,t,n,o,a,i,s,u,l,c){var d=eP();try{return eK(e,r,t,n,o,a,i,s,u,l,c)}catch(e){if(eA(d),e!==e+0)throw e;eM(1,0)}},x:function(e,r,t,n,o,a,i,s,u,l,c,d){var f=eP();try{return e2(e,r,t,n,o,a,i,s,u,l,c,d)}catch(e){if(eA(f),e!==e+0)throw e;eM(1,0)}},q:function(e,r,t,n,o,a,i,s,u,l,c,d,f,m){var h=eP();try{return e$(e,r,t,n,o,a,i,s,u,l,c,d,f,m)}catch(e){if(eA(h),e!==e+0)throw e;eM(1,0)}},z:function(e,r,t,n,o,a,i,s,u,l,c,d,f,m,h,p){var v=eP();try{return e4(e,r,t,n,o,a,i,s,u,l,c,d,f,m,h,p)}catch(e){if(eA(v),e!==e+0)throw e;eM(1,0)}},v:function(e,r,t,n,o,a,i,s,u,l,c,d,f,m,h,p,v,w){var g=eP();try{return eZ(e,r,t,n,o,a,i,s,u,l,c,d,f,m,h,p,v,w)}catch(e){if(eA(g),e!==e+0)throw e;eM(1,0)}},i:function(e){var r=eP();try{eJ(e)}catch(e){if(eA(r),e!==e+0)throw e;eM(1,0)}},h:function(e,r){var t=eP();try{eT(e,r)}catch(e){if(eA(t),e!==e+0)throw e;eM(1,0)}},d:function(e,r,t){var n=eP();try{eO(e,r,t)}catch(e){if(eA(n),e!==e+0)throw e;eM(1,0)}},a:function(e,r,t,n){var o=eP();try{ez(e,r,t,n)}catch(e){if(eA(o),e!==e+0)throw e;eM(1,0)}},g:function(e,r,t,n,o){var a=eP();try{eq(e,r,t,n,o)}catch(e){if(eA(a),e!==e+0)throw e;eM(1,0)}},o:function(e,r,t,n,o,a){var i=eP();try{ej(e,r,t,n,o,a)}catch(e){if(eA(i),e!==e+0)throw e;eM(1,0)}},n:function(e,r,t,n,o,a,i){var s=eP();try{eL(e,r,t,n,o,a,i)}catch(e){if(eA(s),e!==e+0)throw e;eM(1,0)}},K:function(e,r,t,n,o,a,i,s){var u=eP();try{eQ(e,r,t,n,o,a,i,s)}catch(e){if(eA(u),e!==e+0)throw e;eM(1,0)}},r:function(e,r,t,n,o,a,i,s,u){var l=eP();try{eB(e,r,t,n,o,a,i,s,u)}catch(e){if(eA(l),e!==e+0)throw e;eM(1,0)}},k:function(e,r,t,n,o,a,i,s,u,l){var c=eP();try{eW(e,r,t,n,o,a,i,s,u,l)}catch(e){if(eA(c),e!==e+0)throw e;eM(1,0)}},u:function(e,r,t,n,o,a,i,s,u,l,c,d){var f=eP();try{eG(e,r,t,n,o,a,i,s,u,l,c,d)}catch(e){if(eA(f),e!==e+0)throw e;eM(1,0)}},J:function(e,r,t,n,o,a,i,s,u,l,c,d,f,m,h,p){var v=eP();try{e0(e,r,t,n,o,a,i,s,u,l,c,d,f,m,h,p)}catch(e){if(eA(v),e!==e+0)throw e;eM(1,0)}},H:function(e,r,t,n){var o=h[n+40>>2],a={tm_sec:h[n>>2],tm_min:h[n+4>>2],tm_hour:h[n+8>>2],tm_mday:h[n+12>>2],tm_mon:h[n+16>>2],tm_year:h[n+20>>2],tm_wday:h[n+24>>2],tm_yday:h[n+28>>2],tm_isdst:h[n+32>>2],tm_gmtoff:h[n+36>>2],tm_zone:o?R(o):""},i=R(t),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in s)i=i.replace(RegExp(u,"g"),s[u]);var l=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function f(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length0?1:0}return 0===(t=n(e.getFullYear()-r.getFullYear()))&&0===(t=n(e.getMonth()-r.getMonth()))&&(t=n(e.getDate()-r.getDate())),t}function v(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function w(e){var r=function(e,r){for(var t=new Date(e.getTime());r>0;){var n=es(t.getFullYear()),o=t.getMonth(),a=(n?eh:ep)[o];if(r>a-t.getDate())r-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1));else{t.setDate(t.getDate()+r);break}}return t}(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),o=v(t),a=v(n);return 0>=p(o,r)?0>=p(a,r)?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var g={"%a":function(e){return l[e.tm_wday].substring(0,3)},"%A":function(e){return l[e.tm_wday]},"%b":function(e){return c[e.tm_mon].substring(0,3)},"%B":function(e){return c[e.tm_mon]},"%C":function(e){return m((e.tm_year+1900)/100|0,2)},"%d":function(e){return m(e.tm_mday,2)},"%e":function(e){return f(e.tm_mday,2," ")},"%g":function(e){return w(e).toString().substring(2)},"%G":function(e){return w(e)},"%H":function(e){return m(e.tm_hour,2)},"%I":function(e){var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),m(r,2)},"%j":function(e){return m(e.tm_mday+function(e,r){for(var t=0,n=0;n<=r;t+=e[n++]);return t}(es(e.tm_year+1900)?eh:ep,e.tm_mon-1),3)},"%m":function(e){return m(e.tm_mon+1,2)},"%M":function(e){return m(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return m(e.tm_sec,2)},"%t":function(){return" "},"%u":function(e){return e.tm_wday||7},"%U":function(e){return m(Math.floor((e.tm_yday+7-e.tm_wday)/7),2)},"%V":function(e){var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&es(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&es(e.tm_year%400-1))&&r++}return m(r,2)},"%w":function(e){return e.tm_wday},"%W":function(e){return m(Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var r=e.tm_gmtoff;return(r>=0?"+":"-")+String("0000"+(r=(r=Math.abs(r)/60)/60*100+r%60)).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var u in i=i.replace(/%%/g,"\x00\x00"),g)i.includes(u)&&(i=i.replace(RegExp(u,"g"),g[u](a)));var _=er(i=i.replace(/\0\0/g,"%"),!1);return _.length>r?0:(d.set(_,e),_.length-1)}};!function(){var e,t,n,a={a:ey};function i(e,t){var n,o=e.exports;return o=eg.instrumentWasmExports(o),r.asm=o,l=r.asm.ha,N(),r.asm.qa,n=r.asm.ia,B.unshift(n),G("wasm-instantiate"),o}if(Y("wasm-instantiate"),r.instantiateWasm)try{return r.instantiateWasm(a,i)}catch(e){F("Module.instantiateWasm callback failed with error: "+e),o(e)}(e=u,t=v,n=function(e){i(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||X(t)||"function"!=typeof fetch?$(t,a,n):fetch(t,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,a).then(n,function(e){return F("wasm streaming compile failed: "+e),F("falling back to ArrayBuffer instantiation"),$(t,a,n)})})).catch(o)}();var eE=function(){return(eE=r.asm.ja).apply(null,arguments)},eb=function(){return(eb=r.asm.ka).apply(null,arguments)},ek=r._fflush=function(){return(ek=r._fflush=r.asm.la).apply(null,arguments)},eS=r._main=function(){return(eS=r._main=r.asm.ma).apply(null,arguments)},eD=(r._gidispatch_get_game_id=function(){return(r._gidispatch_get_game_id=r.asm.na).apply(null,arguments)},function(){return(eD=r.asm.oa).apply(null,arguments)}),eF=function(){return(eF=r.asm.pa).apply(null,arguments)},eM=function(){return(eM=r.asm.ra).apply(null,arguments)},eP=function(){return(eP=r.asm.sa).apply(null,arguments)},eA=function(){return(eA=r.asm.ta).apply(null,arguments)},ex=function(){return(ex=r.asm.ua).apply(null,arguments)},eR=r.dynCall_iiiii=function(){return(eR=r.dynCall_iiiii=r.asm.va).apply(null,arguments)},eC=r.dynCall_ii=function(){return(eC=r.dynCall_ii=r.asm.wa).apply(null,arguments)},eT=r.dynCall_vi=function(){return(eT=r.dynCall_vi=r.asm.xa).apply(null,arguments)},eN=r.dynCall_iii=function(){return(eN=r.dynCall_iii=r.asm.ya).apply(null,arguments)},ez=r.dynCall_viii=function(){return(ez=r.dynCall_viii=r.asm.za).apply(null,arguments)},eB=r.dynCall_viiiiiiii=function(){return(eB=r.dynCall_viiiiiiii=r.asm.Aa).apply(null,arguments)},eO=r.dynCall_vii=function(){return(eO=r.dynCall_vii=r.asm.Ba).apply(null,arguments)},ej=r.dynCall_viiiii=function(){return(ej=r.dynCall_viiiii=r.asm.Ca).apply(null,arguments)},eI=r.dynCall_iiiiii=function(){return(eI=r.dynCall_iiiiii=r.asm.Da).apply(null,arguments)},eL=r.dynCall_viiiiii=function(){return(eL=r.dynCall_viiiiii=r.asm.Ea).apply(null,arguments)},eU=r.dynCall_iiiiiiiii=function(){return(eU=r.dynCall_iiiiiiiii=r.asm.Fa).apply(null,arguments)},eH=r.dynCall_iiii=function(){return(eH=r.dynCall_iiii=r.asm.Ga).apply(null,arguments)},eW=r.dynCall_viiiiiiiii=function(){return(eW=r.dynCall_viiiiiiiii=r.asm.Ha).apply(null,arguments)},eq=r.dynCall_viiii=function(){return(eq=r.dynCall_viiii=r.asm.Ia).apply(null,arguments)},eY=r.dynCall_iiiiiii=function(){return(eY=r.dynCall_iiiiiii=r.asm.Ja).apply(null,arguments)},eG=r.dynCall_viiiiiiiiiii=function(){return(eG=r.dynCall_viiiiiiiiiii=r.asm.Ka).apply(null,arguments)},eV=r.dynCall_iiiiiiiiii=function(){return(eV=r.dynCall_iiiiiiiiii=r.asm.La).apply(null,arguments)},eX=r.dynCall_iiiiiiii=function(){return(eX=r.dynCall_iiiiiiii=r.asm.Ma).apply(null,arguments)},eK=r.dynCall_iiiiiiiiiii=function(){return(eK=r.dynCall_iiiiiiiiiii=r.asm.Na).apply(null,arguments)},e$=r.dynCall_iiiiiiiiiiiiii=function(){return(e$=r.dynCall_iiiiiiiiiiiiii=r.asm.Oa).apply(null,arguments)},eJ=r.dynCall_v=function(){return(eJ=r.dynCall_v=r.asm.Pa).apply(null,arguments)},eZ=r.dynCall_iiiiiiiiiiiiiiiiii=function(){return(eZ=r.dynCall_iiiiiiiiiiiiiiiiii=r.asm.Qa).apply(null,arguments)},eQ=r.dynCall_viiiiiii=function(){return(eQ=r.dynCall_viiiiiii=r.asm.Ra).apply(null,arguments)},e0=r.dynCall_viiiiiiiiiiiiiii=function(){return(e0=r.dynCall_viiiiiiiiiiiiiii=r.asm.Sa).apply(null,arguments)},e1=r.dynCall_i=function(){return(e1=r.dynCall_i=r.asm.Ta).apply(null,arguments)},e2=r.dynCall_iiiiiiiiiiii=function(){return(e2=r.dynCall_iiiiiiiiiiii=r.asm.Ua).apply(null,arguments)},e4=r.dynCall_iiiiiiiiiiiiiiii=function(){return(e4=r.dynCall_iiiiiiiiiiiiiiii=r.asm.Va).apply(null,arguments)},e6=function(){return(e6=r.asm.Wa).apply(null,arguments)},e3=function(){return(e3=r.asm.Xa).apply(null,arguments)},e9=function(){return(e9=r.asm.Ya).apply(null,arguments)},e8=function(){return(e8=r.asm.Za).apply(null,arguments)};function e5(e=E){!(H>0)&&(!function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;){var e;e=r.preRun.shift(),z.unshift(e)}Z(z)}(),H>0||(r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),t()},1)):t()));function t(){!_&&(_=!0,r.calledRun=!0,P||(r.noFSInit||eo.init.initialized||eo.init(),eo.ignorePermissions=!1,et.init(),Z(B),Z(O),n(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),e7&&function(e=[]){var r=eS;e.unshift(b);var t=e.length,n=ex((t+1)*4),o=n>>2;e.forEach(e=>{var r,t;h[o++]=(t=ex(r=T(e)+1),C(e,d,t,r),t)}),h[o]=0;try{var a=r(t,n);em(a,!0)}catch(e){return ev(e)}}(e),function(){if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;){var e;e=r.postRun.shift(),I.unshift(e)}Z(I)}()))}}if(r.___start_em_js=356528,r.___stop_em_js=359213,r.AsciiToString=function(e){for(var r="";;){var t=f[e++>>0];if(!t)return r;r+=String.fromCharCode(t)}},r.FS=eo,q=function e(){_||e5(),_||(q=e)},r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();var e7=!0;return r.noInitialRun&&(e7=!1),e5(),r.ready}})(),rk={};rk=new URL(k("6MsPj").resolve("32xWV"),import.meta.url).toString();var rS=(()=>{var e="file:///node_modules/emglken/build/scare-core.js";return function(r={}){var t,n,o,a,i,s,u,l,c,d,f,m,h,p,v,w,g,_,r=void 0!==r?r:{};r.ready=new Promise(function(e,r){n=e,o=r});var y=Object.assign({},r),E=[],b="./this.program",k=(e,r)=>{throw r},S="";"undefined"!=typeof document&&document.currentScript&&(S=document.currentScript.src),e&&(S=e),S=0!==S.indexOf("blob:")?S.substr(0,S.replace(/[?#].*/,"").lastIndexOf("/")+1):"",a=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},i=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{if(200==n.status||0==n.status&&n.response){r(n.response);return}t()},n.onerror=t,n.send(null)};var D=r.print||console.log.bind(console),F=r.printErr||console.warn.bind(console);Object.assign(r,y),y=null,r.arguments&&(E=r.arguments),r.thisProgram&&(b=r.thisProgram),r.quit&&(k=r.quit),r.wasmBinary&&(u=r.wasmBinary);var M=r.noExitRuntime||!1;"object"!=typeof WebAssembly&&G("no native wasm support detected");var P=!1,A=new TextDecoder("utf8");function x(e,r,t){for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;return A.decode(e.buffer?e.subarray(r,o):new Uint8Array(e.slice(r,o)))}function R(e,r,t,n){if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)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){for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r}function T(){var e=l.buffer;r.HEAP8=d=new Int8Array(e),r.HEAP16=m=new Int16Array(e),r.HEAP32=h=new Int32Array(e),r.HEAPU8=f=new Uint8Array(e),r.HEAPU16=new Uint16Array(e),r.HEAPU32=p=new Uint32Array(e),r.HEAPF32=new Float32Array(e),r.HEAPF64=new Float64Array(e)}var N=[],z=[],B=[],O=[],j=[],I=!1,L=0,U=0,H=null,W=null;function q(e){U++,r.monitorRunDependencies&&r.monitorRunDependencies(U)}function Y(e){if(U--,r.monitorRunDependencies&&r.monitorRunDependencies(U),0==U&&(null!==H&&(clearInterval(H),H=null),W)){var t=W;W=null,t()}}function G(e){r.onAbort&&r.onAbort(e),F(e="Aborted("+e+")"),P=!0,c=1,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw o(t),t}function V(e){return e.startsWith("data:application/octet-stream;base64,")}function X(e){try{if(e==v&&u)return new Uint8Array(u);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}catch(e){G(e)}}function K(e,r,t){return(u||"function"!=typeof fetch?Promise.resolve().then(function(){return X(e)}):fetch(e,{credentials:"same-origin"}).then(function(r){if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()}).catch(function(){return X(e)})).then(function(e){return WebAssembly.instantiate(e,r)}).then(function(e){return e}).then(t,function(e){F("failed to asynchronously prepare wasm: "+e),G(e)})}function $(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function J(e){for(;e.length>0;)e.shift()(r)}r.locateFile?V(v="scare-core.wasm")||(t=v,v=r.locateFile?r.locateFile(t,S):S+t):v=new URL(rk).href;var Z={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(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:e=>{var r=Z.isAbs(e),t="/"===e.substr(-1);return(e=Z.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Z.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=Z.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return -1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Z.normalize(e.join("/"))},join2:(e,r)=>Z.normalize(e+"/"+r)},Q={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:en.cwd();if("string"!=typeof n)throw TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=Z.isAbs(n)}return e=Z.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+e||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=Q.resolve(e).substr(1),r=Q.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s0?t:C(e)+1),o=R(e,n,0,n.length);return r&&(n.length=o),n}var er={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){er.ttys[e]={input:[],output:[],ops:r},en.registerDevice(e,er.stream_ops)},stream_ops:{open:function(e){var r=er.ttys[e.node.rdev];if(!r)throw new en.ErrnoError(43);e.tty=r,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new en.ErrnoError(60);for(var a,i=0,s=0;s0&&(D(x(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(F(x(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync:function(e){e.output&&e.output.length>0&&(F(x(e.output,0)),e.output=[])}}},et={ops_table:null,mount:function(e){return et.createNode(null,"/",16895,0)},createNode:function(e,r,t,n){if(en.isBlkdev(t)||en.isFIFO(t))throw new en.ErrnoError(63);et.ops_table||(et.ops_table={dir:{node:{getattr:et.node_ops.getattr,setattr:et.node_ops.setattr,lookup:et.node_ops.lookup,mknod:et.node_ops.mknod,rename:et.node_ops.rename,unlink:et.node_ops.unlink,rmdir:et.node_ops.rmdir,readdir:et.node_ops.readdir,symlink:et.node_ops.symlink},stream:{llseek:et.stream_ops.llseek}},file:{node:{getattr:et.node_ops.getattr,setattr:et.node_ops.setattr},stream:{llseek:et.stream_ops.llseek,read:et.stream_ops.read,write:et.stream_ops.write,allocate:et.stream_ops.allocate,mmap:et.stream_ops.mmap,msync:et.stream_ops.msync}},link:{node:{getattr:et.node_ops.getattr,setattr:et.node_ops.setattr,readlink:et.node_ops.readlink},stream:{}},chrdev:{node:{getattr:et.node_ops.getattr,setattr:et.node_ops.setattr},stream:en.chrdev_stream_ops}});var o=en.createNode(e,r,t,n);return en.isDir(o.mode)?(o.node_ops=et.ops_table.dir.node,o.stream_ops=et.ops_table.dir.stream,o.contents={}):en.isFile(o.mode)?(o.node_ops=et.ops_table.file.node,o.stream_ops=et.ops_table.file.stream,o.usedBytes=0,o.contents=null):en.isLink(o.mode)?(o.node_ops=et.ops_table.link.node,o.stream_ops=et.ops_table.link.stream):en.isChrdev(o.mode)&&(o.node_ops=et.ops_table.chrdev.node,o.stream_ops=et.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},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)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}}},node_ops:{getattr:function(e){var r={};return r.dev=en.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,en.isDir(e.mode)?r.size=4096:en.isFile(e.mode)?r.size=e.usedBytes:en.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&&et.resizeFileStorage(e,r.size)},lookup:function(e,r){throw en.genericErrors[44]},mknod:function(e,r,t,n){return et.createNode(e,r,t,n)},rename:function(e,r,t){if(en.isDir(e.mode)){var n;try{n=en.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new en.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink:function(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir:function(e,r){var t=en.lookupNode(e,r);for(var n in t.contents)throw new en.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},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=et.createNode(e,r,41471,0);return n.link=t,n},readlink:function(e){if(!en.isLink(e.mode))throw new en.ErrnoError(28);return e.link}},stream_ops:{read:function(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s0||t+r{if(!(e=Q.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new en.ErrnoError(32);for(var t=e.split("/").filter(e=>!!e),n=en.root,o="/",a=0;a40)throw new en.ErrnoError(32)}}return{path:o,node:n}},getPath:e=>{for(var r;;){if(en.isRoot(e)){var t=e.mount.mountpoint;if(!r)return t;return"/"!==t[t.length-1]?t+"/"+r:t+r}r=r?e.name+"/"+r:e.name,e=e.parent}},hashName:(e,r)=>{for(var t=0,n=0;n>>0)%en.nameTable.length},hashAddNode:e=>{var r=en.hashName(e.parent.id,e.name);e.name_next=en.nameTable[r],en.nameTable[r]=e},hashRemoveNode:e=>{var r=en.hashName(e.parent.id,e.name);if(en.nameTable[r]===e)en.nameTable[r]=e.name_next;else for(var t=en.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode:(e,r)=>{var t=en.mayLookup(e);if(t)throw new en.ErrnoError(t,e);for(var n=en.hashName(e.id,r),o=en.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return en.lookup(e,r)},createNode:(e,r,t,n)=>{var o=new en.FSNode(e,r,t,n);return en.hashAddNode(o),o},destroyNode:e=>{en.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>(61440&e)==32768,isDir:e=>(61440&e)==16384,isLink:e=>(61440&e)==40960,isChrdev:e=>(61440&e)==8192,isBlkdev:e=>(61440&e)==24576,isFIFO:e=>(61440&e)==4096,isSocket:e=>(49152&e)==49152,flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var r=en.flagModes[e];if(void 0===r)throw Error("Unknown file open mode: "+e);return r},flagsToPermissionString:e=>{var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>en.ignorePermissions?0:r.includes("r")&&!(292&e.mode)||r.includes("w")&&!(146&e.mode)||r.includes("x")&&!(73&e.mode)?2:0,mayLookup:e=>en.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,r)=>{try{return en.lookupNode(e,r),20}catch(e){}return en.nodePermissions(e,"wx")},mayDelete:(e,r,t)=>{try{n=en.lookupNode(e,r)}catch(e){return e.errno}var n,o=en.nodePermissions(e,"wx");if(o)return o;if(t){if(!en.isDir(n.mode))return 54;if(en.isRoot(n)||en.getPath(n)===en.cwd())return 10}else if(en.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?en.isLink(e.mode)?32:en.isDir(e.mode)&&("r"!==en.flagsToPermissionString(r)||512&r)?31:en.nodePermissions(e,en.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,r=en.MAX_OPEN_FDS)=>{for(var t=e;t<=r;t++)if(!en.streams[t])return t;throw new en.ErrnoError(33)},getStream:e=>en.streams[e],createStream:(e,r,t)=>{en.FSStream||(en.FSStream=function(){this.shared={}},en.FSStream.prototype={},Object.defineProperties(en.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return(2097155&this.flags)!=1}},isWrite:{get:function(){return(2097155&this.flags)!=0}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new en.FSStream,e);var n=en.nextfd(r,t);return e.fd=n,en.streams[n]=e,e},closeStream:e=>{en.streams[e]=null},chrdev_stream_ops:{open:e=>{var r=en.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new en.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice:(e,r)=>{en.devices[e]={stream_ops:r}},getDevice:e=>en.devices[e],getMounts:e=>{for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs:(e,r)=>{"function"==typeof e&&(r=e,e=!1),en.syncFSRequests++,en.syncFSRequests>1&&F("warning: "+en.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=en.getMounts(en.root.mount),n=0;function o(e){return en.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach(r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)})},mount:(e,r,t)=>{var n,o="/"===t,a=!t;if(o&&en.root)throw new en.ErrnoError(10);if(!o&&!a){var i=en.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,en.isMountpoint(n))throw new en.ErrnoError(10);if(!en.isDir(n.mode))throw new en.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return u.mount=s,s.root=u,o?en.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:e=>{var r=en.lookupPath(e,{follow_mount:!1});if(!en.isMountpoint(r.node))throw new en.ErrnoError(28);var t=r.node,n=t.mounted,o=en.getMounts(n);Object.keys(en.nameTable).forEach(e=>{for(var r=en.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&en.destroyNode(r),r=t}}),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod:(e,r,t)=>{var n=en.lookupPath(e,{parent:!0}).node,o=Z.basename(e);if(!o||"."===o||".."===o)throw new en.ErrnoError(28);var a=en.mayCreate(n,o);if(a)throw new en.ErrnoError(a);if(!n.node_ops.mknod)throw new en.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=(void 0!==r?r:438)&4095|32768,en.mknod(e,r,0)),mkdir:(e,r)=>(r=(void 0!==r?r:511)&1023|16384,en.mknod(e,r,0)),mkdirTree:(e,r)=>{for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,en.mknod(e,r,t)),symlink:(e,r)=>{if(!Q.resolve(e))throw new en.ErrnoError(44);var t=en.lookupPath(r,{parent:!0}).node;if(!t)throw new en.ErrnoError(44);var n=Z.basename(r),o=en.mayCreate(t,n);if(o)throw new en.ErrnoError(o);if(!t.node_ops.symlink)throw new en.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename:(e,r)=>{var t,n,o,a=Z.dirname(e),i=Z.dirname(r),s=Z.basename(e),u=Z.basename(r);if(t=en.lookupPath(e,{parent:!0}).node,n=en.lookupPath(r,{parent:!0}).node,!t||!n)throw new en.ErrnoError(44);if(t.mount!==n.mount)throw new en.ErrnoError(75);var l=en.lookupNode(t,s),c=Q.relative(e,i);if("."!==c.charAt(0))throw new en.ErrnoError(28);if("."!==(c=Q.relative(r,a)).charAt(0))throw new en.ErrnoError(55);try{o=en.lookupNode(n,u)}catch(e){}if(l!==o){var d=en.isDir(l.mode),f=en.mayDelete(t,s,d);if(f||(f=o?en.mayDelete(n,u,d):en.mayCreate(n,u)))throw new en.ErrnoError(f);if(!t.node_ops.rename)throw new en.ErrnoError(63);if(en.isMountpoint(l)||o&&en.isMountpoint(o))throw new en.ErrnoError(10);if(n!==t&&(f=en.nodePermissions(t,"w")))throw new en.ErrnoError(f);en.hashRemoveNode(l);try{t.node_ops.rename(l,n,u)}catch(e){throw e}finally{en.hashAddNode(l)}}},rmdir:e=>{var r=en.lookupPath(e,{parent:!0}).node,t=Z.basename(e),n=en.lookupNode(r,t),o=en.mayDelete(r,t,!0);if(o)throw new en.ErrnoError(o);if(!r.node_ops.rmdir)throw new en.ErrnoError(63);if(en.isMountpoint(n))throw new en.ErrnoError(10);r.node_ops.rmdir(r,t),en.destroyNode(n)},readdir:e=>{var r=en.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new en.ErrnoError(54);return r.node_ops.readdir(r)},unlink:e=>{var r=en.lookupPath(e,{parent:!0}).node;if(!r)throw new en.ErrnoError(44);var t=Z.basename(e),n=en.lookupNode(r,t),o=en.mayDelete(r,t,!1);if(o)throw new en.ErrnoError(o);if(!r.node_ops.unlink)throw new en.ErrnoError(63);if(en.isMountpoint(n))throw new en.ErrnoError(10);r.node_ops.unlink(r,t),en.destroyNode(n)},readlink:e=>{var r=en.lookupPath(e).node;if(!r)throw new en.ErrnoError(44);if(!r.node_ops.readlink)throw new en.ErrnoError(28);return Q.resolve(en.getPath(r.parent),r.node_ops.readlink(r))},stat:(e,r)=>{var t=en.lookupPath(e,{follow:!r}).node;if(!t)throw new en.ErrnoError(44);if(!t.node_ops.getattr)throw new en.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>en.stat(e,!0),chmod:(e,r,t)=>{var n;if(!(n="string"==typeof e?en.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new en.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod:(e,r)=>{en.chmod(e,r,!0)},fchmod:(e,r)=>{var t=en.getStream(e);if(!t)throw new en.ErrnoError(8);en.chmod(t.node,r)},chown:(e,r,t,n)=>{var o;if(!(o="string"==typeof e?en.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new en.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,r,t)=>{en.chown(e,r,t,!0)},fchown:(e,r,t)=>{var n=en.getStream(e);if(!n)throw new en.ErrnoError(8);en.chown(n.node,r,t)},truncate:(e,r)=>{if(r<0)throw new en.ErrnoError(28);if("string"==typeof e){var t;t=en.lookupPath(e,{follow:!0}).node}else t=e;if(!t.node_ops.setattr)throw new en.ErrnoError(63);if(en.isDir(t.mode))throw new en.ErrnoError(31);if(!en.isFile(t.mode))throw new en.ErrnoError(28);var n=en.nodePermissions(t,"w");if(n)throw new en.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate:(e,r)=>{var t=en.getStream(e);if(!t)throw new en.ErrnoError(8);if((2097155&t.flags)==0)throw new en.ErrnoError(28);en.truncate(t.node,r)},utime:(e,r,t)=>{var n=en.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open:(e,t,n)=>{if(""===e)throw new en.ErrnoError(44);if(t="string"==typeof t?en.modeStringToFlags(t):t,n=void 0===n?438:n,n=64&t?4095&n|32768:0,"object"==typeof e)o=e;else{e=Z.normalize(e);try{var o;o=en.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var a=!1;if(64&t){if(o){if(128&t)throw new en.ErrnoError(20)}else o=en.mknod(e,n,0),a=!0}if(!o)throw new en.ErrnoError(44);if(en.isChrdev(o.mode)&&(t&=-513),65536&t&&!en.isDir(o.mode))throw new en.ErrnoError(54);if(!a){var i=en.mayOpen(o,t);if(i)throw new en.ErrnoError(i)}512&t&&!a&&en.truncate(o,0),t&=-131713;var s=en.createStream({node:o,path:en.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!r.logReadFiles||1&t||(en.readFiles||(en.readFiles={}),e in en.readFiles||(en.readFiles[e]=1)),s},close:e=>{if(en.isClosed(e))throw new en.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{en.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,r,t)=>{if(en.isClosed(e))throw new en.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new en.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new en.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read:(e,r,t,n,o)=>{if(n<0||o<0)throw new en.ErrnoError(28);if(en.isClosed(e)||(2097155&e.flags)==1)throw new en.ErrnoError(8);if(en.isDir(e.node.mode))throw new en.ErrnoError(31);if(!e.stream_ops.read)throw new en.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new en.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write:(e,r,t,n,o,a)=>{if(n<0||o<0)throw new en.ErrnoError(28);if(en.isClosed(e)||(2097155&e.flags)==0)throw new en.ErrnoError(8);if(en.isDir(e.node.mode))throw new en.ErrnoError(31);if(!e.stream_ops.write)throw new en.ErrnoError(28);e.seekable&&1024&e.flags&&en.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new en.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},allocate:(e,r,t)=>{if(en.isClosed(e))throw new en.ErrnoError(8);if(r<0||t<=0)throw new en.ErrnoError(28);if((2097155&e.flags)==0)throw new en.ErrnoError(8);if(!en.isFile(e.node.mode)&&!en.isDir(e.node.mode))throw new en.ErrnoError(43);if(!e.stream_ops.allocate)throw new en.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap:(e,r,t,n,o)=>{if((2&n)!=0&&(2&o)==0&&(2097155&e.flags)!=2||(2097155&e.flags)==1)throw new en.ErrnoError(2);if(!e.stream_ops.mmap)throw new en.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl:(e,r,t)=>{if(!e.stream_ops.ioctl)throw new en.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile:(e,r={})=>{if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw Error('Invalid encoding type "'+r.encoding+'"');var t,n=en.open(e,r.flags),o=en.stat(e).size,a=new Uint8Array(o);return en.read(n,a,0,o,0),"utf8"===r.encoding?t=x(a,0):"binary"===r.encoding&&(t=a),en.close(n),t},writeFile:(e,r,t={})=>{t.flags=t.flags||577;var n=en.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(C(r)+1),a=R(r,o,0,o.length);en.write(n,o,0,a,void 0,t.canOwn)}else if(ArrayBuffer.isView(r))en.write(n,r,0,r.byteLength,void 0,t.canOwn);else throw Error("Unsupported data type");en.close(n)},cwd:()=>en.currentPath,chdir:e=>{var r=en.lookupPath(e,{follow:!0});if(null===r.node)throw new en.ErrnoError(44);if(!en.isDir(r.node.mode))throw new en.ErrnoError(54);var t=en.nodePermissions(r.node,"x");if(t)throw new en.ErrnoError(t);en.currentPath=r.path},createDefaultDirectories:()=>{en.mkdir("/tmp"),en.mkdir("/home"),en.mkdir("/home/web_user")},createDefaultDevices:()=>{en.mkdir("/dev"),en.registerDevice(en.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),en.mkdev("/dev/null",en.makedev(1,3)),er.register(en.makedev(5,0),er.default_tty_ops),er.register(en.makedev(6,0),er.default_tty1_ops),en.mkdev("/dev/tty",en.makedev(5,0)),en.mkdev("/dev/tty1",en.makedev(6,0));var e=function(){if("object"!=typeof crypto||"function"!=typeof crypto.getRandomValues)return()=>G("randomDevice");var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}();en.createDevice("/dev","random",e),en.createDevice("/dev","urandom",e),en.mkdir("/dev/shm"),en.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{en.mkdir("/proc");var e=en.mkdir("/proc/self");en.mkdir("/proc/self/fd"),en.mount({mount:()=>{var r=en.createNode(e,"fd",16895,73);return r.node_ops={lookup:(e,r)=>{var t=en.getStream(+r);if(!t)throw new en.ErrnoError(8);var n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>t.path}};return n.parent=n,n}},r}},{},"/proc/self/fd")},createStandardStreams:()=>{r.stdin?en.createDevice("/dev","stdin",r.stdin):en.symlink("/dev/tty","/dev/stdin"),r.stdout?en.createDevice("/dev","stdout",null,r.stdout):en.symlink("/dev/tty","/dev/stdout"),r.stderr?en.createDevice("/dev","stderr",null,r.stderr):en.symlink("/dev/tty1","/dev/stderr"),en.open("/dev/stdin",0),en.open("/dev/stdout",1),en.open("/dev/stderr",1)},ensureErrnoError:()=>{en.ErrnoError||(en.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},en.ErrnoError.prototype=Error(),en.ErrnoError.prototype.constructor=en.ErrnoError,[44].forEach(e=>{en.genericErrors[e]=new en.ErrnoError(e),en.genericErrors[e].stack=""}))},staticInit:()=>{en.ensureErrnoError(),en.nameTable=Array(4096),en.mount(et,{},"/"),en.createDefaultDirectories(),en.createDefaultDevices(),en.createSpecialDirectories(),en.filesystems={MEMFS:et}},init:(e,t,n)=>{en.init.initialized=!0,en.ensureErrnoError(),r.stdin=e||r.stdin,r.stdout=t||r.stdout,r.stderr=n||r.stderr,en.createStandardStreams()},quit:()=>{en.init.initialized=!1,ev(0);for(var e=0;e{var t=0;return e&&(t|=365),r&&(t|=146),t},findObject:(e,r)=>{var t=en.analyzePath(e,r);return t.exists?t.object:null},analyzePath:(e,r)=>{try{var t=en.lookupPath(e,{follow:!r});e=t.path}catch(e){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var t=en.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=t.path,n.parentObject=t.node,n.name=Z.basename(e),t=en.lookupPath(e,{follow:!r}),n.exists=!0,n.path=t.path,n.object=t.node,n.name=t.node.name,n.isRoot="/"===t.path}catch(e){n.error=e.errno}return n},createPath:(e,r,t,n)=>{e="string"==typeof e?e:en.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var i=Z.join2(e,a);try{en.mkdir(i)}catch(e){}e=i}}return i},createFile:(e,r,t,n,o)=>{var a=Z.join2("string"==typeof e?e:en.getPath(e),r),i=en.getMode(n,o);return en.create(a,i)},createDataFile:(e,r,t,n,o,a)=>{var i=r;e&&(e="string"==typeof e?e:en.getPath(e),i=r?Z.join2(e,r):e);var s=en.getMode(n,o),u=en.create(i,s);if(t){if("string"==typeof t){for(var l=Array(t.length),c=0,d=t.length;c{var o=Z.join2("string"==typeof e?e:en.getPath(e),r),a=en.getMode(!!t,!!n);en.createDevice.major||(en.createDevice.major=64);var i=en.makedev(en.createDevice.major++,0);return en.registerDevice(i,{open:e=>{e.seekable=!1},close:e=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(e,r,n,o,a)=>{for(var i,s=0,u=0;u{for(var i=0;i{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw 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(a)try{e.contents=ee(a(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new en.ErrnoError(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile:(e,r,t,n,o)=>{function a(){this.lengthKnown=!1,this.chunks=[]}if(a.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]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e,r=new XMLHttpRequest;if(r.open("HEAD",t,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw Error("Couldn't load "+t+". Status: "+r.status);var n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=(e,r)=>{if(e>r)throw Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+e+"-"+r),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 Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):ee(o.responseText||"",!0)},u=this;u.setDataGetter(e=>{var r=e*i,t=(e+1)*i-1;if(t=Math.min(t,n-1),void 0===u.chunks[e]&&(u.chunks[e]=s(r,t)),void 0===u.chunks[e])throw Error("doXHR failed!");return u.chunks[e]}),(a||!n)&&(i=n=1,i=n=this.getter(0).length,D("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){var i;throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"}var i={isDevice:!1,url:t},s=en.createFile(e,r,i,n,o);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s{var r=s.stream_ops[e];u[e]=function(){return en.forceLoadFile(s),r.apply(null,arguments)}}),u.read=(e,r,t,n,o)=>(en.forceLoadFile(s),l(e,r,t,n,o)),u.mmap=(e,r,t,n,o)=>{en.forceLoadFile(s);var a=void G();if(!a)throw new en.ErrnoError(48);return l(e,d,a,r,t),{ptr:a,allocated:!0}},s.stream_ops=u,s},createPreloadedFile:(e,r,t,n,o,a,s,u,l,c)=>{var d,f,m=r?Q.resolve(Z.join2(e,r)):e,h="cp "+m;function p(t){function i(t){c&&c(),u||en.createDataFile(e,r,t,n,o,l),a&&a(),Y(h)}Browser.handledByPreloadPlugin(t,m,i,()=>{s&&s(),Y(h)})||i(t)}q(h),"string"==typeof t?(d=e=>p(e),f="al "+t,i(t,e=>{var r;r='Loading data file "'+t+'" failed (no arrayBuffer).',e||G(r),d(new Uint8Array(e)),f&&Y(f)},e=>{if(s)s();else throw'Loading data file "'+t+'" failed.'}),f&&q(f)):p(t)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,r=()=>{},t=()=>{})=>{var n=en.indexedDB();try{var o=n.open(en.DB_NAME(),en.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=()=>{D("creating db"),o.result.createObjectStore(en.DB_STORE_NAME)},o.onsuccess=()=>{var n=o.result.transaction([en.DB_STORE_NAME],"readwrite"),a=n.objectStore(en.DB_STORE_NAME),i=0,s=0,u=e.length;function l(){0==s?r():t()}e.forEach(e=>{var r=a.put(en.analyzePath(e).object.contents,e);r.onsuccess=()=>{++i+s==u&&l()},r.onerror=()=>{i+ ++s==u&&l()}}),n.onerror=t},o.onerror=t},loadFilesFromDB:(e,r=()=>{},t=()=>{})=>{var n=en.indexedDB();try{var o=n.open(en.DB_NAME(),en.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=t,o.onsuccess=()=>{var n=o.result;try{var a=n.transaction([en.DB_STORE_NAME],"readonly")}catch(e){t(e);return}var i=a.objectStore(en.DB_STORE_NAME),s=0,u=0,l=e.length;function c(){0==u?r():t()}e.forEach(e=>{var r=i.get(e);r.onsuccess=()=>{en.analyzePath(e).exists&&en.unlink(e),en.createDataFile(Z.dirname(e),Z.basename(e),r.result,!0,!0,!0),++s+u==l&&c()},r.onerror=()=>{s+ ++u==l&&c()}}),a.onerror=t},o.onerror=t}},eo={DEFAULT_POLLMASK:5,calculateAt:function(e,r,t){if(Z.isAbs(r))return r;if(-100===e)n=en.cwd();else{var n;n=eo.getStreamFromFD(e).path}if(0==r.length){if(!t)throw new en.ErrnoError(44);return n}return Z.join2(n,r)},doStat:function(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&Z.normalize(r)!==Z.normalize(en.getPath(e.node)))return -54;throw e}h[t>>2]=n.dev,h[t+8>>2]=n.ino,h[t+12>>2]=n.mode,p[t+16>>2]=n.nlink,h[t+20>>2]=n.uid,h[t+24>>2]=n.gid,h[t+28>>2]=n.rdev,g=[n.size>>>0,+Math.abs(w=n.size)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+40>>2]=g[0],h[t+44>>2]=g[1],h[t+48>>2]=4096,h[t+52>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return g=[Math.floor(o/1e3)>>>0,+Math.abs(w=Math.floor(o/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+56>>2]=g[0],h[t+60>>2]=g[1],p[t+64>>2]=o%1e3*1e3,g=[Math.floor(a/1e3)>>>0,+Math.abs(w=Math.floor(a/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+72>>2]=g[0],h[t+76>>2]=g[1],p[t+80>>2]=a%1e3*1e3,g=[Math.floor(i/1e3)>>>0,+Math.abs(w=Math.floor(i/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+88>>2]=g[0],h[t+92>>2]=g[1],p[t+96>>2]=i%1e3*1e3,g=[n.ino>>>0,+Math.abs(w=n.ino)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+104>>2]=g[0],h[t+108>>2]=g[1],0},doMsync:function(e,r,t,n,o){if(!en.isFile(r.node.mode))throw new en.ErrnoError(43);if(2&n)return 0;var a=f.slice(e,e+t);en.msync(r,a,o,t,n)},varargs:void 0,get:function(){return eo.varargs+=4,h[eo.varargs-4>>2]},getStr:function(e){return function(e,r){if(!e)return"";for(var t=e+void 0,n=e;!(n>=t)&&f[n];)++n;return A.decode(f.subarray(e,n))}(e)},getStreamFromFD:function(e){var r=en.getStream(e);if(!r)throw new en.ErrnoError(8);return r}},ea={};function ei(){if(!ei.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:b||"./this.program"};for(var r in ea)void 0===ea[r]?delete e[r]:e[r]=ea[r];var t=[];for(var r in e)t.push(r+"="+e[r]);ei.strings=t}return ei.strings}function es(e,t){c=e,M||L>0||(eg(),J(O),en.quit(),er.shutdown(),I=!0),c=e,M||L>0||(r.onExit&&r.onExit(e),P=!0),k(e,new $(e))}function eu(e){if(e instanceof $||"unwind"==e)return c;k(1,e)}function el(e){try{return e()}catch(e){G(e)}}var ec={instrumentWasmImports:function(e){var r=["invoke_*","emscripten_sleep","emscripten_wget","emscripten_wget_data","emscripten_idb_load","emscripten_idb_store","emscripten_idb_delete","emscripten_idb_exists","emscripten_idb_load_blob","emscripten_idb_store_blob","SDL_Delay","emscripten_scan_registers","emscripten_lazy_load_code","emscripten_fiber_swap","__load_secondary_module","fd_sync","__wasi_fd_sync","_emval_await","_dlopen_js","__asyncjs__*"];for(var t in e)!function(t){var n=e[t];n.sig,"function"==typeof n&&(r.indexOf(t)>=0||t.startsWith("__asyncjs__"))}(t)},instrumentWasmExports:function(e){var r={};for(var t in e)!function(t){var n=e[t];"function"==typeof n?r[t]=function(){ec.exportCallStack.push(t);try{return n.apply(null,arguments)}finally{P||(ec.exportCallStack.pop()===t||G(void 0),ec.maybeStopUnwind())}}:r[t]=n}(t);return r},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:8192,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId:function(e){var r=ec.callStackNameToId[e];return void 0===r&&(r=ec.callStackId++,ec.callStackNameToId[e]=r,ec.callStackIdToName[r]=e),r},maybeStopUnwind:function(){ec.currData&&ec.state===ec.State.Unwinding&&0===ec.exportCallStack.length&&(ec.state=ec.State.Normal,L+=1,el(eN),"undefined"!=typeof Fibers&&Fibers.trampoline())},whenDone:function(){return new Promise((e,r)=>{ec.asyncPromiseHandlers={resolve:e,reject:r}})},allocateData:function(){var e=eh(12+ec.StackSize);return ec.setDataHeader(e,e+12,ec.StackSize),ec.setDataRewindFunc(e),e},setDataHeader:function(e,r,t){h[e>>2]=r,h[e+4>>2]=r+t},setDataRewindFunc:function(e){var r=ec.exportCallStack[0],t=ec.getCallStackId(r);h[e+8>>2]=t},getDataRewindFunc:function(e){var t=h[e+8>>2],n=ec.callStackIdToName[t];return r.asm[n]},doRewind:function(e){var r=ec.getDataRewindFunc(e);return L-=1,r()},handleSleep:function(e){if(!P){if(ec.state===ec.State.Normal){var r=!1,t=!1;e((e=0)=>{if(!P&&(ec.handleSleepReturnValue=e,r=!0,t)){ec.state=ec.State.Rewinding,el(()=>ez(ec.currData)),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.resume();var n,o=!1;try{n=ec.doRewind(ec.currData)}catch(e){n=e,o=!0}var a=!1;if(!ec.currData){var i=ec.asyncPromiseHandlers;i&&(ec.asyncPromiseHandlers=null,(o?i.reject:i.resolve)(n),a=!0)}if(o&&!a)throw n}}),t=!0,r||(ec.state=ec.State.Unwinding,ec.currData=ec.allocateData(),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.pause(),el(()=>eT(ec.currData)))}else ec.state===ec.State.Rewinding?(ec.state=ec.State.Normal,el(eB),em(ec.currData),ec.currData=null,ec.sleepCallbacks.forEach(e=>(function(e){if(!I&&!P)try{e(),function(){if(!(M||L>0))try{es(c)}catch(e){eu(e)}}()}catch(e){eu(e)}})(e))):G("invalid state: "+ec.state);return ec.handleSleepReturnValue}},handleAsync:function(e){return ec.handleSleep(r=>{e().then(r)})}},ed=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=en.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n};Object.defineProperties(ed.prototype,{read:{get:function(){return(365&this.mode)==365},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return(146&this.mode)==146},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return en.isDir(this.mode)}},isDevice:{get:function(){return en.isChrdev(this.mode)}}}),en.FSNode=ed,en.staticInit();var ef={s:function(e,t){return ec.handleAsync(async()=>{r.emglken_stdin_buffers.length||await new Promise(e=>{r.emglken_stdin_ready=e});let n=r.emglken_stdin_buffers.shift(),o=Math.min(n.length,t);return o==n.length?f.set(n,e):(f.set(n.subarray(0,o),e),r.emglken_stdin_buffers.unshift(n.subarray(o))),o})},D:function(e,r,t,n){try{if(r=eo.getStr(r),r=eo.calculateAt(e,r),-8&t)return -28;var o=en.lookupPath(r,{follow:!0}).node;if(!o)return -44;var a="";if(4&t&&(a+="r"),2&t&&(a+="w"),1&t&&(a+="x"),a&&en.nodePermissions(o,a))return -2;return 0}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return-e.errno}},n:function(e,r,t){eo.varargs=t;try{var n=eo.getStreamFromFD(e);switch(r){case 0:var o=eo.get();if(o<0)return -28;return en.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=eo.get();return n.flags|=o,0;case 5:var o=eo.get();return m[o+0>>1]=2,0;case 16:case 8:default:return -28;case 9:return h[ew()>>2]=28,-1}}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return-e.errno}},C:function(e,r){try{if(0===r)return -28;var t=en.cwd(),n=C(t)+1;if(r>2]=0,0;case 21520:if(!n.tty)return -59;return -28;case 21531:var o=eo.get();return en.ioctl(n,r,o);default:return -28}}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return-e.errno}},A:function(e,r,t,n){eo.varargs=n;try{r=eo.getStr(r),r=eo.calculateAt(e,r);var o=n?eo.get():0;return en.open(r,t,o).fd}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return-e.errno}},z:function(e,r){try{return e=eo.getStr(e),eo.doStat(en.stat,e,r)}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return-e.errno}},v:function(){return!0},u:function(){throw 1/0},t:function(){G("")},k:function(){return Date.now()},r:function(e,r,t){f.copyWithin(e,r,r+t)},q:function(e){var r=f.length;if((e>>>=0)>2147483648)return!1;let t=(e,r)=>e+(r-e%r)%r;for(var n=1;n<=4;n*=2){var o=r*(1+.2/n);if(o=Math.min(o,e+100663296),function(e){var r=l.buffer;try{return l.grow(e-r.byteLength+65535>>>16),T(),1}catch(e){}}(Math.min(2147483648,t(Math.max(e,o),65536))))return!0}return!1},y:function(e,r){var t=0;return ei().forEach(function(n,o){var a=r+t;p[e+4*o>>2]=a,function(e,r,t){for(var n=0;n>0]=e.charCodeAt(n);d[r>>0]=0}(n,a),t+=n.length+1}),0},x:function(e,r){var t=ei();p[e>>2]=t.length;var n=0;return t.forEach(function(e){n+=e.length+1}),p[r>>2]=n,0},i:es,m:function(e){try{var r=eo.getStreamFromFD(e);return en.close(r),0}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return e.errno}},w:function(e,r,t,n){try{var o=eo.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=en.read(e,d,i,s,n);if(u<0)return -1;if(o+=u,u>2]=a,0}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return e.errno}},p:function(e,r,t,n,o){try{var a=t+2097152>>>0<4194305-!!r?(r>>>0)+4294967296*t:NaN;if(isNaN(a))return 61;var i=eo.getStreamFromFD(e);return en.llseek(i,a,n),g=[i.position>>>0,(w=i.position,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],h[o>>2]=g[0],h[o+4>>2]=g[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return e.errno}},l:function(e,r,t,n){try{var o=eo.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=en.write(e,d,i,s,n);if(u<0)return -1;o+=u,void 0!==n&&(n+=u)}return o}(o,r,t);return p[n>>2]=a,0}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return e.errno}},c:function(e){var r=ey();try{return eM(e)}catch(e){if(eE(r),e!==e+0)throw e;e_(1,0)}},g:function(e,r){var t=ey();try{return eD(e,r)}catch(e){if(eE(t),e!==e+0)throw e;e_(1,0)}},f:function(e,r,t,n){var o=ey();try{return eS(e,r,t,n)}catch(e){if(eE(o),e!==e+0)throw e;e_(1,0)}},d:function(e,r,t,n,o){var a=ey();try{return eA(e,r,t,n,o)}catch(e){if(eE(a),e!==e+0)throw e;e_(1,0)}},o:function(e,r){var t=ey();try{return eC(e,r)}catch(e){if(eE(t),e!==e+0)throw e;e_(1,0)}},j:function(e){var r=ey();try{eP(e)}catch(e){if(eE(r),e!==e+0)throw e;e_(1,0)}},b:function(e,r){var t=ey();try{ek(e,r)}catch(e){if(eE(t),e!==e+0)throw e;e_(1,0)}},a:function(e,r,t){var n=ey();try{eF(e,r,t)}catch(e){if(eE(n),e!==e+0)throw e;e_(1,0)}},h:function(e,r,t,n){var o=ey();try{ex(e,r,t,n)}catch(e){if(eE(o),e!==e+0)throw e;e_(1,0)}},e:function(e,r,t,n,o){var a=ey();try{eR(e,r,t,n,o)}catch(e){if(eE(a),e!==e+0)throw e;e_(1,0)}}};!function(){var e,t,n,a={a:ef};function i(e,t){var n,o=e.exports;return o=ec.instrumentWasmExports(o),r.asm=o,l=r.asm.E,T(),r.asm.N,n=r.asm.F,z.unshift(n),Y("wasm-instantiate"),o}if(q("wasm-instantiate"),r.instantiateWasm)try{return r.instantiateWasm(a,i)}catch(e){F("Module.instantiateWasm callback failed with error: "+e),o(e)}(e=u,t=v,n=function(e){i(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||V(t)||"function"!=typeof fetch?K(t,a,n):fetch(t,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,a).then(n,function(e){return F("wasm streaming compile failed: "+e),F("falling back to ArrayBuffer instantiation"),K(t,a,n)})})).catch(o)}();var em=function(){return(em=r.asm.G).apply(null,arguments)},eh=function(){return(eh=r.asm.H).apply(null,arguments)},ep=r._main=function(){return(ep=r._main=r.asm.I).apply(null,arguments)},ev=(r._gidispatch_get_game_id=function(){return(r._gidispatch_get_game_id=r.asm.J).apply(null,arguments)},r._fflush=function(){return(ev=r._fflush=r.asm.K).apply(null,arguments)}),ew=function(){return(ew=r.asm.L).apply(null,arguments)},eg=function(){return(eg=r.asm.M).apply(null,arguments)},e_=function(){return(e_=r.asm.O).apply(null,arguments)},ey=function(){return(ey=r.asm.P).apply(null,arguments)},eE=function(){return(eE=r.asm.Q).apply(null,arguments)},eb=function(){return(eb=r.asm.R).apply(null,arguments)},ek=r.dynCall_vi=function(){return(ek=r.dynCall_vi=r.asm.S).apply(null,arguments)},eS=r.dynCall_iiii=function(){return(eS=r.dynCall_iiii=r.asm.T).apply(null,arguments)},eD=r.dynCall_ii=function(){return(eD=r.dynCall_ii=r.asm.U).apply(null,arguments)},eF=r.dynCall_vii=function(){return(eF=r.dynCall_vii=r.asm.V).apply(null,arguments)},eM=r.dynCall_i=function(){return(eM=r.dynCall_i=r.asm.W).apply(null,arguments)},eP=r.dynCall_v=function(){return(eP=r.dynCall_v=r.asm.X).apply(null,arguments)},eA=r.dynCall_iiiii=function(){return(eA=r.dynCall_iiiii=r.asm.Y).apply(null,arguments)},ex=r.dynCall_viii=function(){return(ex=r.dynCall_viii=r.asm.Z).apply(null,arguments)},eR=r.dynCall_viiii=function(){return(eR=r.dynCall_viiii=r.asm._).apply(null,arguments)},eC=r.dynCall_ji=function(){return(eC=r.dynCall_ji=r.asm.$).apply(null,arguments)},eT=function(){return(eT=r.asm.aa).apply(null,arguments)},eN=function(){return(eN=r.asm.ba).apply(null,arguments)},ez=function(){return(ez=r.asm.ca).apply(null,arguments)},eB=function(){return(eB=r.asm.da).apply(null,arguments)};function eO(e=E){!(U>0)&&(!function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;){var e;e=r.preRun.shift(),N.unshift(e)}J(N)}(),U>0||(r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),t()},1)):t()));function t(){!_&&(_=!0,r.calledRun=!0,P||(r.noFSInit||en.init.initialized||en.init(),en.ignorePermissions=!1,er.init(),J(z),J(B),n(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),ej&&function(e=[]){var r=ep;e.unshift(b);var t=e.length,n=eb((t+1)*4),o=n>>2;e.forEach(e=>{var r,t;h[o++]=(t=eb(r=C(e)+1),R(e,d,t,r),t)}),h[o]=0;try{var a=r(t,n);es(a,!0)}catch(e){return eu(e)}}(e),function(){if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;){var e;e=r.postRun.shift(),j.unshift(e)}J(j)}()))}}if(r.___start_em_js=107504,r.___stop_em_js=110189,r.AsciiToString=function(e){for(var r="";;){var t=f[e++>>0];if(!t)return r;r+=String.fromCharCode(t)}},r.FS=en,W=function e(){_||eO(),_||(W=e)},r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();var ej=!0;return r.noInitialRun&&(ej=!1),eO(),r.ready}})();const rD=[{id:"bocfel",extensions:/z([3458]|blorb)$/,engine:class extends rh{default_options(){return{vmcore:rv}}}},{id:"git",extensions:/(gblorb|ulx)$/,engine:class extends rh{default_options(){return{vmcore:rg}}}},{id:"hugo",extensions:/hex$/,engine:class extends rh{default_options(){return{vmcore:ry}}}},{id:"scare",extensions:/taf$/,engine:class extends rh{default_options(){return{vmcore:rS}}}},{id:"tads",extensions:/(gam|t3)$/,engine:class extends rh{default_options(){return{vmcore:rb}}}}],rF=e=>{let r=rD.find(r=>r.extensions.test(e));if(r)return{...r,wasmBinaryName:`emglken/${r.id}-core.wasm`};throw Error("Unsupported file type")};var rM=class{constructor(e,r){this.streaming=!1,this.handlers=e,this.loggers=r}file_ref_exists({usage:e}){return"save"===e}file_remove_ref(){return!0}file_construct_ref(e,r){return{filename:e,usage:r||""}}file_read(e,r){return this.handlers.onFileRead(e,r)}file_write(e,r,t){0!==r.length&&this.handlers.onFileWrite(e,r,t)}open(e,r,t,n){this.handlers.onFileNameRequest(e,r,t,n)}log(e){this.loggers.log(e)}warning(e){this.loggers.warn(e)}error(e){this.loggers.error(e)}},rP=class{constructor({width:e,height:r}){this.width=e,this.height=r,this.current_metrics=null,this.disabled=!1,this.generation=0,this.interface=null,this.version="0.5.1"}measure_window(){return{width:this.width,height:this.height,buffercharheight:1,buffercharwidth:1,buffermarginx:0,buffermarginy:0,graphicsmarginx:0,graphicsmarginy:0,gridcharheight:1,gridcharwidth:1,gridmarginx:0,gridmarginy:0,inspacingx:0,inspacingy:0,outspacingx:0,outspacingy:0}}getinterface(){return this.interface}init(e){e||this.error("No game interface object has been provided."),e.accept||this.error("The game interface object must have an accept() function."),this.interface=e,this.current_metrics=this.measure_window(),this.send_response("init",null,this.current_metrics)}update(e){if("error"===e.type&&this.error(e.message),"pass"!==e.type){if("update"!==e.type&&"exit"!==e.type){this.log(`Ignoring unknown message type: ${e.type}`);return}if(e.gen===this.generation){this.log(`Ignoring repeated generation number: ${e.gen}`);return}if(e.genthis.send_response("specialresponse",null,"fileref_prompt",e)):this.error("Request for unknown special input type: "+e.type)}update_content(e){this.handlers.onUpdateContent(e)}exit(){this.handlers.onExit(),super.exit()}cancel_inputs(e){this.handlers.onUpdateInputs(e)}disable(e){this.handlers.onDisable(e)}update_windows(e){this.handlers.onUpdateWindows(e)}log(e){this.loggers.log(e)}warning(e){this.loggers.warn(e)}error(e){this.loggers.error(e)}};const rx=()=>void 0,rR=["onInit","onUpdateWindows","onUpdateInputs","onUpdateContent","onDisable","onFileNameRequest","onFileRead","onFileWrite","onExit"].reduce((e,r)=>(e[r]=rx,e),{}),rC={log:console.log,warning:console.warn,error:console.error},rT={width:80,height:25};var rN=(e,{loggers:r,size:t}={})=>{let n=Object.assign({},rR,e),o=Object.assign({},rC,r),a=Object.assign({},rT,t),i=new rM(n,o),s=new rA(n,o,a),u=s.sendFn.bind(s);return{Dialog:i,GlkOte:s,send:u}},rz={};function rB({style:e,text:r}){let t=eo("span",{className:[rz.message,rz[e]].join(" "),children:r});return({grid:r?.length>0?eo("div",{children:r}):eo("br",{}),input:eo("span",{className:[rz.message,rz.input].join(" "),children:["> ",r]}),subheader:eo("strong",{className:[rz.message,rz.subheader].join(" "),children:r}),emphasized:eo("em",{className:[rz.message,rz.emphasized].join(" "),children:r}),scrollTarget:eo("div",{className:[rz.scrollTarget,e].join(" ")}),endOfLine:eo("br",{})})[e]||t}e(rz,"emphasized",function(){return i},function(e){return i=e}),e(rz,"input",function(){return s},function(e){return s=e}),e(rz,"message",function(){return u},function(e){return u=e}),e(rz,"scrollTarget",function(){return l},function(e){return l=e}),e(rz,"subheader",function(){return c},function(e){return c=e}),i="hBGgUq_emphasized",s="hBGgUq_input",u="hBGgUq_message",l="hBGgUq_scrollTarget",c="hBGgUq_subheader",d="PwGQsW_buffer",f="PwGQsW_gridBuffer";const rO={style:"endOfLine"},rj={style:"scrollTarget"},rI=e=>e.height<5,rL=e=>e.length<1?e:">"===e.slice(-1)[0].text?e.slice(0,e.length-1):e,rU=(e,r)=>{let t=e.find(({id:e})=>e===r.id);if(!t)return{clear:!1,incoming:[rj]};let{text:n}=t,o=n.map(({content:e})=>e?[...rL(e),rO]:[rO]).reduce((e,r)=>e.concat(r),[rj]);return{incoming:o,clear:!!rI(r)||t.clear}};function rH({inbox:e,currentWindow:r}){let[t,n]=eg([]),o=eE(null);return e_(()=>{let{incoming:t,clear:a}=rU(e,r);n(e=>a?t:e.concat(t)),setTimeout(()=>{let e=o.current.querySelectorAll(`.${rj.style}`),r=e[e.length-1];r?r.scrollIntoView():o.current.scrollTo({top:o.current.scrollHeight,behavior:"smooth"})},0)},[r,e]),eo("section",{tabindex:"0",ref:o,className:[d,rI(r)?f:"PwGQsW_textBuffer"].join(" "),children:t.map(rB)})}function rW({inbox:e,currentWindow:r}){let[t,n]=eg([]),[o,a]=eg([]);return e_(()=>{let o=e.find(({id:e})=>e===r.id),i=o?.lines??[],s=Array(r.gridheight).fill(null).map((e,r)=>r).map(e=>{let r=(e,r)=>e.find(({line:e})=>e===r);return r(i,e)||r(t,e)});((e,r)=>{let t=JSON.stringify;return t(e)!==t(r)})(s,t)&&n(s);let u=s.map(e=>e.content).flat().map(e=>({...e,text:e.text.trim()})),l=u.map(({text:e})=>e.length).every(e=>0===e),c=({style:e})=>["alert","normal"].includes(e)?"grid":e||"grid",d=u.map(e=>({style:c(e),text:e.text.replace(" "," / ")}));a(l?[]:d)},[e,r,t]),eo("section",{className:[d,f].join(" "),children:o.map(rB)})}function rq({onClick:e}){return eo("button",{"aria-label":"Menu",className:"gUkI1a_menuButton",onClick:e,children:eo("svg",{class:"gUkI1a_menuIcon",viewBox:"0 0 28 32",xmlns:"http://www.w3.org/2000/svg",children:[eo("rect",{x:"12",y:"4",width:"4",height:"4"}),eo("rect",{x:"12",y:"14",width:"4",height:"4"}),eo("rect",{x:"12",y:"24",width:"4",height:"4"})]})})}const rY={KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_PAGEUP:33,KEY_PAGEDOWN:34,KEY_END:35,KEY_HOME:36,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40},rG={[rY.KEY_BACKSPACE]:"delete",[rY.KEY_TAB]:"tab",[rY.KEY_RETURN]:"return",[rY.KEY_ESC]:"escape",[rY.KEY_PAGEUP]:"pageup",[rY.KEY_PAGEDOWN]:"pagedown",[rY.KEY_END]:"end",[rY.KEY_HOME]:"home",[rY.KEY_LEFT]:"left",[rY.KEY_UP]:"up",[rY.KEY_RIGHT]:"right",[rY.KEY_DOWN]:"down"},rV=e=>{let r=[e.altKey,e.ctrlKey,e.metaKey,e.shiftKey];return r.some(e=>!0===e)};function rX({inputType:e,windows:r,currentWindowId:t,sendMessage:n,onFullscreenRequest:o,setMenuOpen:a}){let[i,s]=eg(null),[u,l]=eg(""),[c,d]=eg(""),f=eE(null);e_(()=>{let e=()=>{f.current&&f.current.focus()};return l(""),e(),document.addEventListener("fullscreenchange",e),()=>document.removeEventListener("fullscreenchange",e)},[e]),e_(()=>{s(r.find(({id:e})=>e===t))},[t,r]);let m=r=>{n(r,e,i),d(r),l("")},h=e=>{if(rV(e))return;e.preventDefault();let r=rG[e.keyCode]||e.key;m(r)},p=e=>setTimeout(()=>{m(e.target.value.slice(-1).toUpperCase()),l("")});return eo("section",{className:"LdLucW_inputControls",children:[eo("input",{...{char:{maxlength:"1",placeholder:"Press any key here",onKeyDown:e=>(229===e.keyCode?p:h)(e)},line:{placeholder:" > ",onKeyDown:({keyCode:e})=>{e===rY.KEY_UP&&(l(c),setTimeout(()=>{let e=c.length;f.current.setSelectionRange(e,e)},0)),e===rY.KEY_DOWN&&l("")},onKeyPress:({keyCode:e,target:{value:r}})=>{e===rY.KEY_RETURN&&m(r)}},finished:{placeholder:"The program has finished",disabled:!0}}[e],className:"LdLucW_inputBox",ref:f,value:u,autofocus:!0,autocomplete:"off",spellCheck:"false",autocapitalize:"off",autocorrect:"off",onDblClick:o,onInput:({target:{value:e}})=>l(e),type:"search"}),eo(rq,{onClick:()=>a(!0)})]})}m="zi213q_status";const rK=e=>eo("div",{className:[m].join(" "),children:[eo("h1",{children:"Error"}),e.map(e=>eo("p",{children:e},e)),eo("hr",{}),eo(eQ,{href:"/",children:"Home"}),"|",eo("a",{target:"_blank",rel:"noopener noreferrer",href:"https://github.com/He4eT/elseifplayer/issues",children:"Report bug"})]}),r$=e=>eo("div",{className:[m,"zi213q_loading"].join(" "),children:e.map(e=>eo("div",{children:e},e))});var rJ=({stage:e,details:r})=>({fail:rK,loading:r$})[e](r);const rZ={},rQ={};["ҠҿԀԟڀڿݠޟ߀ߟကဟႠႿᄀᅟᆀᆟᇠሿበቿዠዿጠጿᎠᏟᐠᙟᚠᛟកសᠠᡟᣀᣟᦀᦟ᧠᧿ᨠᨿᯀᯟᰀᰟᴀᴟ⇠⇿⋀⋟⍀⏟␀␟─❟➀➿⠀⥿⦠⦿⨠⩟⪀⪿⫠⭟ⰀⰟⲀⳟⴀⴟⵀⵟ⺠⻟㇀㇟㐀䶟䷀龿ꀀꑿ꒠꒿ꔀꗿꙀꙟꚠꛟ꜀ꝟꞀꞟꡀꡟ","ƀƟɀʟ"].forEach((e,r)=>{let t=[];e.match(/../gu).forEach(e=>{let r=e.codePointAt(0),n=e.codePointAt(1);for(let e=r;e<=n;e++)t.push(String.fromCodePoint(e))});let n=15-8*r;rZ[n]=t,t.forEach((e,r)=>{rQ[e]=[n,r]})});const r0=e=>{let r=e.length,t="",n=0,o=0;for(let a=0;a=0;e--){let a=r>>e&1;n=(n<<1)+a,15==++o&&(t+=rZ[o][n],n=0,o=0)}}if(0!==o){for(;!(o in rZ);)n=(n<<1)+1,o++;t+=rZ[o][n]}return t},r1=e=>{let r=e.length,t=new Uint8Array(Math.floor(15*r/8)),n=0,o=0,a=0;for(let i=0;i=0;e--){let r=l>>e&1;o=(o<<1)+r,8==++a&&(t[n]=o,n++,o=0,a=0)}}if(o!==(1<({onInit:()=>{e({stage:"ready"})},onUpdateWindows:e=>{r(e)},onUpdateInputs:e=>{if(0===e.length)return null;let{type:r,id:o}=e[0];t(o),n(r)},onUpdateContent:e=>{o(e)},onDisable:()=>{n(null)},onFileNameRequest:(e,r,t,n)=>{n({usage:r,filename:prompt("Enter the filename")})},onFileRead:({filename:e})=>{let r=localStorage.getItem(`fake-fs/${e}`);return r1(r)},onFileWrite:({filename:e},r)=>{localStorage.setItem(`fake-fs/${e}`,r0(r))},onExit:()=>{n("finished")}}),r4=e=>r=>{"ExitStatus"===r.reason.name||"Program terminated with exit(0)"===r.reason.message?e():console.error("Unhandled rejection (promise: ",r.promise,", reason: ",r.reason,")."),r.preventDefault()},r6={stage:"loading",details:["Preparing"]},r3=({engine:e,wasmBinary:r,storyfile:t,handlers:n})=>{let{Dialog:o,GlkOte:a,send:i}=rN(n),s=new e;return s.init(t,{Dialog:o,GlkOte:a,Glk:{},wasmBinary:r,arguments:["storyfile"]}),s.start(),{send:i,instance:s}};function r9({vmParts:{storyfile:e,engine:r,wasmBinary:t},onFullscreenRequest:n,setMenuOpen:o,singleWindow:a}){let[i,s]=eg(r6),[u,l]=eg([]),[c,d]=eg(null),[f,m]=eg(null),[h,p]=eg([]),[v,w]=eg(null),[g,_]=eg(null);return e_(()=>{let n=r2({setStatus:s,setWindows:l,setCurrentWindowId:d,setInputType:m,setInbox:p});w(r3({engine:r,wasmBinary:t,storyfile:e,handlers:n}));let o=r4(n.onExit);return window.addEventListener("unhandledrejection",o),()=>{w(null),window.removeEventListener("unhandledrejection",o)}},[e,r,t]),e_(()=>(_(()=>v?v.send:null),()=>_(null)),[v]),"ready"!==i.stage?eo(rJ,{...i}):eo("section",{className:"PwGQsW_elseifplayer",children:[eo("section",{className:"PwGQsW_output",children:u.sort((e,r)=>e.top-r.top).filter(a?({id:e})=>e===c:()=>!0).map(e=>{let r={inbox:h,currentWindow:e};return({buffer:eo(rH,{...r}),grid:eo(rW,{...r})})[e.type]})}),eo(rX,{inputType:f,windows:u,currentWindowId:c,sendMessage:g,onFullscreenRequest:n,setMenuOpen:o})]})}const r8={stage:"loading",details:["Loading"]},r5=({url:e,setStatus:r,setParts:t})=>{let n=(e,t)=>n=>(r({stage:e,details:[t]}),n),o=e=>fetch(e).then(e=>e.arrayBuffer());return Promise.resolve(e).then(n("loading","Downloading file")).then(e=>e.startsWith("blob:")?e.replace(/#(.*)$/g,""):e).then(fetch).then(e=>{if(e.ok)return e;throw Error(e.statusText)}).then(n("loading","Processing file")).then(e=>e.arrayBuffer()).then(e=>new Uint8Array(e)).then(n("loading","Downloading engine")).then(r=>{let t=rF(e);return[r,t.engine,t.wasmBinaryName]}).then(([e,r,t])=>Promise.all([e,r,o(t)])).then(([e,r,n])=>t({storyfile:e,engine:r,wasmBinary:n})).then(n("loading","Running")).catch(t=>{console.error(t),r({stage:"fail",details:[t.message,e]})})};function r7({url:e,singleWindow:r,onFullscreenRequest:t,setMenuOpen:n}){let[o,a]=eg(r8),[i,s]=eg(null);return e_(()=>(a(r8),s(null),r5({url:e,setStatus:a,setParts:s}),()=>s(null)),[e]),i?eo(r9,{vmParts:i,onFullscreenRequest:t,setMenuOpen:n,singleWindow:r}):eo(rJ,{...o})}function te({themeEngine:e,onFullscreenRequest:r,menuOpen:t,setMenuOpen:n}){let o=eE(null);return e_(()=>{let e=o.current.open;t&&!e&&o.current.showModal(),!t&&e&&o.current.close()},[t]),e_(()=>{let e=o.current,r=()=>{n(!1)};return e.addEventListener("close",r),()=>e.removeEventListener("close",r)},[o,n]),eo("dialog",{ref:o,className:"J9zJZG_menu",children:eo("section",{children:[eo("div",{children:eo("button",{tabIndex:0,onClick:()=>o.current.close(),children:"Close this menu"})}),eo("div",{className:"J9zJZG_appearance",children:[eo("button",{onClick:()=>{o.current.close(),r()},children:"Full screen"}),eo("button",{onClick:()=>e.setRandomTheme(),children:"Set a random theme"}),eo("label",{children:["Current theme:",eo(ro,{themeEngine:e})]})]}),eo("div",{className:"J9zJZG_navigation",children:eo(eQ,{href:"/",tabIndex:0,children:"ElseIfPlayer"})})]})})}const tr=e=>decodeURIComponent(e);function tt({theme:e,themeEngine:r,encodedUrl:t,singleWindow:n}){e_(()=>{r.setTheme(e)},[e,r]);let[o,a]=eg(tr(t));e_(()=>{a(tr(t))},[t]);let[i,s]=eg(!1),u=()=>{document.documentElement.requestFullscreen()};return eo("main",{children:[eo(te,{themeEngine:r,onFullscreenRequest:u,menuOpen:i,setMenuOpen:s}),eo(r7,{url:o,onFullscreenRequest:u,setMenuOpen:s,singleWindow:n})]})}function tn(){return eo("main",{children:eo(rJ,{stage:"fail",details:["404","Page Not Found"]})})}var to={};e(to,"app",function(){return h},function(e){return h=e}),e(to,"focus",function(){return p},function(e){return p=e}),e(to,"games",function(){return v},function(e){return v=e}),e(to,"home",function(){return w},function(e){return w=e}),e(to,"play",function(){return g},function(e){return g=e}),e(to,"themes",function(){return _},function(e){return _=e}),h="X8uEDW_app",p="X8uEDW_focus",v="X8uEDW_games",w="X8uEDW_home",g="X8uEDW_play",_="X8uEDW_themes",function(e,r,t){var n,o,a;D.__&&D.__(e,r),o=(n="function"==typeof t)?null:t&&t.__k||r.__k,a=[],Z(r,e=(!n&&t||r).__k=I(U,null,[e]),o||T,T,void 0!==r.ownerSVGElement,!n&&t?[t]:o?null:r.firstChild?S.call(r.childNodes):null,a,!n&&t?t:o?o.__e:r.firstChild,n),Q(a,e)}(eo(function(){let e=rr(),[r]=e3(),t=(e,r)=>function(t){return eo(tt,{themeEngine:e,singleWindow:r,...t})};return eo(eJ,{hook:e3,children:eo("div",{className:[to.app,to[e6(r)],e.currentTheme].join(" "),children:eo(e1,{children:[eo(eZ,{path:"/",children:eo(ra,{themeEngine:e})}),eo(eZ,{path:"/games/",children:eo(rl,{})}),eo(eZ,{path:"/themes/",children:eo(rd,{themeEngine:e})}),eo(eZ,{path:"/play/:encodedUrl",children:t(e,!1)}),eo(eZ,{path:"/play/:encodedUrl/:theme",children:t(e,!1)}),eo(eZ,{path:"/focus/:encodedUrl",children:t(e,!0)}),eo(eZ,{path:"/focus/:encodedUrl/:theme",children:t(e,!0)}),eo(eZ,{children:eo(tn,{})})]})})})},{}),document.getElementById("root")); +//# sourceMappingURL=index.4a5edb74.js.map diff --git a/docs/index.4a5edb74.js.map b/docs/index.4a5edb74.js.map new file mode 100644 index 0000000..d4d5713 --- /dev/null +++ b/docs/index.4a5edb74.js.map @@ -0,0 +1 @@ +{"mappings":"A,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,IoCCA,EACA,EACA,EACA,EACA,E4BLA,EACA,EACA,EACA,EACA,ECJA,EAEA,EOCA,EMHA,EACA,EACA,EACA,EACA,EACA,E,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,GzEuBa+I,IAAAA,ECjBPsQ,ECRF2pC,EA6FSI,EC4ETC,EAWAC,EAEEC,EA0BAC,ECjNKn/C,ECFEo/C,EAAY,CAAlB,EACMC,EAAY,EAAA,CACZC,EACZ,oELDY9/C,EAAUD,MAAMC,OA0BhBkF,CAjBN,SAAS6W,EAAOY,CAAAA,CAAKxb,CAAAA,EAE3B,IAAK,IAAIX,KAAKW,EAAOwb,CAAAA,CAAInc,EAAAA,CAAKW,CAAAA,CAAMX,EAAAA,CACpC,OAA6Bmc,CAC7B,CAAA,SAQeojC,EAAWpoC,CAAAA,EAC1B,IAAItX,EAAasX,EAAKtX,UAAtB,AACIA,CAAAA,GAAYA,EAAWC,WAAAA,CAAYqX,EACvC,CEbM,SAAS9P,EAAc3G,CAAAA,CAAMC,CAAAA,CAAOJ,CAAAA,EAC1C,IACCK,EACAC,EACAb,EAHG8+C,EAAkB,CAAA,EAItB,IAAK9+C,KAAKW,EACA,OAALX,EAAYY,EAAMD,CAAAA,CAAMX,EAAAA,CACd,OAALA,EAAYa,EAAMF,CAAAA,CAAMX,EAAAA,CAC5B8+C,CAAAA,CAAgB9+C,EAAAA,CAAKW,CAAAA,CAAMX,EAAAA,CAUjC,GAPIK,UAAUC,MAAAA,CAAS,GACtBw+C,CAAAA,EAAgBv+C,QAAAA,CACfF,UAAUC,MAAAA,CAAS,EAAIoE,EAAMrG,IAAAA,CAAKgC,UAAW,GAAKE,CAAAA,EAKjC,YAAA,OAARG,GAA2C,MAArBA,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OAAO,gBAAA,CAAiB,aAAc,GAC/B,IAAM,OAAO,mBAAA,CAAoB,aAAc,EACxD,EAAG,CAAC,EAAiB,EAAmB,EAExC,IAAM,GF0SoBA,EE1SG,AAAC,IAC5B,OAAO,QAAA,CAAS,IAAA,CAAO,EAAG,OAAA,CAAQ,KAAM,GAC1C,EFySDw4C,GAAc,EACPiC,GAAQ,WAAA,OAAMz6C,CAAN,EE1SX,EAAE,GAEL,MAAO,CAAC,EAAiB,EAAS,AACpC,EEzCa,GAAS,CACpB,QACA,MACA,OAEA,kBACA,iBAEA,MACA,SACA,QACA,QACA,OAGA,QACA,kBACA,QACA,SACA,SACA,SACA,OACA,SACA,QACA,QACA,SACA,QACA,eACA,iBACA,kBACA,YACA,UACA,SACA,UACA,OACA,UACA,SACA,aACA,eACA,aACA,iBACA,QACA,SACA,aACA,aACA,kBACA,YACA,UACA,OACA,eACA,MACA,QACA,OACA,MACA,SACA,OACA,UACA,WACA,WACA,YACA,YACA,WACA,UACA,OACA,YACA,YACA,QACA,eACA,aACA,eACA,cACA,WACA,QACA,aACA,eACA,gBACA,aACA,QACA,QACA,QACA,UACA,QACA,eACA,gBACA,SACA,YACA,WACA,QACA,QACA,WACA,UACA,aACA,OACA,OACA,aACA,QACA,gBACA,WACA,SACA,UACA,YACA,aACA,UACA,QACA,eACA,WACA,YACA,OACA,OACA,eACA,qBACA,aACA,UACA,YACA,WACA,aACA,cACA,QACA,WACA,SACA,eACA,OACA,aACA,QACA,WACA,QACA,SACA,UACA,YACA,QACA,gBACA,SACA,gBACA,UACA,gBACA,QACA,YACA,aACA,cACA,cACA,eACA,QACA,YACA,YACA,iBACA,iBACA,OACA,eACA,SACA,cACA,aACA,mBACA,SACA,QACA,WACA,OACA,gBACA,UACA,UACA,aACA,UACA,YACA,SACA,OACA,WACA,QACA,eACA,WACA,WACA,SACA,cACA,YACA,cACA,MACA,SACA,aACA,QACA,aACD,CD7KK,GAAe,qBACf,GAAgB,AAAA,EAAM,CAAC,EAAE,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","sources":["","src/index.js","node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js","node_modules/preact/jsx-runtime/src/index.js","node_modules/preact/dist/preact.module.js","node_modules/preact/src/util.js","node_modules/preact/src/options.js","node_modules/preact/src/create-element.js","node_modules/preact/src/component.js","node_modules/preact/src/create-context.js","node_modules/preact/src/constants.js","node_modules/preact/src/diff/children.js","node_modules/preact/src/diff/props.js","node_modules/preact/src/diff/index.js","node_modules/preact/src/render.js","node_modules/preact/src/clone-element.js","node_modules/preact/src/diff/catch-error.js","src/App.jsx","node_modules/wouter-preact/index.js","node_modules/wouter-preact/use-location.js","node_modules/wouter-preact/react-deps.js","node_modules/preact/hooks/dist/hooks.module.js","node_modules/preact/hooks/src/index.js","node_modules/wouter-preact/matcher.js","src/routing.js","src/themes/themes.js","src/themes/themeList.js","src/views/HomeView/HomeView.jsx","src/components/FileSelector/LocalFileSelector.jsx","src/components/FileSelector/TargetURLSelector.jsx","src/components/ThemeSelector/ThemeSelector.jsx","src/views/GamesView/GamesView.jsx","src/components/GameEntry/GameEntry.jsx","src/views/GamesView/top2019.js","src/views/GamesView/GamesView.module.scss","src/views/ThemesView/ThemesView.jsx","src/views/ThemesView/ThemesView.module.scss","src/views/PlayerView/PlayerView.jsx","src/components/Player/UrlPlayer.jsx","src/components/Player/common/engines.js","node_modules/emglken/src/bocfel.js","node_modules/emglken/src/vm.js","node_modules/emglken/src/emglkenfs.js","node_modules/emglken/build/bocfel-core.js","node_modules/@parcel/runtime-js/lib/runtime-021bc21ce2c42bf6.js","node_modules/emglken/src/git.js","node_modules/emglken/build/git-core.js","node_modules/@parcel/runtime-js/lib/runtime-b29adeb2d99f1fac.js","node_modules/emglken/src/hugo.js","node_modules/emglken/build/hugo-core.js","node_modules/@parcel/runtime-js/lib/runtime-70b35b77ed46ec9a.js","node_modules/emglken/src/tads.js","node_modules/emglken/build/tads-core.js","node_modules/@parcel/runtime-js/lib/runtime-331ab7b997319b9c.js","node_modules/emglken/src/scare.js","node_modules/emglken/build/scare-core.js","node_modules/@parcel/runtime-js/lib/runtime-8b66e95473ad36b3.js","src/components/Player/Player.jsx","node_modules/cheap-glkote/src/index.js","node_modules/cheap-glkote/src/fakeDialog.js","node_modules/cheap-glkote/src/cheapGlkOte.js","node_modules/cheap-glkote/src/glkOte/glkote-term.js","src/components/Player/OutputBox/TextBuffer/TextBuffer.jsx","src/components/Player/OutputBox/TextMessage/TextMessage.jsx","src/components/Player/OutputBox/TextMessage/TextMessage.module.scss","src/components/Player/Player.module.scss","src/components/Player/OutputBox/GridBuffer/GridBuffer.jsx","src/components/Player/InputBox/InputBox.jsx","src/components/Player/InputBox/MenuButton/MenuButton.jsx","src/components/Player/InputBox/MenuButton/MenuButton.module.scss","src/components/Player/InputBox/InputBox.module.scss","src/components/Player/Status/Status.jsx","src/components/Player/Status/Status.module.scss","src/components/Player/common/playerHandlers.js","node_modules/base32768/src/index.js","src/components/Player/MenuOverlay/MenuOverlay.jsx","src/components/Player/MenuOverlay/MenuOverlay.module.scss","src/views/NotFoundView/NotFoundView.jsx","src/style/App.module.scss"],"sourcesContent":["function $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $parcel$global =\ntypeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequire847f\"];\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequire847f\"] = parcelRequire;\n}\nvar $adfd32792a864deb$var$n, $adfd32792a864deb$export$41c562ebe57d11e2, $adfd32792a864deb$var$u, $adfd32792a864deb$export$a8257692ac88316c, $adfd32792a864deb$var$t, $adfd32792a864deb$var$o, $adfd32792a864deb$var$r, $adfd32792a864deb$var$f, $adfd32792a864deb$var$e, $adfd32792a864deb$var$c = {}, $adfd32792a864deb$var$s = [], $adfd32792a864deb$var$a = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, $adfd32792a864deb$var$v = Array.isArray;\nfunction $adfd32792a864deb$var$h(n, l) {\n for(var u in l)n[u] = l[u];\n return n;\n}\nfunction $adfd32792a864deb$var$p(n) {\n var l = n.parentNode;\n l && l.removeChild(n);\n}\nfunction $adfd32792a864deb$export$c8a8987d4410bf2d(l, u, i) {\n var t, o, r, f = {};\n for(r in u)\"key\" == r ? t = u[r] : \"ref\" == r ? o = u[r] : f[r] = u[r];\n if (arguments.length > 2 && (f.children = arguments.length > 3 ? $adfd32792a864deb$var$n.call(arguments, 2) : i), \"function\" == typeof l && null != l.defaultProps) for(r in l.defaultProps)void 0 === f[r] && (f[r] = l.defaultProps[r]);\n return $adfd32792a864deb$var$d(l, f, t, o, null);\n}\nfunction $adfd32792a864deb$var$d(n, i, t, o, r) {\n var f = {\n type: n,\n props: i,\n key: t,\n ref: o,\n __k: null,\n __: null,\n __b: 0,\n __e: null,\n __d: void 0,\n __c: null,\n __h: null,\n constructor: void 0,\n __v: null == r ? ++$adfd32792a864deb$var$u : r\n };\n return null == r && null != $adfd32792a864deb$export$41c562ebe57d11e2.vnode && $adfd32792a864deb$export$41c562ebe57d11e2.vnode(f), f;\n}\nfunction $adfd32792a864deb$export$7d1e3a5e95ceca43() {\n return {\n current: null\n };\n}\nfunction $adfd32792a864deb$export$ffb0004e005737fa(n) {\n return n.children;\n}\nfunction $adfd32792a864deb$export$16fa2f45be04daa8(n, l) {\n this.props = n, this.context = l;\n}\nfunction $adfd32792a864deb$var$g(n, l) {\n if (null == l) return n.__ ? $adfd32792a864deb$var$g(n.__, n.__.__k.indexOf(n) + 1) : null;\n for(var u; l < n.__k.length; l++)if (null != (u = n.__k[l]) && null != u.__e) return u.__e;\n return \"function\" == typeof n.type ? $adfd32792a864deb$var$g(n) : null;\n}\nfunction $adfd32792a864deb$var$m(n) {\n var l, u;\n if (null != (n = n.__) && null != n.__c) {\n for(n.__e = n.__c.base = null, l = 0; l < n.__k.length; l++)if (null != (u = n.__k[l]) && null != u.__e) {\n n.__e = n.__c.base = u.__e;\n break;\n }\n return $adfd32792a864deb$var$m(n);\n }\n}\nfunction $adfd32792a864deb$var$w(n) {\n (!n.__d && (n.__d = !0) && $adfd32792a864deb$var$t.push(n) && !$adfd32792a864deb$var$x.__r++ || $adfd32792a864deb$var$o !== $adfd32792a864deb$export$41c562ebe57d11e2.debounceRendering) && (($adfd32792a864deb$var$o = $adfd32792a864deb$export$41c562ebe57d11e2.debounceRendering) || $adfd32792a864deb$var$r)($adfd32792a864deb$var$x);\n}\nfunction $adfd32792a864deb$var$x() {\n var n, l, u, i, o, r, e, c;\n for($adfd32792a864deb$var$t.sort($adfd32792a864deb$var$f); n = $adfd32792a864deb$var$t.shift();)n.__d && (l = $adfd32792a864deb$var$t.length, i = void 0, o = void 0, e = (r = (u = n).__v).__e, (c = u.__P) && (i = [], (o = $adfd32792a864deb$var$h({}, r)).__v = r.__v + 1, $adfd32792a864deb$var$L(c, r, o, u.__n, void 0 !== c.ownerSVGElement, null != r.__h ? [\n e\n ] : null, i, null == e ? $adfd32792a864deb$var$g(r) : e, r.__h), $adfd32792a864deb$var$M(i, r), r.__e != e && $adfd32792a864deb$var$m(r)), $adfd32792a864deb$var$t.length > l && $adfd32792a864deb$var$t.sort($adfd32792a864deb$var$f));\n $adfd32792a864deb$var$x.__r = 0;\n}\nfunction $adfd32792a864deb$var$P(n, l, u, i, t, o, r, f, e, a) {\n var h, p, y, _, b, m, w, x = i && i.__k || $adfd32792a864deb$var$s, P = x.length;\n for(u.__k = [], h = 0; h < l.length; h++)if (null != (_ = u.__k[h] = null == (_ = l[h]) || \"boolean\" == typeof _ || \"function\" == typeof _ ? null : \"string\" == typeof _ || \"number\" == typeof _ || \"bigint\" == typeof _ ? $adfd32792a864deb$var$d(null, _, null, null, _) : $adfd32792a864deb$var$v(_) ? $adfd32792a864deb$var$d($adfd32792a864deb$export$ffb0004e005737fa, {\n children: _\n }, null, null, null) : _.__b > 0 ? $adfd32792a864deb$var$d(_.type, _.props, _.key, _.ref ? _.ref : null, _.__v) : _)) {\n if (_.__ = u, _.__b = u.__b + 1, null === (y = x[h]) || y && _.key == y.key && _.type === y.type) x[h] = void 0;\n else for(p = 0; p < P; p++){\n if ((y = x[p]) && _.key == y.key && _.type === y.type) {\n x[p] = void 0;\n break;\n }\n y = null;\n }\n $adfd32792a864deb$var$L(n, _, y = y || $adfd32792a864deb$var$c, t, o, r, f, e, a), b = _.__e, (p = _.ref) && y.ref != p && (w || (w = []), y.ref && w.push(y.ref, null, _), w.push(p, _.__c || b, _)), null != b ? (null == m && (m = b), \"function\" == typeof _.type && _.__k === y.__k ? _.__d = e = $adfd32792a864deb$var$C(_, e, n) : e = $adfd32792a864deb$var$$(n, _, y, x, b, e), \"function\" == typeof u.type && (u.__d = e)) : e && y.__e == e && e.parentNode != n && (e = $adfd32792a864deb$var$g(y));\n }\n for(u.__e = m, h = P; h--;)null != x[h] && (\"function\" == typeof u.type && null != x[h].__e && x[h].__e == u.__d && (u.__d = $adfd32792a864deb$var$A(i).nextSibling), $adfd32792a864deb$var$q(x[h], x[h]));\n if (w) for(h = 0; h < w.length; h++)$adfd32792a864deb$var$O(w[h], w[++h], w[++h]);\n}\nfunction $adfd32792a864deb$var$C(n, l, u) {\n for(var i, t = n.__k, o = 0; t && o < t.length; o++)(i = t[o]) && (i.__ = n, l = \"function\" == typeof i.type ? $adfd32792a864deb$var$C(i, l, u) : $adfd32792a864deb$var$$(u, i, i, t, i.__e, l));\n return l;\n}\nfunction $adfd32792a864deb$export$47e4c5b300681277(n, l) {\n return l = l || [], null == n || \"boolean\" == typeof n || ($adfd32792a864deb$var$v(n) ? n.some(function(n) {\n $adfd32792a864deb$export$47e4c5b300681277(n, l);\n }) : l.push(n)), l;\n}\nfunction $adfd32792a864deb$var$$(n, l, u, i, t, o) {\n var r, f, e;\n if (void 0 !== l.__d) r = l.__d, l.__d = void 0;\n else if (null == u || t != o || null == t.parentNode) n: if (null == o || o.parentNode !== n) n.appendChild(t), r = null;\n else {\n for(f = o, e = 0; (f = f.nextSibling) && e < i.length; e += 1)if (f == t) break n;\n n.insertBefore(t, o), r = o;\n }\n return void 0 !== r ? r : t.nextSibling;\n}\nfunction $adfd32792a864deb$var$A(n) {\n var l, u, i;\n if (null == n.type || \"string\" == typeof n.type) return n.__e;\n if (n.__k) {\n for(l = n.__k.length - 1; l >= 0; l--)if ((u = n.__k[l]) && (i = $adfd32792a864deb$var$A(u))) return i;\n }\n return null;\n}\nfunction $adfd32792a864deb$var$H(n, l, u, i, t) {\n var o;\n for(o in u)\"children\" === o || \"key\" === o || o in l || $adfd32792a864deb$var$T(n, o, null, u[o], i);\n for(o in l)t && \"function\" != typeof l[o] || \"children\" === o || \"key\" === o || \"value\" === o || \"checked\" === o || u[o] === l[o] || $adfd32792a864deb$var$T(n, o, l[o], u[o], i);\n}\nfunction $adfd32792a864deb$var$I(n, l, u) {\n \"-\" === l[0] ? n.setProperty(l, null == u ? \"\" : u) : n[l] = null == u ? \"\" : \"number\" != typeof u || $adfd32792a864deb$var$a.test(l) ? u : u + \"px\";\n}\nfunction $adfd32792a864deb$var$T(n, l, u, i, t) {\n var o;\n n: if (\"style\" === l) {\n if (\"string\" == typeof u) n.style.cssText = u;\n else {\n if (\"string\" == typeof i && (n.style.cssText = i = \"\"), i) for(l in i)u && l in u || $adfd32792a864deb$var$I(n.style, l, \"\");\n if (u) for(l in u)i && u[l] === i[l] || $adfd32792a864deb$var$I(n.style, l, u[l]);\n }\n } else if (\"o\" === l[0] && \"n\" === l[1]) o = l !== (l = l.replace(/Capture$/, \"\")), l = l.toLowerCase() in n ? l.toLowerCase().slice(2) : l.slice(2), n.l || (n.l = {}), n.l[l + o] = u, u ? i || n.addEventListener(l, o ? $adfd32792a864deb$var$z : $adfd32792a864deb$var$j, o) : n.removeEventListener(l, o ? $adfd32792a864deb$var$z : $adfd32792a864deb$var$j, o);\n else if (\"dangerouslySetInnerHTML\" !== l) {\n if (t) l = l.replace(/xlink(H|:h)/, \"h\").replace(/sName$/, \"s\");\n else if (\"width\" !== l && \"height\" !== l && \"href\" !== l && \"list\" !== l && \"form\" !== l && \"tabIndex\" !== l && \"download\" !== l && \"rowSpan\" !== l && \"colSpan\" !== l && l in n) try {\n n[l] = null == u ? \"\" : u;\n break n;\n } catch (n) {}\n \"function\" == typeof u || (null == u || !1 === u && \"-\" !== l[4] ? n.removeAttribute(l) : n.setAttribute(l, u));\n }\n}\nfunction $adfd32792a864deb$var$j(n) {\n return this.l[n.type + !1]($adfd32792a864deb$export$41c562ebe57d11e2.event ? $adfd32792a864deb$export$41c562ebe57d11e2.event(n) : n);\n}\nfunction $adfd32792a864deb$var$z(n) {\n return this.l[n.type + !0]($adfd32792a864deb$export$41c562ebe57d11e2.event ? $adfd32792a864deb$export$41c562ebe57d11e2.event(n) : n);\n}\nfunction $adfd32792a864deb$var$L(n, u, i, t, o, r, f, e, c) {\n var s, a, p, y, d, _, g, m, w, x, C, S, $, A, H, I = u.type;\n if (void 0 !== u.constructor) return null;\n null != i.__h && (c = i.__h, e = u.__e = i.__e, u.__h = null, r = [\n e\n ]), (s = $adfd32792a864deb$export$41c562ebe57d11e2.__b) && s(u);\n try {\n n: if (\"function\" == typeof I) {\n if (m = u.props, w = (s = I.contextType) && t[s.__c], x = s ? w ? w.props.value : s.__ : t, i.__c ? g = (a = u.__c = i.__c).__ = a.__E : (\"prototype\" in I && I.prototype.render ? u.__c = a = new I(m, x) : (u.__c = a = new $adfd32792a864deb$export$16fa2f45be04daa8(m, x), a.constructor = I, a.render = $adfd32792a864deb$var$B), w && w.sub(a), a.props = m, a.state || (a.state = {}), a.context = x, a.__n = t, p = a.__d = !0, a.__h = [], a._sb = []), null == a.__s && (a.__s = a.state), null != I.getDerivedStateFromProps && (a.__s == a.state && (a.__s = $adfd32792a864deb$var$h({}, a.__s)), $adfd32792a864deb$var$h(a.__s, I.getDerivedStateFromProps(m, a.__s))), y = a.props, d = a.state, a.__v = u, p) null == I.getDerivedStateFromProps && null != a.componentWillMount && a.componentWillMount(), null != a.componentDidMount && a.__h.push(a.componentDidMount);\n else {\n if (null == I.getDerivedStateFromProps && m !== y && null != a.componentWillReceiveProps && a.componentWillReceiveProps(m, x), !a.__e && null != a.shouldComponentUpdate && !1 === a.shouldComponentUpdate(m, a.__s, x) || u.__v === i.__v) {\n for(u.__v !== i.__v && (a.props = m, a.state = a.__s, a.__d = !1), a.__e = !1, u.__e = i.__e, u.__k = i.__k, u.__k.forEach(function(n) {\n n && (n.__ = u);\n }), C = 0; C < a._sb.length; C++)a.__h.push(a._sb[C]);\n a._sb = [], a.__h.length && f.push(a);\n break n;\n }\n null != a.componentWillUpdate && a.componentWillUpdate(m, a.__s, x), null != a.componentDidUpdate && a.__h.push(function() {\n a.componentDidUpdate(y, d, _);\n });\n }\n if (a.context = x, a.props = m, a.__P = n, S = $adfd32792a864deb$export$41c562ebe57d11e2.__r, $ = 0, \"prototype\" in I && I.prototype.render) {\n for(a.state = a.__s, a.__d = !1, S && S(u), s = a.render(a.props, a.state, a.context), A = 0; A < a._sb.length; A++)a.__h.push(a._sb[A]);\n a._sb = [];\n } else do a.__d = !1, S && S(u), s = a.render(a.props, a.state, a.context), a.state = a.__s;\n while (a.__d && ++$ < 25);\n a.state = a.__s, null != a.getChildContext && (t = $adfd32792a864deb$var$h($adfd32792a864deb$var$h({}, t), a.getChildContext())), p || null == a.getSnapshotBeforeUpdate || (_ = a.getSnapshotBeforeUpdate(y, d)), $adfd32792a864deb$var$P(n, $adfd32792a864deb$var$v(H = null != s && s.type === $adfd32792a864deb$export$ffb0004e005737fa && null == s.key ? s.props.children : s) ? H : [\n H\n ], u, i, t, o, r, f, e, c), a.base = u.__e, u.__h = null, a.__h.length && f.push(a), g && (a.__E = a.__ = null), a.__e = !1;\n } else null == r && u.__v === i.__v ? (u.__k = i.__k, u.__e = i.__e) : u.__e = $adfd32792a864deb$var$N(i.__e, u, i, t, o, r, f, c);\n (s = $adfd32792a864deb$export$41c562ebe57d11e2.diffed) && s(u);\n } catch (n) {\n u.__v = null, (c || null != r) && (u.__e = e, u.__h = !!c, r[r.indexOf(e)] = null), $adfd32792a864deb$export$41c562ebe57d11e2.__e(n, u, i);\n }\n}\nfunction $adfd32792a864deb$var$M(n, u) {\n $adfd32792a864deb$export$41c562ebe57d11e2.__c && $adfd32792a864deb$export$41c562ebe57d11e2.__c(u, n), n.some(function(u) {\n try {\n n = u.__h, u.__h = [], n.some(function(n) {\n n.call(u);\n });\n } catch (n) {\n $adfd32792a864deb$export$41c562ebe57d11e2.__e(n, u.__v);\n }\n });\n}\nfunction $adfd32792a864deb$var$N(l, u, i, t, o, r, f, e) {\n var s, a, h, y = i.props, d = u.props, _ = u.type, k = 0;\n if (\"svg\" === _ && (o = !0), null != r) {\n for(; k < r.length; k++)if ((s = r[k]) && \"setAttribute\" in s == !!_ && (_ ? s.localName === _ : 3 === s.nodeType)) {\n l = s, r[k] = null;\n break;\n }\n }\n if (null == l) {\n if (null === _) return document.createTextNode(d);\n l = o ? document.createElementNS(\"http://www.w3.org/2000/svg\", _) : document.createElement(_, d.is && d), r = null, e = !1;\n }\n if (null === _) y === d || e && l.data === d || (l.data = d);\n else {\n if (r = r && $adfd32792a864deb$var$n.call(l.childNodes), a = (y = i.props || $adfd32792a864deb$var$c).dangerouslySetInnerHTML, h = d.dangerouslySetInnerHTML, !e) {\n if (null != r) for(y = {}, k = 0; k < l.attributes.length; k++)y[l.attributes[k].name] = l.attributes[k].value;\n (h || a) && (h && (a && h.__html == a.__html || h.__html === l.innerHTML) || (l.innerHTML = h && h.__html || \"\"));\n }\n if ($adfd32792a864deb$var$H(l, d, y, o, e), h) u.__k = [];\n else if ($adfd32792a864deb$var$P(l, $adfd32792a864deb$var$v(k = u.props.children) ? k : [\n k\n ], u, i, t, o && \"foreignObject\" !== _, r, f, r ? r[0] : i.__k && $adfd32792a864deb$var$g(i, 0), e), null != r) for(k = r.length; k--;)null != r[k] && $adfd32792a864deb$var$p(r[k]);\n e || (\"value\" in d && void 0 !== (k = d.value) && (k !== l.value || \"progress\" === _ && !k || \"option\" === _ && k !== y.value) && $adfd32792a864deb$var$T(l, \"value\", k, y.value, !1), \"checked\" in d && void 0 !== (k = d.checked) && k !== l.checked && $adfd32792a864deb$var$T(l, \"checked\", k, y.checked, !1));\n }\n return l;\n}\nfunction $adfd32792a864deb$var$O(n, u, i) {\n try {\n \"function\" == typeof n ? n(u) : n.current = u;\n } catch (n) {\n $adfd32792a864deb$export$41c562ebe57d11e2.__e(n, i);\n }\n}\nfunction $adfd32792a864deb$var$q(n, u, i) {\n var t, o;\n if ($adfd32792a864deb$export$41c562ebe57d11e2.unmount && $adfd32792a864deb$export$41c562ebe57d11e2.unmount(n), (t = n.ref) && (t.current && t.current !== n.__e || $adfd32792a864deb$var$O(t, null, u)), null != (t = n.__c)) {\n if (t.componentWillUnmount) try {\n t.componentWillUnmount();\n } catch (n) {\n $adfd32792a864deb$export$41c562ebe57d11e2.__e(n, u);\n }\n t.base = t.__P = null, n.__c = void 0;\n }\n if (t = n.__k) for(o = 0; o < t.length; o++)t[o] && $adfd32792a864deb$var$q(t[o], u, i || \"function\" != typeof n.type);\n i || null == n.__e || $adfd32792a864deb$var$p(n.__e), n.__ = n.__e = n.__d = void 0;\n}\nfunction $adfd32792a864deb$var$B(n, l, u) {\n return this.constructor(n, u);\n}\nfunction $adfd32792a864deb$export$b3890eb0ae9dca99(u, i, t) {\n var o, r, f;\n $adfd32792a864deb$export$41c562ebe57d11e2.__ && $adfd32792a864deb$export$41c562ebe57d11e2.__(u, i), r = (o = \"function\" == typeof t) ? null : t && t.__k || i.__k, f = [], $adfd32792a864deb$var$L(i, u = (!o && t || i).__k = $adfd32792a864deb$export$c8a8987d4410bf2d($adfd32792a864deb$export$ffb0004e005737fa, null, [\n u\n ]), r || $adfd32792a864deb$var$c, $adfd32792a864deb$var$c, void 0 !== i.ownerSVGElement, !o && t ? [\n t\n ] : r ? null : i.firstChild ? $adfd32792a864deb$var$n.call(i.childNodes) : null, f, !o && t ? t : r ? r.__e : i.firstChild, o), $adfd32792a864deb$var$M(f, u);\n}\nfunction $adfd32792a864deb$export$fa8d919ba61d84db(n, l) {\n $adfd32792a864deb$export$b3890eb0ae9dca99(n, l, $adfd32792a864deb$export$fa8d919ba61d84db);\n}\nfunction $adfd32792a864deb$export$e530037191fcd5d7(l, u, i) {\n var t, o, r, f, e = $adfd32792a864deb$var$h({}, l.props);\n for(r in l.type && l.type.defaultProps && (f = l.type.defaultProps), u)\"key\" == r ? t = u[r] : \"ref\" == r ? o = u[r] : e[r] = void 0 === u[r] && void 0 !== f ? f[r] : u[r];\n return arguments.length > 2 && (e.children = arguments.length > 3 ? $adfd32792a864deb$var$n.call(arguments, 2) : i), $adfd32792a864deb$var$d(l.type, e, t || l.key, o || l.ref, null);\n}\nfunction $adfd32792a864deb$export$fd42f52fd3ae1109(n, l) {\n var u = {\n __c: l = \"__cC\" + $adfd32792a864deb$var$e++,\n __: n,\n Consumer: function(n, l) {\n return n.children(l);\n },\n Provider: function(n) {\n var u, i;\n return this.getChildContext || (u = [], (i = {})[l] = this, this.getChildContext = function() {\n return i;\n }, this.shouldComponentUpdate = function(n) {\n this.props.value !== n.value && u.some(function(n) {\n n.__e = !0, $adfd32792a864deb$var$w(n);\n });\n }, this.sub = function(n) {\n u.push(n);\n var l = n.componentWillUnmount;\n n.componentWillUnmount = function() {\n u.splice(u.indexOf(n), 1), l && l.call(n);\n };\n }), n.children;\n }\n };\n return u.Provider.__ = u.Consumer.contextType = u;\n}\n$adfd32792a864deb$var$n = $adfd32792a864deb$var$s.slice, $adfd32792a864deb$export$41c562ebe57d11e2 = {\n __e: function(n, l, u, i) {\n for(var t, o, r; l = l.__;)if ((t = l.__c) && !t.__) try {\n if ((o = t.constructor) && null != o.getDerivedStateFromError && (t.setState(o.getDerivedStateFromError(n)), r = t.__d), null != t.componentDidCatch && (t.componentDidCatch(n, i || {}), r = t.__d), r) return t.__E = t;\n } catch (l) {\n n = l;\n }\n throw n;\n }\n}, $adfd32792a864deb$var$u = 0, $adfd32792a864deb$export$a8257692ac88316c = function(n) {\n return null != n && void 0 === n.constructor;\n}, $adfd32792a864deb$export$16fa2f45be04daa8.prototype.setState = function(n, l) {\n var u;\n u = null != this.__s && this.__s !== this.state ? this.__s : this.__s = $adfd32792a864deb$var$h({}, this.state), \"function\" == typeof n && (n = n($adfd32792a864deb$var$h({}, u), this.props)), n && $adfd32792a864deb$var$h(u, n), null != n && this.__v && (l && this._sb.push(l), $adfd32792a864deb$var$w(this));\n}, $adfd32792a864deb$export$16fa2f45be04daa8.prototype.forceUpdate = function(n) {\n this.__v && (this.__e = !0, n && this.__h.push(n), $adfd32792a864deb$var$w(this));\n}, $adfd32792a864deb$export$16fa2f45be04daa8.prototype.render = $adfd32792a864deb$export$ffb0004e005737fa, $adfd32792a864deb$var$t = [], $adfd32792a864deb$var$r = \"function\" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, $adfd32792a864deb$var$f = function(n, l) {\n return n.__v.__b - l.__v.__b;\n}, $adfd32792a864deb$var$x.__r = 0, $adfd32792a864deb$var$e = 0;\n\n\nvar $80ca9f09fe72d4b7$var$_ = 0;\nfunction $80ca9f09fe72d4b7$export$34b9dba7ce09269b(o, e, n, t, f, l) {\n var s, u, a = {};\n for(u in e)\"ref\" == u ? s = e[u] : a[u] = e[u];\n var i = {\n type: o,\n props: a,\n key: n,\n ref: s,\n __k: null,\n __: null,\n __b: 0,\n __e: null,\n __d: void 0,\n __c: null,\n __h: null,\n constructor: void 0,\n __v: --$80ca9f09fe72d4b7$var$_,\n __source: f,\n __self: l\n };\n if (\"function\" == typeof o && (s = o.defaultProps)) for(u in s)void 0 === a[u] && (a[u] = s[u]);\n return (0, $adfd32792a864deb$export$41c562ebe57d11e2).vnode && (0, $adfd32792a864deb$export$41c562ebe57d11e2).vnode(i), i;\n}\n\n\n\n\n\n\n\n\nvar $70db777e8f6135ab$var$t, $70db777e8f6135ab$var$r, $70db777e8f6135ab$var$u, $70db777e8f6135ab$var$i, $70db777e8f6135ab$var$o = 0, $70db777e8f6135ab$var$f = [], $70db777e8f6135ab$var$c = [], $70db777e8f6135ab$var$e = (0, $adfd32792a864deb$export$41c562ebe57d11e2).__b, $70db777e8f6135ab$var$a = (0, $adfd32792a864deb$export$41c562ebe57d11e2).__r, $70db777e8f6135ab$var$v = (0, $adfd32792a864deb$export$41c562ebe57d11e2).diffed, $70db777e8f6135ab$var$l = (0, $adfd32792a864deb$export$41c562ebe57d11e2).__c, $70db777e8f6135ab$var$m = (0, $adfd32792a864deb$export$41c562ebe57d11e2).unmount;\nfunction $70db777e8f6135ab$var$d(t, u) {\n (0, $adfd32792a864deb$export$41c562ebe57d11e2).__h && (0, $adfd32792a864deb$export$41c562ebe57d11e2).__h($70db777e8f6135ab$var$r, t, $70db777e8f6135ab$var$o || u), $70db777e8f6135ab$var$o = 0;\n var i = $70db777e8f6135ab$var$r.__H || ($70db777e8f6135ab$var$r.__H = {\n __: [],\n __h: []\n });\n return t >= i.__.length && i.__.push({\n __V: $70db777e8f6135ab$var$c\n }), i.__[t];\n}\nfunction $70db777e8f6135ab$export$60241385465d0a34(n) {\n return $70db777e8f6135ab$var$o = 1, $70db777e8f6135ab$export$13e3392192263954($70db777e8f6135ab$var$B, n);\n}\nfunction $70db777e8f6135ab$export$13e3392192263954(n, u, i) {\n var o = $70db777e8f6135ab$var$d($70db777e8f6135ab$var$t++, 2);\n if (o.t = n, !o.__c && (o.__ = [\n i ? i(u) : $70db777e8f6135ab$var$B(void 0, u),\n function(n) {\n var t = o.__N ? o.__N[0] : o.__[0], r = o.t(t, n);\n t !== r && (o.__N = [\n r,\n o.__[1]\n ], o.__c.setState({}));\n }\n ], o.__c = $70db777e8f6135ab$var$r, !$70db777e8f6135ab$var$r.u)) {\n var f = function(n, t, r) {\n if (!o.__c.__H) return !0;\n var u = o.__c.__H.__.filter(function(n) {\n return n.__c;\n });\n if (u.every(function(n) {\n return !n.__N;\n })) return !c || c.call(this, n, t, r);\n var i = !1;\n return u.forEach(function(n) {\n if (n.__N) {\n var t = n.__[0];\n n.__ = n.__N, n.__N = void 0, t !== n.__[0] && (i = !0);\n }\n }), !(!i && o.__c.props === n) && (!c || c.call(this, n, t, r));\n };\n $70db777e8f6135ab$var$r.u = !0;\n var c = $70db777e8f6135ab$var$r.shouldComponentUpdate, e = $70db777e8f6135ab$var$r.componentWillUpdate;\n $70db777e8f6135ab$var$r.componentWillUpdate = function(n, t, r) {\n if (this.__e) {\n var u = c;\n c = void 0, f(n, t, r), c = u;\n }\n e && e.call(this, n, t, r);\n }, $70db777e8f6135ab$var$r.shouldComponentUpdate = f;\n }\n return o.__N || o.__;\n}\nfunction $70db777e8f6135ab$export$6d9c69b0de29b591(u, i) {\n var o = $70db777e8f6135ab$var$d($70db777e8f6135ab$var$t++, 3);\n !(0, $adfd32792a864deb$export$41c562ebe57d11e2).__s && $70db777e8f6135ab$var$z(o.__H, i) && (o.__ = u, o.i = i, $70db777e8f6135ab$var$r.__H.__h.push(o));\n}\nfunction $70db777e8f6135ab$export$e5c5a5f917a5871c(u, i) {\n var o = $70db777e8f6135ab$var$d($70db777e8f6135ab$var$t++, 4);\n !(0, $adfd32792a864deb$export$41c562ebe57d11e2).__s && $70db777e8f6135ab$var$z(o.__H, i) && (o.__ = u, o.i = i, $70db777e8f6135ab$var$r.__h.push(o));\n}\nfunction $70db777e8f6135ab$export$b8f5890fc79d6aca(n) {\n return $70db777e8f6135ab$var$o = 5, $70db777e8f6135ab$export$1538c33de8887b59(function() {\n return {\n current: n\n };\n }, []);\n}\nfunction $70db777e8f6135ab$export$d5a552a76deda3c2(n, t, r) {\n $70db777e8f6135ab$var$o = 6, $70db777e8f6135ab$export$e5c5a5f917a5871c(function() {\n return \"function\" == typeof n ? (n(t()), function() {\n return n(null);\n }) : n ? (n.current = t(), function() {\n return n.current = null;\n }) : void 0;\n }, null == r ? r : r.concat(n));\n}\nfunction $70db777e8f6135ab$export$1538c33de8887b59(n, r) {\n var u = $70db777e8f6135ab$var$d($70db777e8f6135ab$var$t++, 7);\n return $70db777e8f6135ab$var$z(u.__H, r) ? (u.__V = n(), u.i = r, u.__h = n, u.__V) : u.__;\n}\nfunction $70db777e8f6135ab$export$35808ee640e87ca7(n, t) {\n return $70db777e8f6135ab$var$o = 8, $70db777e8f6135ab$export$1538c33de8887b59(function() {\n return n;\n }, t);\n}\nfunction $70db777e8f6135ab$export$fae74005e78b1a27(n) {\n var u = $70db777e8f6135ab$var$r.context[n.__c], i = $70db777e8f6135ab$var$d($70db777e8f6135ab$var$t++, 9);\n return i.c = n, u ? (null == i.__ && (i.__ = !0, u.sub($70db777e8f6135ab$var$r)), u.props.value) : n.__;\n}\nfunction $70db777e8f6135ab$export$dc8fbce3eb94dc1e(t, r) {\n (0, $adfd32792a864deb$export$41c562ebe57d11e2).useDebugValue && (0, $adfd32792a864deb$export$41c562ebe57d11e2).useDebugValue(r ? r(t) : t);\n}\nfunction $70db777e8f6135ab$export$c052f6604b7d51fe(n) {\n var u = $70db777e8f6135ab$var$d($70db777e8f6135ab$var$t++, 10), i = $70db777e8f6135ab$export$60241385465d0a34();\n return u.__ = n, $70db777e8f6135ab$var$r.componentDidCatch || ($70db777e8f6135ab$var$r.componentDidCatch = function(n, t) {\n u.__ && u.__(n, t), i[1](n);\n }), [\n i[0],\n function() {\n i[1](void 0);\n }\n ];\n}\nfunction $70db777e8f6135ab$export$f680877a34711e37() {\n var n = $70db777e8f6135ab$var$d($70db777e8f6135ab$var$t++, 11);\n if (!n.__) {\n for(var u = $70db777e8f6135ab$var$r.__v; null !== u && !u.__m && null !== u.__;)u = u.__;\n var i = u.__m || (u.__m = [\n 0,\n 0\n ]);\n n.__ = \"P\" + i[0] + \"-\" + i[1]++;\n }\n return n.__;\n}\nfunction $70db777e8f6135ab$var$b() {\n for(var t; t = $70db777e8f6135ab$var$f.shift();)if (t.__P && t.__H) try {\n t.__H.__h.forEach($70db777e8f6135ab$var$k), t.__H.__h.forEach($70db777e8f6135ab$var$w), t.__H.__h = [];\n } catch (r) {\n t.__H.__h = [], (0, $adfd32792a864deb$export$41c562ebe57d11e2).__e(r, t.__v);\n }\n}\n(0, $adfd32792a864deb$export$41c562ebe57d11e2).__b = function(n) {\n $70db777e8f6135ab$var$r = null, $70db777e8f6135ab$var$e && $70db777e8f6135ab$var$e(n);\n}, (0, $adfd32792a864deb$export$41c562ebe57d11e2).__r = function(n) {\n $70db777e8f6135ab$var$a && $70db777e8f6135ab$var$a(n), $70db777e8f6135ab$var$t = 0;\n var i = ($70db777e8f6135ab$var$r = n.__c).__H;\n i && ($70db777e8f6135ab$var$u === $70db777e8f6135ab$var$r ? (i.__h = [], $70db777e8f6135ab$var$r.__h = [], i.__.forEach(function(n) {\n n.__N && (n.__ = n.__N), n.__V = $70db777e8f6135ab$var$c, n.__N = n.i = void 0;\n })) : (i.__h.forEach($70db777e8f6135ab$var$k), i.__h.forEach($70db777e8f6135ab$var$w), i.__h = [], $70db777e8f6135ab$var$t = 0)), $70db777e8f6135ab$var$u = $70db777e8f6135ab$var$r;\n}, (0, $adfd32792a864deb$export$41c562ebe57d11e2).diffed = function(t) {\n $70db777e8f6135ab$var$v && $70db777e8f6135ab$var$v(t);\n var o = t.__c;\n o && o.__H && (o.__H.__h.length && (1 !== $70db777e8f6135ab$var$f.push(o) && $70db777e8f6135ab$var$i === (0, $adfd32792a864deb$export$41c562ebe57d11e2).requestAnimationFrame || (($70db777e8f6135ab$var$i = (0, $adfd32792a864deb$export$41c562ebe57d11e2).requestAnimationFrame) || $70db777e8f6135ab$var$j)($70db777e8f6135ab$var$b)), o.__H.__.forEach(function(n) {\n n.i && (n.__H = n.i), n.__V !== $70db777e8f6135ab$var$c && (n.__ = n.__V), n.i = void 0, n.__V = $70db777e8f6135ab$var$c;\n })), $70db777e8f6135ab$var$u = $70db777e8f6135ab$var$r = null;\n}, (0, $adfd32792a864deb$export$41c562ebe57d11e2).__c = function(t, r) {\n r.some(function(t) {\n try {\n t.__h.forEach($70db777e8f6135ab$var$k), t.__h = t.__h.filter(function(n) {\n return !n.__ || $70db777e8f6135ab$var$w(n);\n });\n } catch (u) {\n r.some(function(n) {\n n.__h && (n.__h = []);\n }), r = [], (0, $adfd32792a864deb$export$41c562ebe57d11e2).__e(u, t.__v);\n }\n }), $70db777e8f6135ab$var$l && $70db777e8f6135ab$var$l(t, r);\n}, (0, $adfd32792a864deb$export$41c562ebe57d11e2).unmount = function(t) {\n $70db777e8f6135ab$var$m && $70db777e8f6135ab$var$m(t);\n var r, u = t.__c;\n u && u.__H && (u.__H.__.forEach(function(n) {\n try {\n $70db777e8f6135ab$var$k(n);\n } catch (n) {\n r = n;\n }\n }), u.__H = void 0, r && (0, $adfd32792a864deb$export$41c562ebe57d11e2).__e(r, u.__v));\n};\nvar $70db777e8f6135ab$var$g = \"function\" == typeof requestAnimationFrame;\nfunction $70db777e8f6135ab$var$j(n) {\n var t, r = function() {\n clearTimeout(u), $70db777e8f6135ab$var$g && cancelAnimationFrame(t), setTimeout(n);\n }, u = setTimeout(r, 100);\n $70db777e8f6135ab$var$g && (t = requestAnimationFrame(r));\n}\nfunction $70db777e8f6135ab$var$k(n) {\n var t = $70db777e8f6135ab$var$r, u = n.__c;\n \"function\" == typeof u && (n.__c = void 0, u()), $70db777e8f6135ab$var$r = t;\n}\nfunction $70db777e8f6135ab$var$w(n) {\n var t = $70db777e8f6135ab$var$r;\n n.__c = n.__(), $70db777e8f6135ab$var$r = t;\n}\nfunction $70db777e8f6135ab$var$z(n, t) {\n return !n || n.length !== t.length || t.some(function(t, r) {\n return t !== n[r];\n });\n}\nfunction $70db777e8f6135ab$var$B(n, t) {\n return \"function\" == typeof t ? t(n) : t;\n}\n\n\n\n// Copied from:\n// https://github.com/facebook/react/blob/main/packages/shared/ExecutionEnvironment.js\nconst $b2dbedd88e2bb823$var$canUseDOM = !!(typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\");\n// TODO: switch to `export { useSyncExternalStore } from \"preact/compat\"` once we update Preact to >= 10.11.3\nfunction $b2dbedd88e2bb823$var$is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y;\n}\nfunction $b2dbedd88e2bb823$export$306c0aa65ff9ec16(subscribe, getSnapshot, getSSRSnapshot) {\n if (getSSRSnapshot && !$b2dbedd88e2bb823$var$canUseDOM) getSnapshot = getSSRSnapshot;\n const value = getSnapshot();\n const [{ _instance: _instance }, forceUpdate] = (0, $70db777e8f6135ab$export$60241385465d0a34)({\n _instance: {\n _value: value,\n _getSnapshot: getSnapshot\n }\n });\n (0, $70db777e8f6135ab$export$e5c5a5f917a5871c)(()=>{\n _instance._value = value;\n _instance._getSnapshot = getSnapshot;\n if (!$b2dbedd88e2bb823$var$is(_instance._value, getSnapshot())) forceUpdate({\n _instance: _instance\n });\n }, [\n subscribe,\n value,\n getSnapshot\n ]);\n (0, $70db777e8f6135ab$export$6d9c69b0de29b591)(()=>{\n if (!$b2dbedd88e2bb823$var$is(_instance._value, _instance._getSnapshot())) forceUpdate({\n _instance: _instance\n });\n return subscribe(()=>{\n if (!$b2dbedd88e2bb823$var$is(_instance._value, _instance._getSnapshot())) forceUpdate({\n _instance: _instance\n });\n });\n }, [\n subscribe\n ]);\n return value;\n}\nfunction $b2dbedd88e2bb823$export$257a8862b851cb5b(component) {\n return component;\n}\nconst $b2dbedd88e2bb823$export$90fc3a17d93f704c = (fn)=>{\n const ref = (0, $70db777e8f6135ab$export$b8f5890fc79d6aca)([\n fn,\n (...args)=>ref[0](...args)\n ]).current;\n (0, $70db777e8f6135ab$export$e5c5a5f917a5871c)(()=>{\n ref[0] = fn;\n });\n return ref[1];\n};\n\n\n/*\n * Transforms `path` into its relative `base` version\n * If base isn't part of the path provided returns absolute path e.g. `~/app`\n */ const $e7eac5accd0c8e48$var$relativePath = (base = \"\", path = location.pathname)=>!path.toLowerCase().indexOf(base.toLowerCase()) ? path.slice(base.length) || \"/\" : \"~\" + path;\nconst $e7eac5accd0c8e48$var$absolutePath = (to, base = \"\")=>to[0] === \"~\" ? to.slice(1) : base + to;\n/**\n * History API docs @see https://developer.mozilla.org/en-US/docs/Web/API/History\n */ const $e7eac5accd0c8e48$var$eventPopstate = \"popstate\";\nconst $e7eac5accd0c8e48$var$eventPushState = \"pushState\";\nconst $e7eac5accd0c8e48$var$eventReplaceState = \"replaceState\";\nconst $e7eac5accd0c8e48$var$eventHashchange = \"hashchange\";\nconst $e7eac5accd0c8e48$export$4bf9923669ad6c63 = [\n $e7eac5accd0c8e48$var$eventPopstate,\n $e7eac5accd0c8e48$var$eventPushState,\n $e7eac5accd0c8e48$var$eventReplaceState,\n $e7eac5accd0c8e48$var$eventHashchange\n];\nconst $e7eac5accd0c8e48$var$subscribeToLocationUpdates = (callback)=>{\n for (const event of $e7eac5accd0c8e48$export$4bf9923669ad6c63)addEventListener(event, callback);\n return ()=>{\n for (const event of $e7eac5accd0c8e48$export$4bf9923669ad6c63)removeEventListener(event, callback);\n };\n};\nconst $e7eac5accd0c8e48$export$3a1ff78c39f8a86 = (fn, ssrFn)=>(0, $b2dbedd88e2bb823$export$306c0aa65ff9ec16)($e7eac5accd0c8e48$var$subscribeToLocationUpdates, fn, ssrFn);\nconst $e7eac5accd0c8e48$var$currentSearch = ()=>location.search;\nconst $e7eac5accd0c8e48$export$bd221a7c56b93941 = ()=>$e7eac5accd0c8e48$export$3a1ff78c39f8a86($e7eac5accd0c8e48$var$currentSearch);\nconst $e7eac5accd0c8e48$var$currentPathname = ()=>location.pathname;\nconst $e7eac5accd0c8e48$export$2a28ef6a9fe822a4 = ({ ssrPath: ssrPath } = {})=>$e7eac5accd0c8e48$export$3a1ff78c39f8a86($e7eac5accd0c8e48$var$currentPathname, ssrPath ? ()=>ssrPath : $e7eac5accd0c8e48$var$currentPathname);\nconst $e7eac5accd0c8e48$export$ff7962acd6052c28 = (to, { replace: replace = false } = {})=>history[replace ? $e7eac5accd0c8e48$var$eventReplaceState : $e7eac5accd0c8e48$var$eventPushState](null, \"\", to);\n// the 2nd argument of the `useLocation` return value is a function\n// that allows to perform a navigation.\n//\n// the function reference should stay the same between re-renders, so that\n// it can be passed down as an element prop without any performance concerns.\n// (This is achieved via `useEvent`.)\nconst $e7eac5accd0c8e48$var$useLocation = (opts = {})=>[\n $e7eac5accd0c8e48$var$relativePath(opts.base, $e7eac5accd0c8e48$export$2a28ef6a9fe822a4(opts)),\n (0, $b2dbedd88e2bb823$export$90fc3a17d93f704c)((to, navOpts)=>$e7eac5accd0c8e48$export$ff7962acd6052c28($e7eac5accd0c8e48$var$absolutePath(to, opts.base), navOpts))\n ];\nvar $e7eac5accd0c8e48$export$2e2bcd8739ae039 = $e7eac5accd0c8e48$var$useLocation;\n// While History API does have `popstate` event, the only\n// proper way to listen to changes via `push/replaceState`\n// is to monkey-patch these methods.\n//\n// See https://stackoverflow.com/a/4585031\nif (typeof history !== \"undefined\") for (const type of [\n $e7eac5accd0c8e48$var$eventPushState,\n $e7eac5accd0c8e48$var$eventReplaceState\n]){\n const original = history[type];\n // TODO: we should be using unstable_batchedUpdates to avoid multiple re-renders,\n // however that will require an additional peer dependency on react-dom.\n // See: https://github.com/reactwg/react-18/discussions/86#discussioncomment-1567149\n history[type] = function() {\n const result = original.apply(this, arguments);\n const event = new Event(type);\n event.arguments = arguments;\n dispatchEvent(event);\n return result;\n };\n}\n\n\n// creates a matcher function\nfunction $fa39f85a2f4c40bd$export$2e2bcd8739ae039(makeRegexpFn = $fa39f85a2f4c40bd$var$pathToRegexp) {\n let cache = {};\n // obtains a cached regexp version of the pattern\n const getRegexp = (pattern)=>cache[pattern] || (cache[pattern] = makeRegexpFn(pattern));\n return (pattern, path)=>{\n const { regexp: regexp, keys: keys } = getRegexp(pattern || \"\");\n const out = regexp.exec(path);\n if (!out) return [\n false,\n null\n ];\n // formats an object with matched params\n const params = keys.reduce((params, key, i)=>{\n params[key.name] = out[i + 1];\n return params;\n }, {});\n return [\n true,\n params\n ];\n };\n}\n// escapes a regexp string (borrowed from path-to-regexp sources)\n// https://github.com/pillarjs/path-to-regexp/blob/v3.0.0/index.js#L202\nconst $fa39f85a2f4c40bd$var$escapeRx = (str)=>str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n// returns a segment representation in RegExp based on flags\n// adapted and simplified version from path-to-regexp sources\nconst $fa39f85a2f4c40bd$var$rxForSegment = (repeat, optional, prefix)=>{\n let capture = repeat ? \"((?:[^\\\\/]+?)(?:\\\\/(?:[^\\\\/]+?))*)\" : \"([^\\\\/]+?)\";\n if (optional && prefix) capture = \"(?:\\\\/\" + capture + \")\";\n return capture + (optional ? \"?\" : \"\");\n};\nconst $fa39f85a2f4c40bd$var$pathToRegexp = (pattern)=>{\n const groupRx = /:([A-Za-z0-9_]+)([?+*]?)/g;\n let match = null, lastIndex = 0, keys = [], result = \"\";\n while((match = groupRx.exec(pattern)) !== null){\n const [_, segment, mod] = match;\n // :foo [1] ( )\n // :foo? [0 - 1] ( o)\n // :foo+ [1 - ∞] (r )\n // :foo* [0 - ∞] (ro)\n const repeat = mod === \"+\" || mod === \"*\";\n const optional = mod === \"?\" || mod === \"*\";\n const prefix = optional && pattern[match.index - 1] === \"/\" ? 1 : 0;\n const prev = pattern.substring(lastIndex, match.index - prefix);\n keys.push({\n name: segment\n });\n lastIndex = groupRx.lastIndex;\n result += $fa39f85a2f4c40bd$var$escapeRx(prev) + $fa39f85a2f4c40bd$var$rxForSegment(repeat, optional, prefix);\n }\n result += $fa39f85a2f4c40bd$var$escapeRx(pattern.substring(lastIndex));\n return {\n keys: keys,\n regexp: new RegExp(\"^\" + result + \"(?:\\\\/)?$\", \"i\")\n };\n};\n\n\n\n/*\n * Router and router context. Router is a lightweight object that represents the current\n * routing options: how location is managed, base path etc.\n *\n * There is a default router present for most of the use cases, however it can be overridden\n * via the component.\n */ const $43f4290c2e1c8c6c$var$defaultRouter = {\n hook: (0, $e7eac5accd0c8e48$export$2e2bcd8739ae039),\n matcher: (0, $fa39f85a2f4c40bd$export$2e2bcd8739ae039)(),\n base: \"\"\n};\nconst $43f4290c2e1c8c6c$var$RouterCtx = (0, $adfd32792a864deb$export$fd42f52fd3ae1109)($43f4290c2e1c8c6c$var$defaultRouter);\nconst $43f4290c2e1c8c6c$export$9a302a45f65d0572 = ()=>(0, $70db777e8f6135ab$export$fae74005e78b1a27)($43f4290c2e1c8c6c$var$RouterCtx);\n/*\n * Part 1, Hooks API: useRoute and useLocation\n */ // Internal version of useLocation to avoid redundant useRouter calls\nconst $43f4290c2e1c8c6c$var$useLocationFromRouter = (router)=>router.hook(router);\nconst $43f4290c2e1c8c6c$export$45d76561a5302f2b = ()=>$43f4290c2e1c8c6c$var$useLocationFromRouter($43f4290c2e1c8c6c$export$9a302a45f65d0572());\nconst $43f4290c2e1c8c6c$export$3f79f0b98112cf57 = (pattern)=>{\n const router = $43f4290c2e1c8c6c$export$9a302a45f65d0572();\n const [path] = $43f4290c2e1c8c6c$var$useLocationFromRouter(router);\n return router.matcher(pattern, path);\n};\nconst $43f4290c2e1c8c6c$export$55185c17a0fcbe46 = ({ hook: hook, matcher: matcher, ssrPath: ssrPath, base: base = \"\", parent: parent, children: children })=>{\n // updates the current router with the props passed down to the component\n const updateRouter = (router, proto = parent || $43f4290c2e1c8c6c$var$defaultRouter)=>{\n router.hook = hook || proto.hook;\n router.matcher = matcher || proto.matcher;\n router.ssrPath = ssrPath || proto.ssrPath;\n router.ownBase = base;\n // store reference to parent router\n router.parent = parent;\n return router;\n };\n // we use `useState` here, but it only catches the first render and never changes.\n // https://reactjs.org/docs/hooks-faq.html#how-to-create-expensive-objects-lazily\n const [value] = (0, $70db777e8f6135ab$export$60241385465d0a34)(()=>updateRouter({\n // We must store base as a property accessor because effects\n // somewhat counter-intuitively run in child components *first*!\n // This means that by the time a parent's base is updated in the\n // parent effect, the child effect has already run, and saw\n // the parent's *previous* base during its own execution.\n get base () {\n return (value.parent || $43f4290c2e1c8c6c$var$defaultRouter).base + value.ownBase;\n }\n })); // create the object once...\n (0, $70db777e8f6135ab$export$e5c5a5f917a5871c)(()=>{\n updateRouter(value);\n }); // ...then update it on each render\n return (0, $adfd32792a864deb$export$c8a8987d4410bf2d)($43f4290c2e1c8c6c$var$RouterCtx.Provider, {\n value: value,\n children: children\n });\n};\nconst $43f4290c2e1c8c6c$export$e7b0ac011bb776c6 = ({ path: path, match: match, component: component, children: children })=>{\n const useRouteMatch = $43f4290c2e1c8c6c$export$3f79f0b98112cf57(path);\n // `props.match` is present - Route is controlled by the Switch\n const [matches, params] = match || useRouteMatch;\n if (!matches) return null;\n // React-Router style `component` prop\n if (component) return (0, $adfd32792a864deb$export$c8a8987d4410bf2d)(component, {\n params: params\n });\n // support render prop or plain children\n return typeof children === \"function\" ? children(params) : children;\n};\nconst $43f4290c2e1c8c6c$export$a6c7ac8248d6e38a = (0, $b2dbedd88e2bb823$export$257a8862b851cb5b)((props, ref)=>{\n const router = $43f4290c2e1c8c6c$export$9a302a45f65d0572();\n const [, navigate] = $43f4290c2e1c8c6c$var$useLocationFromRouter(router);\n const { to: to, href: href = to, children: children, onClick: onClick } = props;\n const handleClick = (0, $b2dbedd88e2bb823$export$90fc3a17d93f704c)((event)=>{\n // ignores the navigation when clicked using right mouse button or\n // by holding a special modifier key: ctrl, command, win, alt, shift\n if (event.ctrlKey || event.metaKey || event.altKey || event.shiftKey || event.button !== 0) return;\n onClick && onClick(event);\n if (!event.defaultPrevented) {\n event.preventDefault();\n navigate(to || href, props);\n }\n });\n // wraps children in `a` if needed\n const extraProps = {\n // handle nested routers and absolute paths\n href: href[0] === \"~\" ? href.slice(1) : router.base + href,\n onClick: handleClick,\n to: null,\n ref: ref\n };\n const jsx = (0, $adfd32792a864deb$export$a8257692ac88316c)(children) ? children : (0, $adfd32792a864deb$export$c8a8987d4410bf2d)(\"a\", props);\n return (0, $adfd32792a864deb$export$e530037191fcd5d7)(jsx, extraProps);\n});\nconst $43f4290c2e1c8c6c$var$flattenChildren = (children)=>{\n return Array.isArray(children) ? [].concat(...children.map((c)=>c && c.type === (0, $adfd32792a864deb$export$ffb0004e005737fa) ? $43f4290c2e1c8c6c$var$flattenChildren(c.props.children) : $43f4290c2e1c8c6c$var$flattenChildren(c))) : [\n children\n ];\n};\nconst $43f4290c2e1c8c6c$export$b5d5cf8927ab7262 = ({ children: children, location: location })=>{\n const router = $43f4290c2e1c8c6c$export$9a302a45f65d0572();\n const matcher = router.matcher;\n const [originalLocation] = $43f4290c2e1c8c6c$var$useLocationFromRouter(router);\n for (const element of $43f4290c2e1c8c6c$var$flattenChildren(children)){\n let match = 0;\n if ((0, $adfd32792a864deb$export$a8257692ac88316c)(element) && // we don't require an element to be of type Route,\n // but we do require it to contain a truthy `path` prop.\n // this allows to use different components that wrap Route\n // inside of a switch, for example .\n (match = element.props.path ? matcher(element.props.path, location || originalLocation) : [\n true,\n {}\n ])[0]) return (0, $adfd32792a864deb$export$e530037191fcd5d7)(element, {\n match: match\n });\n }\n return null;\n};\nconst $43f4290c2e1c8c6c$export$2d8d895a0a0f636e = (props)=>{\n const { to: to, href: href = to } = props;\n const [, navigate] = $43f4290c2e1c8c6c$export$45d76561a5302f2b();\n const redirect = (0, $b2dbedd88e2bb823$export$90fc3a17d93f704c)(()=>navigate(to || href, props));\n // redirect is guaranteed to be stable since it is returned from useEvent\n (0, $70db777e8f6135ab$export$e5c5a5f917a5871c)(()=>{\n redirect();\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n return null;\n};\nvar $43f4290c2e1c8c6c$export$2e2bcd8739ae039 = $43f4290c2e1c8c6c$export$3f79f0b98112cf57;\n\n\n\nconst $a43cd3da5e11dd79$var$windowLocation = ()=>window.location.hash.replace(\"#\", \"\") || \"/\";\nconst $a43cd3da5e11dd79$export$8eb08f90c24d5079 = ({ url: url })=>`/#/play/${encodeURIComponent(url)}`;\nconst $a43cd3da5e11dd79$export$4fac2eeccfa4a8ca = (location)=>{\n if (location === \"/\") return \"home\";\n const currentView = location.split(\"/\").filter(Boolean)[0];\n return currentView || \"\";\n};\nconst $a43cd3da5e11dd79$export$b37f3f4c9f6562f7 = ()=>{\n const [currentLocation, setCurrentLocation] = (0, $70db777e8f6135ab$export$60241385465d0a34)($a43cd3da5e11dd79$var$windowLocation());\n (0, $70db777e8f6135ab$export$6d9c69b0de29b591)(()=>{\n const onHashChange = ()=>{\n let newLocation = $a43cd3da5e11dd79$var$windowLocation();\n if (newLocation !== currentLocation) {\n setCurrentLocation(newLocation);\n window.scrollTo(0, 0);\n }\n };\n onHashChange();\n window.addEventListener(\"hashchange\", onHashChange);\n return ()=>window.removeEventListener(\"hashchange\", onHashChange);\n }, [\n currentLocation,\n setCurrentLocation\n ]);\n const navigate = (0, $70db777e8f6135ab$export$35808ee640e87ca7)((to)=>{\n window.location.hash = to.replace(\"#/\", \"\");\n }, []);\n return [\n currentLocation,\n navigate\n ];\n};\n\n\n\nconst $87d3613fdd90d9f3$export$d9a33280f07116d9 = [\n \"light\",\n \"dim\",\n \"dark\",\n /* Solarized */ \"solarized-light\",\n \"solarized-dark\",\n /* Original */ \"emo\",\n \"redrum\",\n \"toxin\",\n \"valve\",\n \"wasp\",\n /* Monkeytype */ /* @see https://github.com/monkeytypegame/monkeytype/blob/master/frontend/static/themes/_list.json */ \"a8008\",\n \"a80s_after_dark\",\n \"a9009\",\n \"aether\",\n \"alduin\",\n \"alpine\",\n \"arch\",\n \"aurora\",\n \"beach\",\n \"bento\",\n \"bingsu\",\n \"bliss\",\n \"blue_dolphin\",\n \"blueberry_dark\",\n \"blueberry_light\",\n \"botanical\",\n \"bouquet\",\n \"breeze\",\n \"bushido\",\n \"cafe\",\n \"camping\",\n \"carbon\",\n \"catppuccin\",\n \"chaos_theory\",\n \"cheesecake\",\n \"cherry_blossom\",\n \"comfy\",\n \"copper\",\n \"creamsicle\",\n \"cyberspace\",\n \"dark_magic_girl\",\n \"dark_note\",\n \"darling\",\n \"deku\",\n \"desert_oasis\",\n \"dev\",\n \"diner\",\n \"dino\",\n \"dmg\",\n \"dollar\",\n \"dots\",\n \"dracula\",\n \"drowning\",\n \"dualshot\",\n \"earthsong\",\n \"everblush\",\n \"evil_eye\",\n \"ez_mode\",\n \"fire\",\n \"fledgling\",\n \"fleuriste\",\n \"froyo\",\n \"frozen_llama\",\n \"fruit_chew\",\n \"fundamentals\",\n \"future_funk\",\n \"godspeed\",\n \"graen\",\n \"grand_prix\",\n \"gruvbox_dark\",\n \"gruvbox_light\",\n \"hammerhead\",\n \"hanok\",\n \"hedge\",\n \"honey\",\n \"horizon\",\n \"husqy\",\n \"iceberg_dark\",\n \"iceberg_light\",\n \"ishtar\",\n \"iv_clover\",\n \"iv_spade\",\n \"joker\",\n \"laser\",\n \"lavender\",\n \"leather\",\n \"lil_dragon\",\n \"lime\",\n \"luna\",\n \"magic_girl\",\n \"mashu\",\n \"matcha_moccha\",\n \"material\",\n \"matrix\",\n \"menthol\",\n \"metaverse\",\n \"metropolis\",\n \"mexican\",\n \"miami\",\n \"miami_nights\",\n \"midnight\",\n \"milkshake\",\n \"mint\",\n \"mizu\",\n \"modern_dolch\",\n \"modern_dolch_light\",\n \"modern_ink\",\n \"monokai\",\n \"moonlight\",\n \"mountain\",\n \"mr_sleeves\",\n \"ms_cupcakes\",\n \"muted\",\n \"nautilus\",\n \"nebula\",\n \"night_runner\",\n \"nord\",\n \"nord_light\",\n \"norse\",\n \"oblivion\",\n \"olive\",\n \"olivia\",\n \"onedark\",\n \"our_theme\",\n \"paper\",\n \"passion_fruit\",\n \"pastel\",\n \"peach_blossom\",\n \"peaches\",\n \"pink_lemonade\",\n \"pulse\",\n \"purpurite\",\n \"red_dragon\",\n \"red_samurai\",\n \"repose_dark\",\n \"repose_light\",\n \"retro\",\n \"retrocast\",\n \"rose_pine\",\n \"rose_pine_dawn\",\n \"rose_pine_moon\",\n \"rudy\",\n \"ryujinscales\",\n \"serika\",\n \"serika_dark\",\n \"sewing_tin\",\n \"sewing_tin_light\",\n \"shadow\",\n \"shoko\",\n \"slambook\",\n \"snes\",\n \"soaring_skies\",\n \"sonokai\",\n \"stealth\",\n \"strawberry\",\n \"striker\",\n \"superuser\",\n \"sweden\",\n \"taro\",\n \"terminal\",\n \"terra\",\n \"terror_below\",\n \"tiramisu\",\n \"trackday\",\n \"trance\",\n \"tron_orange\",\n \"vaporwave\",\n \"viridescent\",\n \"voc\",\n \"vscode\",\n \"watermelon\",\n \"wavez\",\n \"witch_girl\"\n];\n\n\n\nconst $31f868e32fe83e3e$var$LS_THEME_KEY = \"elseifplayer/theme\";\nconst $31f868e32fe83e3e$var$DEFAULT_THEME = (0, $87d3613fdd90d9f3$export$d9a33280f07116d9)[0];\nconst $31f868e32fe83e3e$var$getSavedTheme = ()=>{\n const savedTheme = localStorage.getItem($31f868e32fe83e3e$var$LS_THEME_KEY);\n return savedTheme || $31f868e32fe83e3e$var$DEFAULT_THEME;\n};\nconst $31f868e32fe83e3e$var$assertTheme = (theme)=>(0, $87d3613fdd90d9f3$export$d9a33280f07116d9).includes(theme) ? theme : $31f868e32fe83e3e$var$getSavedTheme();\nconst $31f868e32fe83e3e$export$818080cba8053148 = (initialTheme = $31f868e32fe83e3e$var$getSavedTheme())=>{\n const [currentTheme, setCurrentTheme] = (0, $70db777e8f6135ab$export$60241385465d0a34)(initialTheme);\n const setTheme = (theme)=>{\n const newTheme = $31f868e32fe83e3e$var$assertTheme(theme);\n setCurrentTheme(newTheme);\n localStorage.setItem($31f868e32fe83e3e$var$LS_THEME_KEY, newTheme);\n };\n const setRandomTheme = ()=>{\n const randomTheme = (0, $87d3613fdd90d9f3$export$d9a33280f07116d9)[Math.floor(Math.random() * (0, $87d3613fdd90d9f3$export$d9a33280f07116d9).length)];\n setTheme(randomTheme);\n };\n return {\n currentTheme: currentTheme,\n setTheme: setTheme,\n setRandomTheme: setRandomTheme,\n themes: $87d3613fdd90d9f3$export$d9a33280f07116d9\n };\n};\n\n\n\n\n\n\nfunction $8e9729df037268c2$export$2e2bcd8739ae039({ theme: theme, setLocation: setLocation, buildLink: buildLink }) {\n const fileInputHandler = ({ target: target })=>{\n const file = target.files[0];\n const url = `${URL.createObjectURL(file)}#${file.name}`;\n setLocation(buildLink({\n url: url,\n theme: theme\n }));\n };\n return /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"input\", {\n type: \"file\",\n onChange: fileInputHandler\n });\n}\n\n\n\nfunction $1d45441ec446f904$export$2e2bcd8739ae039({ theme: theme, setLocation: setLocation, buildLink: buildLink }) {\n const urlRE = /^(http|https):\\/\\/[^ \"]+$/;\n const onKeyPress = ({ keyCode: keyCode, target: target })=>{\n if (keyCode !== 13) return;\n const url = encodeURI(target.value);\n if (urlRE.test(url)) setLocation(buildLink({\n url: url,\n theme: theme\n }));\n };\n return /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"input\", {\n type: \"text\",\n placeholder: \"https://...\",\n onKeyPress: onKeyPress\n });\n}\n\n\n\nfunction $17b050a6c4860540$export$2e2bcd8739ae039({ themeEngine: themeEngine }) {\n const options = themeEngine.themes.map((theme)=>/*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"option\", {\n value: theme,\n children: theme\n }, theme));\n return /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"select\", {\n value: themeEngine.currentTheme,\n onChange: ({ target: target })=>themeEngine.setTheme(target.value),\n children: options\n });\n}\n\n\nfunction $bf3b722837e02a56$export$2e2bcd8739ae039({ themeEngine: themeEngine }) {\n const setLocation = (0, $a43cd3da5e11dd79$export$b37f3f4c9f6562f7)()[1];\n return /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"main\", {\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"h1\", {\n children: \"ElseIFPlayer\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"section\", {\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"p\", {\n children: [\n \"Interactive Fiction interpreter that runs right in your browser.\",\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"br\", {}),\n \"Source code can be found in this \",\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: \"https://github.com/He4eT/elseifplayer\",\n children: \"repository\"\n }),\n \".\"\n ]\n })\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"hr\", {}),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"section\", {\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"h2\", {\n children: \"Interface Theme\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $17b050a6c4860540$export$2e2bcd8739ae039), {\n themeEngine: themeEngine\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"p\", {\n children: [\n \"Preview and choose from available themes on the \",\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $43f4290c2e1c8c6c$export$a6c7ac8248d6e38a), {\n href: \"/#/themes/\",\n children: \"themes page\"\n }),\n \".\"\n ]\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"p\", {\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"small\", {\n children: \"Double-click the input field during the game to enter full-screen mode.\"\n })\n })\n ]\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"hr\", {}),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"section\", {\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"h2\", {\n children: \"Play a Game from the List\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"p\", {\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $43f4290c2e1c8c6c$export$a6c7ac8248d6e38a), {\n href: \"/#/games/\",\n children: \"IFDB games\"\n })\n })\n ]\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"hr\", {}),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"section\", {\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"h2\", {\n children: \"Play the Game from a File\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"p\", {\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"details\", {\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"summary\", {\n children: \"Supported formats\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"p\", {\n children: \"Text-only games are supported:\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"ul\", {\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"li\", {\n children: \"ADRIFT 4 (.taf)\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"li\", {\n children: \"Glulx (.gblorb, .ulx)\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"li\", {\n children: \"Hugo (.hex)\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"li\", {\n children: \"TADS 2/3 (.gam, .t3)\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"li\", {\n children: \"Z-code (.z3, .z4, .z5, .z8, .blorb)\"\n })\n ]\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"p\", {\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"label\", {\n children: [\n \"Local file: \",\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"br\", {}),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $8e9729df037268c2$export$2e2bcd8739ae039), {\n setLocation: setLocation,\n buildLink: (0, $a43cd3da5e11dd79$export$8eb08f90c24d5079),\n theme: themeEngine.currentTheme\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"p\", {\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"label\", {\n children: [\n \"Direct link: \",\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"br\", {}),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $1d45441ec446f904$export$2e2bcd8739ae039), {\n setLocation: setLocation,\n buildLink: (0, $a43cd3da5e11dd79$export$8eb08f90c24d5079),\n theme: themeEngine.currentTheme\n })\n ]\n })\n })\n ]\n })\n ]\n });\n}\n\n\n\n\n\n\n\nfunction $26d7563a3571c071$export$2e2bcd8739ae039({ name: name, ifdb: ifdb, url: url }) {\n return /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"h4\", {\n children: name\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: ifdb,\n children: \"IFDB page\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"span\", {\n children: \" | \"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $43f4290c2e1c8c6c$export$a6c7ac8248d6e38a), {\n href: (0, $a43cd3da5e11dd79$export$8eb08f90c24d5079)({\n url: url\n }),\n children: \"Play\"\n })\n ]\n });\n}\n\n\nvar $1d41e2692da71243$export$2e2bcd8739ae039 = [\n [\n \"Lost Pig\",\n \"https://ifdb.org/viewgame?id=mohwfk47yjzii14w\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/LostPig.z8\"\n ],\n [\n /* Check with cheap-glk */ \"Counterfeit Monkey\",\n \"https://ifdb.org/viewgame?id=aearuuxv83plclpl\",\n \"https://mirror.ifarchive.org/if-archive/games/glulx/CounterfeitMonkey.gblorb\"\n ],\n [\n /* Works. Check inputs */ \"Anchorhead\",\n \"https://ifdb.org/viewgame?id=op0uw1gn1tjqmjt7\",\n \"https://ifarchive.org/if-archive/games/zcode/anchor.z8\"\n ],\n /* [\n '80 DAYS',\n 'https://ifdb.org/viewgame?id=du51t0qrhjqlnbij',\n 'INKLEWRITER'\n ], */ [\n \"Galatea\",\n \"https://ifdb.org/viewgame?id=urxrv27t7qtu52lb\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/Galatea.zblorb\"\n ],\n [\n /* Works. Check inputs */ \"Photopia\",\n \"https://ifdb.org/viewgame?id=ju778uv5xaswnlpl\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/photopia.z5\"\n ],\n [\n \"Spider and Web\",\n \"https://ifdb.org/viewgame?id=2xyccw3pe0uovfad\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/Tangle.z5\"\n ],\n /* [\n 'Trinity',\n 'https://ifdb.org/viewgame?id=j18kjz80hxjtyayw',\n 'ZIP'\n ], */ /* [\n 'Hadean Lands',\n 'https://ifdb.org/viewgame?id=u58d0mlbfwcorfi',\n 'COMMERCIAL'\n ], */ /* [\n 'Superluminal Vagrant Twin',\n 'https://ifdb.org/viewgame?id=5xzoz5wimz4xxha',\n 'CORS https://v6p9d9t4.ssl.hwcdn.net/html/177384/Superluminal%20Vagrant%20Twin%20Webpage/files/Superluminal%20Vagrant%20Twin.gblorb'\n ], */ /* [\n 'Birdland',\n 'https://ifdb.org/viewgame?id=ap1651hvjldbuugj',\n 'TWINE'\n ], */ [\n \"Slouching Towards Bedlam\",\n \"https://ifdb.org/viewgame?id=032krqe6bjn5au78\",\n \"https://mirror.ifarchive.org/if-archive/games/competition2003/zcode/slouch/slouch.z5\"\n ],\n [\n \"Curses!\",\n \"https://ifdb.org/viewgame?id=plvzam05bmz3enh8\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/curses.z5\"\n ],\n /* [\n 'howling dogs',\n 'https://ifdb.org/viewgame?id=mxj7xp4nffia9rbj',\n 'TWINE'\n ], */ [\n \"Violet\",\n \"https://ifdb.org/viewgame?id=4glrrfh7wrp9zz7b\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/Violet.zblorb\"\n ],\n [\n \"The Wizard Sniffer\",\n \"https://ifdb.org/viewgame?id=uq18rw9gt8j58da\",\n \"https://ifarchive.org/if-archive/games/competition2017/The%20Wizard%20Sniffer/The_Wizard_Sniffer.gblorb\"\n ],\n /* [\n 'Eat Me',\n 'https://ifdb.org/viewgame?id=yutkd9u0oeog4br1',\n 'ZIP https://ifarchive.org/if-archive/games/competition2017/Eat%20Me/Eat%20Me/Gblorb.zip'\n ], */ /* [\n 'Horse Master',\n 'https://ifdb.org/viewgame?id=ogkcvv9l1q0aatpd',\n 'TWINE'\n ], */ /* [\n 'Mentula Macanus: Apocolocyntosis',\n 'https://ifdb.org/viewgame?id=etul31tqgl3n22nl'\n 'ZIP'\n ], */ [\n \"Shade\",\n \"https://ifdb.org/viewgame?id=hsfc7fnl40k4a30q\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/shade.z5\"\n ],\n [\n \"Vespers\",\n \"https://ifdb.org/viewgame?id=6dj2vguyiagrhvc2\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/vespers.z8\"\n ],\n /* [\n 'Will Not Let Me Go',\n 'https://ifdb.org/viewgame?id=67r2qc21m5nzexv1',\n 'TWINE'\n ], */ /* [\n 'Bee',\n 'https://ifdb.org/viewgame?id=8pe83e92v4nvabic',\n 'VARYTALE'\n ], */ /* [\n 'Creatures Such As We',\n 'https://ifdb.org/viewgame?id=8l9cdcd1tbt77hfl',\n 'TWINE'\n ], */ /* [\n 'Kerkerkruip',\n 'https://ifdb.org/viewgame?id=f7zdhxmiraht53d1',\n 'CORS https://downloads.kerkerkruip.org/Kerkerkruip-latest.gblorb'\n ], */ /* [\n 'Midnight. Swordfight.',\n 'https://ifdb.org/viewgame?id=2cuwjlvpybg8oaf0',\n 'CORS https://www.castleprincessdragon.com/InteractiveFiction/MS/MidnightSwordfight.gblorb'\n ], */ [\n \"Savoir-Faire\",\n \"https://ifdb.org/viewgame?id=p0cizeb3kiwzlm2p\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/Savoir-Faire.zblorb\"\n ],\n /* [\n 'With Those We Love Alive',\n 'https://ifdb.org/viewgame?id=445d989vuwlh4cvz',\n 'TWINE'\n ], */ [\n \"Aisle\",\n \"https://ifdb.org/viewgame?id=j49crlvd62mhwuzu\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/Aisle.z5\"\n ],\n /* [\n 'Blue Lacuna',\n 'https://ifdb.org/viewgame?id=ez2mcyx4zi98qlkh',\n 'ZIP'\n ], */ [\n \"Gun Mute\",\n \"https://ifdb.org/viewgame?id=xwedbibfksczn7eq\",\n \"https://mirror.ifarchive.org/if-archive/games/tads/GunMute.t3\"\n ],\n /* [\n 'The King of Shreds and Patches',\n 'https://ifdb.org/viewgame?id=9ntef9expou18abv',\n 'ZIP'\n ], */ /* [\n 'A Mind Forever Voyaging',\n 'https://ifdb.org/viewgame?id=4h62dvooeg9ajtfa',\n 'CORS'\n ], */ /* [\n 'SPY INTRIGUE',\n 'https://ifdb.org/viewgame?id=zz6i7irfr70nvp7a',\n 'TWINE'\n ], */ /* [\n 'Wishbringer',\n 'https://ifdb.org/viewgame?id=z02joykzh66wfhcl',\n 'CORS'\n ], */ [\n \"A Beauty Cold and Austere\",\n \"https://ifdb.org/viewgame?id=y9y7jozi0l76bb82\",\n \"https://ifarchive.org/if-archive/games/competition2017/A%20Beauty%20Cold%20and%20Austere/A_Beauty_Cold_and_Austere.gblorb\"\n ],\n /* [\n 'Cactus Blue Motel',\n 'https://ifdb.org/viewgame?id=7e699ifb6u3767yr',\n 'TWINE'\n ], */ [\n \"Coloratura\",\n \"https://ifdb.org/viewgame?id=g0fl99ovcrq2sqzk\",\n \"https://mirror.ifarchive.org/if-archive/games/competition2013/glulx/coloratura/Coloratura.gblorb\"\n ],\n /* [\n 'Harmonia',\n 'https://ifdb.org/viewgame?id=bkyia4k48od1ila',\n 'TWINE'\n ], */ [\n \"Lime Ergot\",\n \"https://ifdb.org/viewgame?id=b8mb4fcwmf1hrxl\",\n \"https://mirror.ifarchive.org/if-archive/games/glulx/Lime_Ergot.gblorb\"\n ],\n [\n \"Rameses\",\n \"https://ifdb.org/viewgame?id=0stz0hr7a98bp9mp\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/rameses.zblorb\"\n ],\n /* [\n 'Spellbreaker',\n 'https://ifdb.org/viewgame?id=wqsmrahzozosu3r',\n 'CORS'\n ], */ /* [\n 'Suspended',\n 'https://ifdb.org/viewgame?id=t47hei9uq10xoar8',\n 'CORS'\n ], */ [\n \"The Wand\",\n \"https://ifdb.org/viewgame?id=2jil5vbxmbv8riv1\",\n \"https://ifarchive.org/if-archive/games/glulx/Wand.ulx\"\n ],\n /* [\n 'Zork I',\n 'https://ifdb.org/viewgame?id=0dbnusxunq7fw5ro',\n 'ZIP'\n ], */ [\n \"1893: A World's Fair Mystery\",\n \"https://ifdb.org/viewgame?id=00e0t7swrris5pg6\",\n \"https://mirror.ifarchive.org/if-archive/games/tads/1893.gam\"\n ],\n [\n \"Adventure\",\n \"https://ifdb.org/viewgame?id=fft6pu91j85y4acv\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/Advent.z5\"\n ],\n [\n \"Alias 'The Magpie'\",\n \"https://ifdb.org/viewgame?id=yspn49v69hzc8rtb\",\n \"https://ifarchive.org/if-archive/games/competition2018/Alias%20The%20Magpie/Alias%20%27The%20Magpie%27.gblorb\"\n ],\n /* [\n 'De Baron',\n 'https://ifdb.org/viewgame?id=weac28l51hiqfzxz',\n 'ZIP'\n ], */ /* [\n 'Bogeyman',\n 'https://ifdb.org/viewgame?id=ltwvgb2lubkx82yi',\n 'TWINE'\n ], */ [\n \"Cragne Manor\",\n \"https://ifdb.org/viewgame?id=4x7nltu8p851tn4x\",\n \"https://mirror.ifarchive.org/if-archive/games/glulx/cragne.gblorb\"\n ],\n [\n \"The Edifice\",\n \"https://ifdb.org/viewgame?id=4tb9soabrb4apqzd\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/edifice.z5\"\n ],\n [\n \"Endless, Nameless\",\n \"https://ifdb.org/viewgame?id=7vtm1rq16hh3xch\",\n \"https://ifarchive.org/if-archive/games/zcode/nameless.z8\"\n ],\n [\n \"Everybody Dies\",\n \"https://ifdb.org/viewgame?id=lyblvftb8xtlo0a1\",\n \"https://mirror.ifarchive.org/if-archive/games/competition2008/glulx/everybodydies/EverybodyDies.gblorb\"\n ],\n /* [\n 'Fallen London',\n 'https://ifdb.org/viewgame?id=y9m60ythcj2xn9r',\n 'STORYNEXUS'\n ], */ [\n \"Foo Foo\",\n \"https://ifdb.org/viewgame?id=ec6x9y8qcmsrxob9\",\n \"https://ifarchive.org/if-archive/games/springthing/2016/FooFoo.gblorb\"\n ],\n [\n \"The Gostak\",\n \"https://ifdb.org/viewgame?id=w5s3sv43s3p98v45\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/gostak.z5\"\n ],\n /* [\n 'The Hitchhiker\\'s Guide to the Galaxy',\n 'https://ifdb.org/viewgame?id=ouv80gvsl32xlion',\n 'CORS https://www.douglasadams.com/creations/hhgg.z3'\n ], */ /* [\n 'Hoist Sail for the Heliopause and Home',\n 'https://ifdb.org/viewgame?id=ykccumi5xc5rltev',\n 'CORS https://eblong.com/zarf/ftp/Heliopause.zblorb'\n ], */ /* [\n 'Human Errors',\n 'https://ifdb.org/viewgame?id=14oexa2wyym73glu',\n 'TWINE'\n ], */ [\n \"Inside the Facility\",\n \"https://ifdb.org/viewgame?id=stsdri5zh7a4i5my\",\n \"https://ifarchive.org/if-archive/games/competition2016/Inside%20the%20Facility/Facility.z8\"\n ],\n /* [\n 'Junior Arithmancer',\n 'https://ifdb.org/viewgame?id=pw1rbjt1t4n4n87s',\n 'https://ifarchive.org/if-archive/games/competition2018/Junior%20Arithmancer/Junior_Arithmancer.gblorb',\n ], */ [\n \"Make It Good\",\n \"https://ifdb.org/viewgame?id=jdrbw1htq4ah8q57\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/MakeItGood.z8\"\n ],\n [\n \"Sub Rosa\",\n \"https://ifdb.org/viewgame?id=73nvz9yui87ub3sd\",\n \"https://mirror.ifarchive.org/if-archive/games/glulx/Sub_Rosa.gblorb\"\n ],\n [\n \"Suveh Nux\",\n \"https://ifdb.org/viewgame?id=xkai23ry99qdxce3\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/suvehnux.z5\"\n ],\n /* [\n 'their angelical understanding',\n 'https://ifdb.org/viewgame?id=zpmfvbgolvfwbid',\n 'TWINE'\n ], */ /* [\n 'Toby\\'s Nose',\n 'https://ifdb.org/viewgame?id=xf5y04yekcrqtnc',\n 'CORS https://www.castleprincessdragon.com/InteractiveFiction/TobysNose/Toby\\'s%20Nose.gblorb'\n ], */ [\n \"Varicella\",\n \"https://ifdb.org/viewgame?id=ywwlr3tpxnktjasd\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/vgame.z8\"\n ]\n].map(([name, ifdb, url])=>({\n name: name,\n ifdb: ifdb,\n url: url\n }));\n\n\nvar $f2992819d79eae86$export$79863f625c4e57;\nvar $f2992819d79eae86$export$ccc8042d79dd0831;\n$f2992819d79eae86$export$79863f625c4e57 = `-soi4G_games`;\n$f2992819d79eae86$export$ccc8042d79dd0831 = `-soi4G_tutorial`;\n\n\nconst $82438f79b880153d$var$tutorialGame = {\n name: \"The Dreamhold\",\n ifdb: \"https://ifdb.org/viewgame?id=3myqnrs64nbtwdaz\",\n url: \"https://mirror.ifarchive.org/if-archive/games/zcode/dreamhold.z8\"\n};\nfunction $82438f79b880153d$export$2e2bcd8739ae039() {\n return /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"main\", {\n className: $f2992819d79eae86$export$79863f625c4e57,\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"h1\", {\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: \"https://ifdb.org/\",\n title: \"The Interactive Fiction Database\",\n children: \"IFDB\"\n }),\n \" Games\"\n ]\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"p\", {\n children: [\n \"Choose one or \",\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $43f4290c2e1c8c6c$export$a6c7ac8248d6e38a), {\n href: \"/\",\n children: \"go back\"\n }),\n \".\"\n ]\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"section\", {\n className: $f2992819d79eae86$export$ccc8042d79dd0831,\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"h2\", {\n children: \"Tutorial\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"p\", {\n children: \"If you are not familiar with Interactive Fiction, you should start with this tutorial game by\\xa0Andrew\\xa0Plotkin:\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"ul\", {\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"li\", {\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $26d7563a3571c071$export$2e2bcd8739ae039), {\n ...$82438f79b880153d$var$tutorialGame\n })\n })\n })\n ]\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"h2\", {\n children: \"Interactive Fiction Top 50 of All Time\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"p\", {\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: \"https://ifdb.org/search?comp&sortby=awn&searchfor=series%3AInteractive+Fiction+Top+50+of+All+Time\",\n children: \"Every four years \"\n }),\n \", Victor Gijsbers puts together a list of the top 50 IF games of all time. Here is an almost complete and slightly rearranged version of the \",\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: \"https://ifdb.org/viewcomp?id=1lv599reviaxvwo7\",\n children: \"list from 2019\"\n }),\n \":\"\n ]\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"ol\", {\n children: (0, $1d41e2692da71243$export$2e2bcd8739ae039).map((game)=>/*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"li\", {\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $26d7563a3571c071$export$2e2bcd8739ae039), {\n ...game\n })\n }, game.name))\n })\n ]\n });\n}\n\n\n\n\nvar $6bce942dbbed32a8$export$97aac956da55dae9;\nvar $6bce942dbbed32a8$export$b7e3ae3d7c15e42e;\nvar $6bce942dbbed32a8$export$a8ecead220dd38a6;\nvar $6bce942dbbed32a8$export$c789db2c85949867;\nvar $6bce942dbbed32a8$export$d61e5f8e032e1547;\nvar $6bce942dbbed32a8$export$77694752ff0b3730;\nvar $6bce942dbbed32a8$export$d9a33280f07116d9;\n$6bce942dbbed32a8$export$97aac956da55dae9 = `qdlvgW_current`;\n$6bce942dbbed32a8$export$b7e3ae3d7c15e42e = `qdlvgW_input`;\n$6bce942dbbed32a8$export$a8ecead220dd38a6 = `qdlvgW_message`;\n$6bce942dbbed32a8$export$c789db2c85949867 = `qdlvgW_output`;\n$6bce942dbbed32a8$export$d61e5f8e032e1547 = `qdlvgW_subheader`;\n$6bce942dbbed32a8$export$77694752ff0b3730 = `qdlvgW_themePreview`;\n$6bce942dbbed32a8$export$d9a33280f07116d9 = `qdlvgW_themes`;\n\n\nconst $1d6a41ed2b8e0680$var$Preview = (themeEngine, theme)=>/*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"section\", {\n className: [\n $6bce942dbbed32a8$export$77694752ff0b3730,\n theme\n ].join(\" \"),\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n className: $6bce942dbbed32a8$export$c789db2c85949867,\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n className: [\n $6bce942dbbed32a8$export$a8ecead220dd38a6,\n $6bce942dbbed32a8$export$b7e3ae3d7c15e42e\n ].join(\" \"),\n children: \"> look\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"br\", {})\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n className: [\n $6bce942dbbed32a8$export$a8ecead220dd38a6,\n $6bce942dbbed32a8$export$d61e5f8e032e1547\n ].join(\" \"),\n children: theme\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n children: \"Observe a vibrant demonstration of colors at work, showcasing their versatile usage right before your eyes.\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"br\", {})\n })\n ]\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"button\", {\n onClick: ()=>themeEngine.setTheme(theme),\n children: \"Apply this colors\"\n })\n ]\n }, theme);\nfunction $1d6a41ed2b8e0680$export$2e2bcd8739ae039({ themeEngine: themeEngine }) {\n const themes = themeEngine.themes.map((theme)=>$1d6a41ed2b8e0680$var$Preview(themeEngine, theme));\n return /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"main\", {\n className: $6bce942dbbed32a8$export$d9a33280f07116d9,\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"h1\", {\n children: \"Themes Page\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"p\", {\n children: [\n \"Choose one or \",\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $43f4290c2e1c8c6c$export$a6c7ac8248d6e38a), {\n href: \"/\",\n children: \"go back\"\n }),\n \".\"\n ]\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"section\", {\n className: [\n $6bce942dbbed32a8$export$77694752ff0b3730,\n $6bce942dbbed32a8$export$97aac956da55dae9\n ].join(\" \"),\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"h2\", {\n children: \"Current Theme\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n className: $6bce942dbbed32a8$export$c789db2c85949867,\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n className: [\n $6bce942dbbed32a8$export$a8ecead220dd38a6,\n $6bce942dbbed32a8$export$b7e3ae3d7c15e42e\n ].join(\" \"),\n children: \"> look\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"br\", {})\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n className: [\n $6bce942dbbed32a8$export$a8ecead220dd38a6,\n $6bce942dbbed32a8$export$d61e5f8e032e1547\n ].join(\" \"),\n children: [\n \"Selected: \",\n themeEngine.currentTheme\n ]\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n children: \"You can set random one with the button below or choose any theme from the list.\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"br\", {})\n })\n ]\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"button\", {\n onClick: ()=>themeEngine.setRandomTheme(),\n children: \"Set a random theme\"\n })\n ]\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"h2\", {\n children: \"Theme List\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"section\", {\n children: themes\n })\n ]\n });\n}\n\n\n\n\n\n\n/*\n\nEmglken port of Bocfel\n======================\n\nCopyright (c) 2021 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/ /*\n\nEmglken VM\n==========\n\nCopyright (c) 2022 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/ /*\n\nEmglken File System\n===================\n\nCopyright (c) 2020 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/ const $034c9f96cebd6b40$var$DIR_MODE = 16895 // 040777\n;\nconst $034c9f96cebd6b40$var$FILE_MODE = 33206 // 100666\n;\nconst $034c9f96cebd6b40$var$SEEK_SET = 0;\nconst $034c9f96cebd6b40$var$SEEK_CUR = 1;\nconst $034c9f96cebd6b40$var$SEEK_END = 2;\n// WASI error codes\n// See https://github.com/WebAssembly/wasi-libc/blob/master/libc-bottom-half/headers/public/wasi/api.h\nconst $034c9f96cebd6b40$var$EINVAL = 28;\nconst $034c9f96cebd6b40$var$ENOENT = 44;\n// Convert Linux flags to Glk flags\nconst $034c9f96cebd6b40$var$filemode_Write = 1;\nconst $034c9f96cebd6b40$var$filemode_Read = 2;\nconst $034c9f96cebd6b40$var$filemode_ReadWrite = 3;\nconst $034c9f96cebd6b40$var$filemode_WriteAppend = 5;\nfunction $034c9f96cebd6b40$var$convert_flags(flags) {\n // O_APPEND => filemode_WriteAppend\n if (flags & 0x400) return $034c9f96cebd6b40$var$filemode_WriteAppend;\n // O_WRONLY => filemode_Write\n if (flags & 1) return $034c9f96cebd6b40$var$filemode_Write;\n // O_RDWR => filemode_ReadWrite\n if (flags & 2) return $034c9f96cebd6b40$var$filemode_ReadWrite;\n // O_RDONLY => filemode_Read\n return $034c9f96cebd6b40$var$filemode_Read;\n}\nclass $034c9f96cebd6b40$export$2e2bcd8739ae039 {\n constructor(VM){\n this.dialog = VM.options.Dialog;\n this.streaming = this.dialog.streaming;\n this.FS = VM.Module.FS;\n this.VM = VM;\n this.filename_map = {};\n this.filename_counter = 0;\n }\n close(stream) {\n if (stream.name === \"storyfile\") ;\n else {\n if (this.streaming) stream.fstream.fclose();\n else if (stream.fmode !== $034c9f96cebd6b40$var$filemode_Read) this.dialog.file_write(stream.fref, stream.data);\n }\n }\n createNode(parent, name, mode /*, dev*/ ) {\n const FS = this.FS;\n if (!FS.isDir(mode) && !FS.isFile(mode)) throw new FS.ErrnoError($034c9f96cebd6b40$var$EINVAL);\n const node = FS.createNode(parent, name, mode);\n node.node_ops = this;\n node.stream_ops = this;\n node.timestamp = Date.now();\n return node;\n }\n getattr(node) {\n // At present only the size of the storyfile will be returned, as needed by Bocfel\n const size = node.name === \"storyfile\" ? this.VM.data.length : 0;\n // Not sure what to return here, so only return stuff some of it\n return {\n atime: new Date(node.timestamp),\n ctime: new Date(node.timestamp),\n dev: 1,\n gid: 0,\n ino: node.id,\n mode: node.mode,\n mtime: new Date(node.timestamp),\n nlink: 1,\n rdev: node.rdev,\n size: size,\n uid: 0\n };\n }\n // Get a Dialog ref for non-streaming Dialogs\n get_dialog_ref(filename) {\n let [name, usage] = filename.split(\".\");\n // RemGlk sends usages starting with 'glk', but Dialog wants them without\n usage = usage.replace(\"glk\", \"\");\n // Retrieve the game ID if opening a savefile\n let gameid = \"\";\n if (usage === \"save\") gameid = this.VM.Module.AsciiToString(this.VM.Module._gidispatch_get_game_id());\n return this.dialog.file_construct_ref(name, usage, gameid);\n }\n llseek(stream, offset, whence) {\n let position = offset;\n if (whence === $034c9f96cebd6b40$var$SEEK_CUR) position += stream.position;\n else if (whence === $034c9f96cebd6b40$var$SEEK_END) {\n if (stream.name === \"storyfile\") position += stream.data.length;\n else if (this.streaming) {\n const curpos = stream.fstream.ftell();\n stream.fstream.fseek(0, $034c9f96cebd6b40$var$SEEK_END);\n position += stream.fstream.ftell();\n stream.fstream.fseek(curpos, $034c9f96cebd6b40$var$SEEK_SET);\n } else position += stream.data.length;\n }\n if (position < 0) throw new this.FS.ErrnoError($034c9f96cebd6b40$var$EINVAL);\n return position;\n }\n lookup(parent, name) {\n if (name !== \"storyfile\") {\n const realname = this.filename_map[name] || name;\n if (!this.dialog.file_ref_exists(this.streaming ? {\n filename: realname\n } : this.get_dialog_ref(realname))) throw new this.FS.ErrnoError($034c9f96cebd6b40$var$ENOENT);\n }\n return this.createNode(parent, name, $034c9f96cebd6b40$var$FILE_MODE);\n }\n mknod(parent, name, mode /*, dev*/ ) {\n return this.createNode(parent, name, mode);\n }\n mmap() {\n throw new Error(\"EmglkenFS.mmap\");\n }\n mount() {\n return this.createNode(null, \"/\", $034c9f96cebd6b40$var$DIR_MODE, 0);\n }\n msync() {\n throw new Error(\"EmglkenFS.msync\");\n }\n open(stream) {\n stream.name = stream.node.name;\n if (stream.name === \"storyfile\") stream.data = this.VM.data;\n else {\n const fmode = $034c9f96cebd6b40$var$convert_flags(stream.flags);\n const realname = this.filename_map[stream.name] || stream.name;\n if (this.streaming) stream.fstream = this.dialog.file_fopen(fmode, {\n filename: realname\n });\n else {\n stream.fref = this.get_dialog_ref(realname);\n stream.fmode = fmode;\n // Read the content if not overwriting\n stream.data = null;\n if (fmode !== $034c9f96cebd6b40$var$filemode_Write) stream.data = this.dialog.file_read(stream.fref);\n // If no file and not reading, create a blank file\n if (stream.data == null) {\n stream.data = new Uint8Array(0);\n if (fmode !== $034c9f96cebd6b40$var$filemode_Read) this.dialog.file_write(stream.fref, \"\", true);\n }\n //stream.position = fmode === filemode_WriteAppend ? data.length : 0\n }\n }\n }\n read(stream, buffer, offset, length, position) {\n if (length === 0) return 0;\n if (stream.name === \"storyfile\") {\n const size = Math.min(stream.data.length - position, length);\n buffer.set(stream.data.subarray(position, position + size), offset);\n return size;\n } else if (this.streaming) {\n stream.fstream.fseek(position, $034c9f96cebd6b40$var$SEEK_SET);\n const buf = stream.fstream.BufferClass.from(buffer.buffer, offset, length);\n return stream.fstream.fread(buf, length);\n } else {\n const size = Math.min(stream.data.length - position, length);\n buffer.set(stream.data.subarray(position, position + size), offset);\n return size;\n }\n }\n readdir() {\n throw new Error(\"EmglkenFS.readdir\");\n }\n readlink() {\n throw new this.FS.ErrnoError($034c9f96cebd6b40$var$EINVAL);\n }\n // electrofs.js will give a full system path, which we can't handle. So store the full path and return a fake file name\n register_filename(filename, usage) {\n const suffix = usage === \"save\" ? \".glksave\" : usage === \"data\" ? \".glkdata\" : \".txt\";\n if (!/\\.(glkdata|glksave|txt)$/.test(filename)) filename = filename + suffix;\n if (this.filename_map[filename]) return this.filename_map[filename];\n const fakename = \"emglken_fake_file_\" + this.filename_counter++;\n this.filename_map[filename] = fakename;\n this.filename_map[fakename + suffix] = filename;\n return fakename;\n }\n rename() {\n throw new Error(\"EmglkenFS.rename\");\n }\n rmdir() {\n throw new Error(\"EmglkenFS.rmdir\");\n }\n setattr() {\n // I don't think we need to do anything here?\n // Maybe truncate a file?\n }\n symlink() {\n throw new Error(\"EmglkenFS.symlink\");\n }\n unlink(parent, name) {\n const realname = this.filename_map[name] || name;\n this.dialog.file_remove_ref(this.get_dialog_ref(realname));\n }\n write(stream, buffer, offset, length, position) {\n if (stream.name === \"storyfile\") throw new Error(\"EmglkenFS.write: cannot write to storyfile\");\n if (this.streaming) {\n stream.fstream.fseek(position, $034c9f96cebd6b40$var$SEEK_SET);\n const buf = stream.fstream.BufferClass.from(buffer).subarray(offset, offset + length);\n return stream.fstream.fwrite(buf, length);\n } else {\n position = position || stream.position;\n const end_of_write = length + position;\n if (end_of_write > stream.data.length) {\n const old_data = stream.data;\n stream.data = new Uint8Array(end_of_write);\n stream.data.set(old_data);\n }\n stream.data.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n}\n\n\nconst $0d34edacac7ea588$var$base_options = {\n arguments: [\n \"storyfile\"\n ]\n};\nclass $0d34edacac7ea588$export$2e2bcd8739ae039 {\n // Store the data and options\n init(data, options) {\n this.data = data;\n this.options = Object.assign({}, $0d34edacac7ea588$var$base_options, this.default_options(), options);\n }\n // Start GlkOte and the vmcore\n async start() {\n const encoder = new TextEncoder();\n let buffer = \"\";\n const Module = {\n arguments: this.options.show_help ? [\n \"-help\"\n ] : this.options.arguments,\n emglken_stdin_buffers: [],\n emglken_stdin_ready () {},\n // Fake locateFile so that Lectrote doesn't get tripped up on import.meta.url not being handled in CJS properly\n locateFile () {},\n print: (data)=>{\n if (buffer === \"\" && data !== \"\" && !data.startsWith(\"{\")) console.log(data);\n else {\n buffer += data;\n if (data.endsWith(\"}\")) {\n let obj;\n try {\n obj = JSON.parse(buffer);\n } catch (e) {}\n if (obj) {\n buffer = \"\";\n // Store the usage of a fileref prompt request\n if (obj.specialinput && obj.specialinput.type === \"fileref_prompt\") this.last_fr_usage = obj.specialinput.filetype;\n this.options.GlkOte.update(obj);\n }\n }\n }\n },\n preRun: ()=>{\n const FS = Module.FS;\n this.EFS = new (0, $034c9f96cebd6b40$export$2e2bcd8739ae039)(this);\n FS.mkdir(\"/emglken\");\n FS.mount(this.EFS, {}, \"/emglken\");\n FS.chdir(\"/emglken\");\n },\n wasmBinary: this.options.wasmBinary\n };\n this.Module = Module;\n this.options.accept = (data)=>{\n if (data.type === \"specialresponse\" && data.response === \"fileref_prompt\" && data.value) {\n // electrofs.js returns a full path, so register it with EmglkenFS, and return a fake filename\n if (this.EFS.streaming) data.value = this.EFS.register_filename(data.value.filename, this.last_fr_usage);\n else data.value = data.value.filename;\n }\n const json_data = JSON.stringify(data);\n const buffer = encoder.encode(json_data);\n Module.emglken_stdin_buffers.push(buffer);\n Module.emglken_stdin_ready();\n };\n await this.options.vmcore(Module);\n this.options.GlkOte.init(this.options);\n }\n}\n\n\nvar $98d53e988180932b$exports = {};\n\n$98d53e988180932b$exports = new URL((parcelRequire(\"6MsPj\")).resolve(\"4QCNJ\"), import.meta.url).toString();\n\n\nvar $2d243513b2ab5598$var$Module = (()=>{\n var _scriptDir = \"file:///node_modules/emglken/build/bocfel-core.js\";\n return function(Module = {}) {\n var Module = typeof Module != \"undefined\" ? Module : {};\n var readyPromiseResolve, readyPromiseReject;\n Module[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n });\n var moduleOverrides = Object.assign({}, Module);\n var arguments_ = [];\n var thisProgram = \"./this.program\";\n var quit_ = (status, toThrow)=>{\n throw toThrow;\n };\n var ENVIRONMENT_IS_WEB = true;\n var ENVIRONMENT_IS_WORKER = false;\n var scriptDirectory = \"\";\n function locateFile(path) {\n if (Module[\"locateFile\"]) return Module[\"locateFile\"](path, scriptDirectory);\n return scriptDirectory + path;\n }\n var read_, readAsync, readBinary, setWindowTitle;\n if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) scriptDirectory = self.location.href;\n else if (typeof document != \"undefined\" && document.currentScript) scriptDirectory = document.currentScript.src;\n if (_scriptDir) scriptDirectory = _scriptDir;\n if (scriptDirectory.indexOf(\"blob:\") !== 0) scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n else scriptDirectory = \"\";\n read_ = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) readBinary = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n readAsync = (url, onload, onerror)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = ()=>{\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n setWindowTitle = (title)=>document.title = title;\n }\n var out = Module[\"print\"] || console.log.bind(console);\n var err = Module[\"printErr\"] || console.warn.bind(console);\n Object.assign(Module, moduleOverrides);\n moduleOverrides = null;\n if (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n if (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n if (Module[\"quit\"]) quit_ = Module[\"quit\"];\n var wasmBinary;\n if (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n var noExitRuntime = Module[\"noExitRuntime\"] || false;\n if (typeof WebAssembly != \"object\") abort(\"no native wasm support detected\");\n var wasmMemory;\n var ABORT = false;\n var EXITSTATUS;\n function assert(condition, text) {\n if (!condition) abort(text);\n }\n var UTF8Decoder = new TextDecoder(\"utf8\");\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while(heapOrArray[endPtr] && !(endPtr >= endIdx))++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for(var end = ptr; !(end >= maxPtr) && HEAPU8[end];)++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n }\n function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for(var i = 0; i < str.length; ++i){\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n }\n function stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n }\n function lengthBytesUTF8(str) {\n var len = 0;\n for(var i = 0; i < str.length; ++i){\n var c = str.charCodeAt(i);\n if (c <= 127) len++;\n else if (c <= 2047) len += 2;\n else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else len += 3;\n }\n return len;\n }\n var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n function updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n }\n var wasmTable;\n var __ATPRERUN__ = [];\n var __ATINIT__ = [];\n var __ATMAIN__ = [];\n var __ATEXIT__ = [];\n var __ATPOSTRUN__ = [];\n var runtimeInitialized = false;\n var runtimeExited = false;\n var runtimeKeepaliveCounter = 0;\n function keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n }\n function preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [\n Module[\"preRun\"]\n ];\n while(Module[\"preRun\"].length)addOnPreRun(Module[\"preRun\"].shift());\n }\n callRuntimeCallbacks(__ATPRERUN__);\n }\n function initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n }\n function preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n }\n function exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n }\n function postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [\n Module[\"postRun\"]\n ];\n while(Module[\"postRun\"].length)addOnPostRun(Module[\"postRun\"].shift());\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n }\n function addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n }\n function addOnInit(cb) {\n __ATINIT__.unshift(cb);\n }\n function addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n }\n var runDependencies = 0;\n var runDependencyWatcher = null;\n var dependenciesFulfilled = null;\n function getUniqueRunDependency(id) {\n return id;\n }\n function addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n }\n function removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n }\n function abort(what) {\n if (Module[\"onAbort\"]) Module[\"onAbort\"](what);\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n }\n var dataURIPrefix = \"data:application/octet-stream;base64,\";\n function isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n }\n var wasmBinaryFile;\n if (Module[\"locateFile\"]) {\n wasmBinaryFile = \"bocfel-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) wasmBinaryFile = locateFile(wasmBinaryFile);\n } else wasmBinaryFile = new URL($98d53e988180932b$exports).href;\n function getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) return new Uint8Array(wasmBinary);\n if (readBinary) return readBinary(file);\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n }\n function getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n }\n function instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n }\n function instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n else return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n function createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"da\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"na\"];\n addOnInit(Module[\"asm\"][\"ea\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n }\n var tempDouble;\n var tempI64;\n function __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async ()=>{\n if (!Module.emglken_stdin_buffers.length) await new Promise((resolve)=>{\n Module.emglken_stdin_ready = resolve;\n });\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) HEAPU8.set(input, buffer);\n else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n }\n function ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n }\n function callRuntimeCallbacks(callbacks) {\n while(callbacks.length > 0)callbacks.shift()(Module);\n }\n var exceptionCaught = [];\n function exception_addRef(info) {\n info.add_ref();\n }\n var uncaughtExceptionCount = 0;\n function ___cxa_begin_catch(ptr) {\n var info = new ExceptionInfo(ptr);\n if (!info.get_caught()) {\n info.set_caught(true);\n uncaughtExceptionCount--;\n }\n info.set_rethrown(false);\n exceptionCaught.push(info);\n exception_addRef(info);\n return info.get_exception_ptr();\n }\n var exceptionLast = 0;\n function exception_decRef(info) {\n if (info.release_ref() && !info.get_rethrown()) {\n var destructor = info.get_destructor();\n if (destructor) ((a1)=>dynCall_ii.apply(null, [\n destructor,\n a1\n ]))(info.excPtr);\n ___cxa_free_exception(info.excPtr);\n }\n }\n function ___cxa_end_catch() {\n _setThrew(0);\n var info = exceptionCaught.pop();\n exception_decRef(info);\n exceptionLast = 0;\n }\n function ExceptionInfo(excPtr) {\n this.excPtr = excPtr;\n this.ptr = excPtr - 24;\n this.set_type = function(type) {\n HEAPU32[this.ptr + 4 >> 2] = type;\n };\n this.get_type = function() {\n return HEAPU32[this.ptr + 4 >> 2];\n };\n this.set_destructor = function(destructor) {\n HEAPU32[this.ptr + 8 >> 2] = destructor;\n };\n this.get_destructor = function() {\n return HEAPU32[this.ptr + 8 >> 2];\n };\n this.set_refcount = function(refcount) {\n HEAP32[this.ptr >> 2] = refcount;\n };\n this.set_caught = function(caught) {\n caught = caught ? 1 : 0;\n HEAP8[this.ptr + 12 >> 0] = caught;\n };\n this.get_caught = function() {\n return HEAP8[this.ptr + 12 >> 0] != 0;\n };\n this.set_rethrown = function(rethrown) {\n rethrown = rethrown ? 1 : 0;\n HEAP8[this.ptr + 13 >> 0] = rethrown;\n };\n this.get_rethrown = function() {\n return HEAP8[this.ptr + 13 >> 0] != 0;\n };\n this.init = function(type, destructor) {\n this.set_adjusted_ptr(0);\n this.set_type(type);\n this.set_destructor(destructor);\n this.set_refcount(0);\n this.set_caught(false);\n this.set_rethrown(false);\n };\n this.add_ref = function() {\n var value = HEAP32[this.ptr >> 2];\n HEAP32[this.ptr >> 2] = value + 1;\n };\n this.release_ref = function() {\n var prev = HEAP32[this.ptr >> 2];\n HEAP32[this.ptr >> 2] = prev - 1;\n return prev === 1;\n };\n this.set_adjusted_ptr = function(adjustedPtr) {\n HEAPU32[this.ptr + 16 >> 2] = adjustedPtr;\n };\n this.get_adjusted_ptr = function() {\n return HEAPU32[this.ptr + 16 >> 2];\n };\n this.get_exception_ptr = function() {\n var isPointer = ___cxa_is_pointer_type(this.get_type());\n if (isPointer) return HEAPU32[this.excPtr >> 2];\n var adjusted = this.get_adjusted_ptr();\n if (adjusted !== 0) return adjusted;\n return this.excPtr;\n };\n }\n function ___resumeException(ptr) {\n if (!exceptionLast) exceptionLast = ptr;\n throw ptr;\n }\n function ___cxa_find_matching_catch() {\n var thrown = exceptionLast;\n if (!thrown) {\n setTempRet0(0);\n return 0;\n }\n var info = new ExceptionInfo(thrown);\n info.set_adjusted_ptr(thrown);\n var thrownType = info.get_type();\n if (!thrownType) {\n setTempRet0(0);\n return thrown;\n }\n for(var i = 0; i < arguments.length; i++){\n var caughtType = arguments[i];\n if (caughtType === 0 || caughtType === thrownType) break;\n var adjusted_ptr_addr = info.ptr + 16;\n if (___cxa_can_catch(caughtType, thrownType, adjusted_ptr_addr)) {\n setTempRet0(caughtType);\n return thrown;\n }\n }\n setTempRet0(thrownType);\n return thrown;\n }\n var ___cxa_find_matching_catch_2 = ___cxa_find_matching_catch;\n var ___cxa_find_matching_catch_3 = ___cxa_find_matching_catch;\n var ___cxa_find_matching_catch_4 = ___cxa_find_matching_catch;\n var ___cxa_find_matching_catch_5 = ___cxa_find_matching_catch;\n var ___cxa_find_matching_catch_6 = ___cxa_find_matching_catch;\n var ___cxa_find_matching_catch_7 = ___cxa_find_matching_catch;\n function ___cxa_rethrow() {\n var info = exceptionCaught.pop();\n if (!info) abort(\"no exception to throw\");\n var ptr = info.excPtr;\n if (!info.get_rethrown()) {\n exceptionCaught.push(info);\n info.set_rethrown(true);\n info.set_caught(false);\n uncaughtExceptionCount++;\n }\n exceptionLast = ptr;\n throw ptr;\n }\n function ___cxa_throw(ptr, type, destructor) {\n var info = new ExceptionInfo(ptr);\n info.init(type, destructor);\n exceptionLast = ptr;\n uncaughtExceptionCount++;\n throw ptr;\n }\n function ___cxa_uncaught_exceptions() {\n return uncaughtExceptionCount;\n }\n var PATH = {\n isAbs: (path)=>path.charAt(0) === \"/\",\n splitPath: (filename)=>{\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot)=>{\n var up = 0;\n for(var i = parts.length - 1; i >= 0; i--){\n var last = parts[i];\n if (last === \".\") parts.splice(i, 1);\n else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) for(; up; up--)parts.unshift(\"..\");\n return parts;\n },\n normalize: (path)=>{\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter((p)=>!!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) path = \".\";\n if (path && trailingSlash) path += \"/\";\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: (path)=>{\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) return \".\";\n if (dir) dir = dir.substr(0, dir.length - 1);\n return root + dir;\n },\n basename: (path)=>{\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r)=>{\n return PATH.normalize(l + \"/\" + r);\n }\n };\n function getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return ()=>{\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return ()=>abort(\"randomDevice\");\n }\n var PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for(var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--){\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") throw new TypeError(\"Arguments to path.resolve must be strings\");\n else if (!path) return \"\";\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter((p)=>!!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to)=>{\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for(; start < arr.length; start++){\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for(; end >= 0; end--){\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for(var i = 0; i < length; i++)if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n var outputParts = [];\n for(var i = samePartsLength; i < fromParts.length; i++)outputParts.push(\"..\");\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n };\n function intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n }\n var TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) throw new FS.ErrnoError(43);\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) throw new FS.ErrnoError(60);\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) throw new FS.ErrnoError(60);\n try {\n for(var i = 0; i < length; i++)stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) result += \"\\n\";\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) result += \"\\n\";\n }\n if (!result) return null;\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n };\n function mmapAlloc(size) {\n abort();\n }\n var MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16895, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) throw new FS.ErrnoError(63);\n if (!MEMFS.ops_table) MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1048576;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) attr.size = 4096;\n else if (FS.isFile(node.mode)) attr.size = node.usedBytes;\n else if (FS.isLink(node.mode)) attr.size = node.link.length;\n else attr.size = 0;\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) node.mode = attr.mode;\n if (attr.timestamp !== undefined) node.timestamp = attr.timestamp;\n if (attr.size !== undefined) MEMFS.resizeFileStorage(node, attr.size);\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for(var i in new_node.contents)throw new FS.ErrnoError(55);\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for(var i in node.contents)throw new FS.ErrnoError(55);\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [\n \".\",\n \"..\"\n ];\n for(var key in node.contents){\n if (!node.contents.hasOwnProperty(key)) continue;\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 41471, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) throw new FS.ErrnoError(28);\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) buffer.set(contents.subarray(position, position + size), offset);\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) canOwn = false;\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position);\n else for(var i = 0; i < length; i++)node.contents[position + i] = buffer[offset + i];\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) position += stream.position;\n else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) position += stream.node.usedBytes;\n }\n if (position < 0) throw new FS.ErrnoError(28);\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) contents = contents.subarray(position, position + length);\n else contents = Array.prototype.slice.call(contents, position, position + length);\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n };\n function asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, (arrayBuffer)=>{\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, (event)=>{\n if (onerror) onerror();\n else throw 'Loading data file \"' + url + '\" failed.';\n });\n if (dep) addRunDependency(dep);\n }\n var FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {})=>{\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) throw new FS.ErrnoError(32);\n var parts = path.split(\"/\").filter((p)=>!!p);\n var current = FS.root;\n var current_path = \"/\";\n for(var i = 0; i < parts.length; i++){\n var islast = i === parts.length - 1;\n if (islast && opts.parent) break;\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) current = current.mounted.root;\n }\n if (!islast || opts.follow) {\n var count = 0;\n while(FS.isLink(current.mode)){\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) throw new FS.ErrnoError(32);\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: (node)=>{\n var path;\n while(true){\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name)=>{\n var hash = 0;\n for(var i = 0; i < name.length; i++)hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) FS.nameTable[hash] = node.name_next;\n else {\n var current = FS.nameTable[hash];\n while(current){\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name)=>{\n var errCode = FS.mayLookup(parent);\n if (errCode) throw new FS.ErrnoError(errCode, parent);\n var hash = FS.hashName(parent.id, name);\n for(var node = FS.nameTable[hash]; node; node = node.name_next){\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) return node;\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev)=>{\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: (node)=>{\n FS.hashRemoveNode(node);\n },\n isRoot: (node)=>{\n return node === node.parent;\n },\n isMountpoint: (node)=>{\n return !!node.mounted;\n },\n isFile: (mode)=>{\n return (mode & 61440) === 32768;\n },\n isDir: (mode)=>{\n return (mode & 61440) === 16384;\n },\n isLink: (mode)=>{\n return (mode & 61440) === 40960;\n },\n isChrdev: (mode)=>{\n return (mode & 61440) === 8192;\n },\n isBlkdev: (mode)=>{\n return (mode & 61440) === 24576;\n },\n isFIFO: (mode)=>{\n return (mode & 61440) === 4096;\n },\n isSocket: (mode)=>{\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: (str)=>{\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") throw new Error(\"Unknown file open mode: \" + str);\n return flags;\n },\n flagsToPermissionString: (flag)=>{\n var perms = [\n \"r\",\n \"w\",\n \"rw\"\n ][flag & 3];\n if (flag & 512) perms += \"w\";\n return perms;\n },\n nodePermissions: (node, perms)=>{\n if (FS.ignorePermissions) return 0;\n if (perms.includes(\"r\") && !(node.mode & 292)) return 2;\n else if (perms.includes(\"w\") && !(node.mode & 146)) return 2;\n else if (perms.includes(\"x\") && !(node.mode & 73)) return 2;\n return 0;\n },\n mayLookup: (dir)=>{\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name)=>{\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir)=>{\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) return errCode;\n if (isdir) {\n if (!FS.isDir(node.mode)) return 54;\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) return 10;\n } else {\n if (FS.isDir(node.mode)) return 31;\n }\n return 0;\n },\n mayOpen: (node, flags)=>{\n if (!node) return 44;\n if (FS.isLink(node.mode)) return 32;\n else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) return 31;\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS)=>{\n for(var fd = fd_start; fd <= fd_end; fd++){\n if (!FS.streams[fd]) return fd;\n }\n throw new FS.ErrnoError(33);\n },\n getStream: (fd)=>FS.streams[fd],\n createStream: (stream, fd_start, fd_end)=>{\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: (fd)=>{\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: (stream)=>{\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n },\n llseek: ()=>{\n throw new FS.ErrnoError(70);\n }\n },\n major: (dev)=>dev >> 8,\n minor: (dev)=>dev & 255,\n makedev: (ma, mi)=>ma << 8 | mi,\n registerDevice: (dev, ops)=>{\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: (dev)=>FS.devices[dev],\n getMounts: (mount)=>{\n var mounts = [];\n var check = [\n mount\n ];\n while(check.length){\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback)=>{\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) doCallback(null);\n }\n mounts.forEach((mount)=>{\n if (!mount.type.syncfs) return done(null);\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint)=>{\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) throw new FS.ErrnoError(10);\n else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n if (!FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) FS.root = mountRoot;\n else if (node) {\n node.mounted = mount;\n if (node.mount) node.mount.mounts.push(mount);\n }\n return mountRoot;\n },\n unmount: (mountpoint)=>{\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) throw new FS.ErrnoError(28);\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach((hash)=>{\n var current = FS.nameTable[hash];\n while(current){\n var next = current.name_next;\n if (mounts.includes(current.mount)) FS.destroyNode(current);\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name)=>{\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") throw new FS.ErrnoError(28);\n var errCode = FS.mayCreate(parent, name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.mknod) throw new FS.ErrnoError(63);\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode)=>{\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode)=>{\n mode = mode !== undefined ? mode : 511;\n mode &= 1023;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode)=>{\n var dirs = path.split(\"/\");\n var d = \"\";\n for(var i = 0; i < dirs.length; ++i){\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev)=>{\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath)=>{\n if (!PATH_FS.resolve(oldpath)) throw new FS.ErrnoError(44);\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.symlink) throw new FS.ErrnoError(63);\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path)=>{\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) throw new FS.ErrnoError(75);\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(28);\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(55);\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) return;\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) throw new FS.ErrnoError(errCode);\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!old_dir.node_ops.rename) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) throw new FS.ErrnoError(10);\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally{\n FS.hashAddNode(old_node);\n }\n },\n rmdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.rmdir) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) throw new FS.ErrnoError(54);\n return node.node_ops.readdir(node);\n },\n unlink: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.unlink) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: (path)=>{\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) throw new FS.ErrnoError(44);\n if (!link.node_ops.readlink) throw new FS.ErrnoError(28);\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow)=>{\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) throw new FS.ErrnoError(44);\n if (!node.node_ops.getattr) throw new FS.ErrnoError(63);\n return node.node_ops.getattr(node);\n },\n lstat: (path)=>{\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & -4096,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode)=>{\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid)=>{\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len)=>{\n if (len < 0) throw new FS.ErrnoError(28);\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n if (FS.isDir(node.mode)) throw new FS.ErrnoError(31);\n if (!FS.isFile(node.mode)) throw new FS.ErrnoError(28);\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(28);\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode)=>{\n if (path === \"\") throw new FS.ErrnoError(44);\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) mode = mode & 4095 | 32768;\n else mode = 0;\n var node;\n if (typeof path == \"object\") node = path;\n else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) throw new FS.ErrnoError(20);\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) throw new FS.ErrnoError(44);\n if (FS.isChrdev(node.mode)) flags &= -513;\n if (flags & 65536 && !FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n if (flags & 512 && !created) FS.truncate(node, 0);\n flags &= -131713;\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) FS.readFiles[path] = 1;\n }\n return stream;\n },\n close: (stream)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) stream.stream_ops.close(stream);\n } catch (e) {\n throw e;\n } finally{\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: (stream)=>{\n return stream.fd === null;\n },\n llseek: (stream, offset, whence)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (!stream.seekable || !stream.stream_ops.llseek) throw new FS.ErrnoError(70);\n if (whence != 0 && whence != 1 && whence != 2) throw new FS.ErrnoError(28);\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.read) throw new FS.ErrnoError(28);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.write) throw new FS.ErrnoError(28);\n if (stream.seekable && stream.flags & 1024) FS.llseek(stream, 0, 2);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (offset < 0 || length <= 0) throw new FS.ErrnoError(28);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) throw new FS.ErrnoError(43);\n if (!stream.stream_ops.allocate) throw new FS.ErrnoError(138);\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags)=>{\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) throw new FS.ErrnoError(2);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(2);\n if (!stream.stream_ops.mmap) throw new FS.ErrnoError(43);\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags)=>{\n if (!stream.stream_ops.msync) return 0;\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: (stream)=>0,\n ioctl: (stream, cmd, arg)=>{\n if (!stream.stream_ops.ioctl) throw new FS.ErrnoError(59);\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {})=>{\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") ret = UTF8ArrayToString(buf, 0);\n else if (opts.encoding === \"binary\") ret = buf;\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {})=>{\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n else throw new Error(\"Unsupported data type\");\n FS.close(stream);\n },\n cwd: ()=>FS.currentPath,\n chdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) throw new FS.ErrnoError(44);\n if (!FS.isDir(lookup.node.mode)) throw new FS.ErrnoError(54);\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) throw new FS.ErrnoError(errCode);\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: ()=>{\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: ()=>{\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: ()=>0,\n write: (stream, buffer, offset, length, pos)=>length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: ()=>{\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: ()=>{\n var node = FS.createNode(proc_self, \"fd\", 16895, 73);\n node.node_ops = {\n lookup: (parent, name)=>{\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: ()=>stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: ()=>{\n if (Module[\"stdin\"]) FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n if (Module[\"stdout\"]) FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n if (Module[\"stderr\"]) FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n else FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: ()=>{\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [\n 44\n ].forEach((code)=>{\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: ()=>{\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error)=>{\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: ()=>{\n FS.init.initialized = false;\n _fflush(0);\n for(var i = 0; i < FS.streams.length; i++){\n var stream = FS.streams[i];\n if (!stream) continue;\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite)=>{\n var mode = 0;\n if (canRead) mode |= 365;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink)=>{\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) return null;\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink)=>{\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite)=>{\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while(parts.length){\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn)=>{\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for(var i = 0, len = data.length; i < len; ++i)arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: (stream)=>{\n stream.seekable = false;\n },\n close: (stream)=>{\n if (output && output.buffer && output.buffer.length) output(10);\n },\n read: (stream, buffer, offset, length, pos)=>{\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos)=>{\n for(var i = 0; i < length; i++)try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: (obj)=>{\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n 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.\");\n else if (read_) try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n else throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n },\n createLazyFile: (parent, name, url, canRead, canWrite)=>{\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) return undefined;\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1048576;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to)=>{\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) return new Uint8Array(xhr.response || []);\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter((chunkNum)=>{\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") lazyArray.chunks[chunkNum] = doXHR(start, end);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else var properties = {\n isDevice: false,\n url: url\n };\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) node.contents = properties.contents;\n else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach((key)=>{\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents.get(position + i);\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position)=>{\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags)=>{\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish)=>{\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, ()=>{\n if (onerror) onerror();\n removeRunDependency(dep);\n })) return;\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") asyncLoad(url, (byteArray)=>processData(byteArray), onerror);\n else processData(url);\n },\n indexedDB: ()=>{\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: ()=>{\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = ()=>{\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = ()=>{\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n try {\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var getRequest = files.get(path);\n getRequest.onsuccess = ()=>{\n if (FS.analyzePath(path).exists) FS.unlink(path);\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n };\n var SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) return path;\n var dir;\n if (dirfd === -100) dir = FS.cwd();\n else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) throw new FS.ErrnoError(44);\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) return -54;\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n tempI64 = [\n stat.size >>> 0,\n (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)\n ], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [\n Math.floor(atime / 1e3) >>> 0,\n (tempDouble = Math.floor(atime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(mtime / 1e3) >>> 0,\n (tempDouble = Math.floor(mtime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(ctime / 1e3) >>> 0,\n (tempDouble = Math.floor(ctime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n tempI64 = [\n stat.ino >>> 0,\n (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)\n ], HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n if (flags & 2) return 0;\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n };\n function ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & -8) return -28;\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) return -44;\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) return -2;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n }\n function ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(cmd){\n case 0:\n var arg = SYSCALLS.get();\n if (arg < 0) return -28;\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n case 1:\n case 2:\n return 0;\n case 3:\n return stream.flags;\n case 4:\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n case 5:\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n case 6:\n case 7:\n return 0;\n case 16:\n case 8:\n return -28;\n case 9:\n setErrNo(28);\n return -1;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(op){\n case 21509:\n case 21505:\n if (!stream.tty) return -59;\n return 0;\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n if (!stream.tty) return -59;\n return 0;\n case 21519:\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n case 21520:\n if (!stream.tty) return -59;\n return -28;\n case 21531:\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n case 21523:\n if (!stream.tty) return -59;\n return 0;\n case 21524:\n if (!stream.tty) return -59;\n return 0;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n var nowIsMonotonic = true;\n function __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n }\n function readI53FromI64(ptr) {\n return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296;\n }\n function __isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n }\n var __MONTH_DAYS_LEAP_CUMULATIVE = [\n 0,\n 31,\n 60,\n 91,\n 121,\n 152,\n 182,\n 213,\n 244,\n 274,\n 305,\n 335\n ];\n var __MONTH_DAYS_REGULAR_CUMULATIVE = [\n 0,\n 31,\n 59,\n 90,\n 120,\n 151,\n 181,\n 212,\n 243,\n 273,\n 304,\n 334\n ];\n function __yday_from_date(date) {\n var isLeapYear = __isLeapYear(date.getFullYear());\n var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday;\n }\n function __localtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n HEAP32[tmPtr + 32 >> 2] = dst;\n }\n function allocateUTF8(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = _malloc(size);\n if (ret) stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function __tzset_js(timezone, daylight, tzname) {\n var currentYear = new Date().getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;\n HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);\n function extractZone(date) {\n var match = date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return match ? match[1] : \"GMT\";\n }\n var winterName = extractZone(winter);\n var summerName = extractZone(summer);\n var winterNamePtr = allocateUTF8(winterName);\n var summerNamePtr = allocateUTF8(summerName);\n if (summerOffset < winterOffset) {\n HEAPU32[tzname >> 2] = winterNamePtr;\n HEAPU32[tzname + 4 >> 2] = summerNamePtr;\n } else {\n HEAPU32[tzname >> 2] = summerNamePtr;\n HEAPU32[tzname + 4 >> 2] = winterNamePtr;\n }\n }\n function _abort() {\n abort(\"\");\n }\n function _emscripten_date_now() {\n return Date.now();\n }\n var _emscripten_get_now;\n _emscripten_get_now = ()=>performance.now();\n function _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n }\n function getHeapMax() {\n return 2147483648;\n }\n function emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n }\n function _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) return false;\n let alignUp = (x, multiple)=>x + (multiple - x % multiple) % multiple;\n for(var cutDown = 1; cutDown <= 4; cutDown *= 2){\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) return true;\n }\n return false;\n }\n var ENV = {};\n function getExecutableName() {\n return thisProgram || \"./this.program\";\n }\n function getEnvStrings() {\n if (!getEnvStrings.strings) {\n var lang = (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\";\n var env = {\n \"USER\": \"web_user\",\n \"LOGNAME\": \"web_user\",\n \"PATH\": \"/\",\n \"PWD\": \"/\",\n \"HOME\": \"/home/web_user\",\n \"LANG\": lang,\n \"_\": getExecutableName()\n };\n for(var x in ENV)if (ENV[x] === undefined) delete env[x];\n else env[x] = ENV[x];\n var strings = [];\n for(var x in env)strings.push(x + \"=\" + env[x]);\n getEnvStrings.strings = strings;\n }\n return getEnvStrings.strings;\n }\n function writeAsciiToMemory(str, buffer, dontAddNull) {\n for(var i = 0; i < str.length; ++i)HEAP8[buffer++ >> 0] = str.charCodeAt(i);\n if (!dontAddNull) HEAP8[buffer >> 0] = 0;\n }\n function _environ_get(__environ, environ_buf) {\n var bufSize = 0;\n getEnvStrings().forEach(function(string, i) {\n var ptr = environ_buf + bufSize;\n HEAPU32[__environ + i * 4 >> 2] = ptr;\n writeAsciiToMemory(string, ptr);\n bufSize += string.length + 1;\n });\n return 0;\n }\n function _environ_sizes_get(penviron_count, penviron_buf_size) {\n var strings = getEnvStrings();\n HEAPU32[penviron_count >> 2] = strings.length;\n var bufSize = 0;\n strings.forEach(function(string) {\n bufSize += string.length + 1;\n });\n HEAPU32[penviron_buf_size >> 2] = bufSize;\n return 0;\n }\n function _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n }\n function exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) exitRuntime();\n _proc_exit(status);\n }\n var _exit = exitJS;\n function _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n }\n function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n tempI64 = [\n stream.position >>> 0,\n (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)\n ], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function _llvm_eh_typeid_for(type) {\n return type;\n }\n function __arraySum(array, index) {\n var sum = 0;\n for(var i = 0; i <= index; sum += array[i++]);\n return sum;\n }\n var __MONTH_DAYS_LEAP = [\n 31,\n 29,\n 31,\n 30,\n 31,\n 30,\n 31,\n 31,\n 30,\n 31,\n 30,\n 31\n ];\n var __MONTH_DAYS_REGULAR = [\n 31,\n 28,\n 31,\n 30,\n 31,\n 30,\n 31,\n 31,\n 30,\n 31,\n 30,\n 31\n ];\n function __addDays(date, days) {\n var newDate = new Date(date.getTime());\n while(days > 0){\n var leap = __isLeapYear(newDate.getFullYear());\n var currentMonth = newDate.getMonth();\n var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];\n if (days > daysInCurrentMonth - newDate.getDate()) {\n days -= daysInCurrentMonth - newDate.getDate() + 1;\n newDate.setDate(1);\n if (currentMonth < 11) newDate.setMonth(currentMonth + 1);\n else {\n newDate.setMonth(0);\n newDate.setFullYear(newDate.getFullYear() + 1);\n }\n } else {\n newDate.setDate(newDate.getDate() + days);\n return newDate;\n }\n }\n return newDate;\n }\n function writeArrayToMemory(array, buffer) {\n HEAP8.set(array, buffer);\n }\n function _strftime(s, maxsize, format, tm) {\n var tm_zone = HEAP32[tm + 40 >> 2];\n var date = {\n tm_sec: HEAP32[tm >> 2],\n tm_min: HEAP32[tm + 4 >> 2],\n tm_hour: HEAP32[tm + 8 >> 2],\n tm_mday: HEAP32[tm + 12 >> 2],\n tm_mon: HEAP32[tm + 16 >> 2],\n tm_year: HEAP32[tm + 20 >> 2],\n tm_wday: HEAP32[tm + 24 >> 2],\n tm_yday: HEAP32[tm + 28 >> 2],\n tm_isdst: HEAP32[tm + 32 >> 2],\n tm_gmtoff: HEAP32[tm + 36 >> 2],\n tm_zone: tm_zone ? UTF8ToString(tm_zone) : \"\"\n };\n var pattern = UTF8ToString(format);\n var EXPANSION_RULES_1 = {\n \"%c\": \"%a %b %d %H:%M:%S %Y\",\n \"%D\": \"%m/%d/%y\",\n \"%F\": \"%Y-%m-%d\",\n \"%h\": \"%b\",\n \"%r\": \"%I:%M:%S %p\",\n \"%R\": \"%H:%M\",\n \"%T\": \"%H:%M:%S\",\n \"%x\": \"%m/%d/%y\",\n \"%X\": \"%H:%M:%S\",\n \"%Ec\": \"%c\",\n \"%EC\": \"%C\",\n \"%Ex\": \"%m/%d/%y\",\n \"%EX\": \"%H:%M:%S\",\n \"%Ey\": \"%y\",\n \"%EY\": \"%Y\",\n \"%Od\": \"%d\",\n \"%Oe\": \"%e\",\n \"%OH\": \"%H\",\n \"%OI\": \"%I\",\n \"%Om\": \"%m\",\n \"%OM\": \"%M\",\n \"%OS\": \"%S\",\n \"%Ou\": \"%u\",\n \"%OU\": \"%U\",\n \"%OV\": \"%V\",\n \"%Ow\": \"%w\",\n \"%OW\": \"%W\",\n \"%Oy\": \"%y\"\n };\n for(var rule in EXPANSION_RULES_1)pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_1[rule]);\n var WEEKDAYS = [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n ];\n var MONTHS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ];\n function leadingSomething(value, digits, character) {\n var str = typeof value == \"number\" ? value.toString() : value || \"\";\n while(str.length < digits)str = character[0] + str;\n return str;\n }\n function leadingNulls(value, digits) {\n return leadingSomething(value, digits, \"0\");\n }\n function compareByDay(date1, date2) {\n function sgn(value) {\n return value < 0 ? -1 : value > 0 ? 1 : 0;\n }\n var compare;\n if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {\n if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) compare = sgn(date1.getDate() - date2.getDate());\n }\n return compare;\n }\n function getFirstWeekStartDate(janFourth) {\n switch(janFourth.getDay()){\n case 0:\n return new Date(janFourth.getFullYear() - 1, 11, 29);\n case 1:\n return janFourth;\n case 2:\n return new Date(janFourth.getFullYear(), 0, 3);\n case 3:\n return new Date(janFourth.getFullYear(), 0, 2);\n case 4:\n return new Date(janFourth.getFullYear(), 0, 1);\n case 5:\n return new Date(janFourth.getFullYear() - 1, 11, 31);\n case 6:\n return new Date(janFourth.getFullYear() - 1, 11, 30);\n }\n }\n function getWeekBasedYear(date) {\n var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);\n var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);\n var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);\n var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);\n var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);\n if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {\n if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) return thisDate.getFullYear() + 1;\n return thisDate.getFullYear();\n }\n return thisDate.getFullYear() - 1;\n }\n var EXPANSION_RULES_2 = {\n \"%a\": function(date) {\n return WEEKDAYS[date.tm_wday].substring(0, 3);\n },\n \"%A\": function(date) {\n return WEEKDAYS[date.tm_wday];\n },\n \"%b\": function(date) {\n return MONTHS[date.tm_mon].substring(0, 3);\n },\n \"%B\": function(date) {\n return MONTHS[date.tm_mon];\n },\n \"%C\": function(date) {\n var year = date.tm_year + 1900;\n return leadingNulls(year / 100 | 0, 2);\n },\n \"%d\": function(date) {\n return leadingNulls(date.tm_mday, 2);\n },\n \"%e\": function(date) {\n return leadingSomething(date.tm_mday, 2, \" \");\n },\n \"%g\": function(date) {\n return getWeekBasedYear(date).toString().substring(2);\n },\n \"%G\": function(date) {\n return getWeekBasedYear(date);\n },\n \"%H\": function(date) {\n return leadingNulls(date.tm_hour, 2);\n },\n \"%I\": function(date) {\n var twelveHour = date.tm_hour;\n if (twelveHour == 0) twelveHour = 12;\n else if (twelveHour > 12) twelveHour -= 12;\n return leadingNulls(twelveHour, 2);\n },\n \"%j\": function(date) {\n return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);\n },\n \"%m\": function(date) {\n return leadingNulls(date.tm_mon + 1, 2);\n },\n \"%M\": function(date) {\n return leadingNulls(date.tm_min, 2);\n },\n \"%n\": function() {\n return \"\\n\";\n },\n \"%p\": function(date) {\n if (date.tm_hour >= 0 && date.tm_hour < 12) return \"AM\";\n return \"PM\";\n },\n \"%S\": function(date) {\n return leadingNulls(date.tm_sec, 2);\n },\n \"%t\": function() {\n return \"\t\";\n },\n \"%u\": function(date) {\n return date.tm_wday || 7;\n },\n \"%U\": function(date) {\n var days = date.tm_yday + 7 - date.tm_wday;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%V\": function(date) {\n var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7) / 7);\n if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) val++;\n if (!val) {\n val = 52;\n var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;\n if (dec31 == 4 || dec31 == 5 && __isLeapYear(date.tm_year % 400 - 1)) val++;\n } else if (val == 53) {\n var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;\n if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) val = 1;\n }\n return leadingNulls(val, 2);\n },\n \"%w\": function(date) {\n return date.tm_wday;\n },\n \"%W\": function(date) {\n var days = date.tm_yday + 7 - (date.tm_wday + 6) % 7;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%y\": function(date) {\n return (date.tm_year + 1900).toString().substring(2);\n },\n \"%Y\": function(date) {\n return date.tm_year + 1900;\n },\n \"%z\": function(date) {\n var off = date.tm_gmtoff;\n var ahead = off >= 0;\n off = Math.abs(off) / 60;\n off = off / 60 * 100 + off % 60;\n return (ahead ? \"+\" : \"-\") + String(\"0000\" + off).slice(-4);\n },\n \"%Z\": function(date) {\n return date.tm_zone;\n },\n \"%%\": function() {\n return \"%\";\n }\n };\n pattern = pattern.replace(/%%/g, \"\\x00\\x00\");\n for(var rule in EXPANSION_RULES_2)if (pattern.includes(rule)) pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_2[rule](date));\n pattern = pattern.replace(/\\0\\0/g, \"%\");\n var bytes = intArrayFromString(pattern, false);\n if (bytes.length > maxsize) return 0;\n writeArrayToMemory(bytes, s);\n return bytes.length - 1;\n }\n function _strftime_l(s, maxsize, format, tm, loc) {\n return _strftime(s, maxsize, format, tm);\n }\n function handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") return EXITSTATUS;\n quit_(1, e);\n }\n function allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n }\n function maybeExit() {\n if (!keepRuntimeAlive()) try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n function callUserCallback(func) {\n if (runtimeExited || ABORT) return;\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n }\n function runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n }\n function runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n }\n var Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [\n \"invoke_*\",\n \"emscripten_sleep\",\n \"emscripten_wget\",\n \"emscripten_wget_data\",\n \"emscripten_idb_load\",\n \"emscripten_idb_store\",\n \"emscripten_idb_delete\",\n \"emscripten_idb_exists\",\n \"emscripten_idb_load_blob\",\n \"emscripten_idb_store_blob\",\n \"SDL_Delay\",\n \"emscripten_scan_registers\",\n \"emscripten_lazy_load_code\",\n \"emscripten_fiber_swap\",\n \"__load_secondary_module\",\n \"fd_sync\",\n \"__wasi_fd_sync\",\n \"_emval_await\",\n \"_dlopen_js\",\n \"__asyncjs__*\"\n ];\n for(var x in imports)(function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n })(x);\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for(var x in exports)(function(x) {\n var original = exports[x];\n if (typeof original == \"function\") ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally{\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n else ret[x] = original;\n })(x);\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") Fibers.trampoline();\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject)=>{\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0)=>{\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) return;\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.resume();\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) throw asyncWasmReturnValue;\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.pause();\n runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach((func)=>callUserCallback(func));\n } else abort(\"invalid state: \" + Asyncify.state);\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep((wakeUp)=>{\n startAsync().then(wakeUp);\n });\n }\n };\n function AsciiToString(ptr) {\n var str = \"\";\n while(true){\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n }\n var FSNode = function(parent, name, mode, rdev) {\n if (!parent) parent = this;\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n };\n var readMode = 365;\n var writeMode = 146;\n Object.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n });\n FS.FSNode = FSNode;\n FS.staticInit();\n var wasmImports = {\n \"S\": __asyncjs__emglken_fill_stdin_buffer,\n \"k\": ___cxa_begin_catch,\n \"n\": ___cxa_end_catch,\n \"a\": ___cxa_find_matching_catch_2,\n \"d\": ___cxa_find_matching_catch_3,\n \"m\": ___cxa_find_matching_catch_4,\n \"s\": ___cxa_find_matching_catch_5,\n \"x\": ___cxa_find_matching_catch_6,\n \"ca\": ___cxa_find_matching_catch_7,\n \"K\": ___cxa_rethrow,\n \"o\": ___cxa_throw,\n \"ba\": ___cxa_uncaught_exceptions,\n \"g\": ___resumeException,\n \"aa\": ___syscall_faccessat,\n \"J\": ___syscall_fcntl64,\n \"$\": ___syscall_getcwd,\n \"_\": ___syscall_ioctl,\n \"Z\": ___syscall_openat,\n \"V\": __emscripten_get_now_is_monotonic,\n \"U\": __localtime_js,\n \"T\": __tzset_js,\n \"D\": _abort,\n \"B\": _emscripten_date_now,\n \"R\": _emscripten_memcpy_big,\n \"Q\": _emscripten_resize_heap,\n \"Y\": _environ_get,\n \"X\": _environ_sizes_get,\n \"C\": _exit,\n \"I\": _fd_close,\n \"W\": _fd_read,\n \"P\": _fd_seek,\n \"H\": _fd_write,\n \"G\": invoke_diii,\n \"F\": invoke_fiii,\n \"q\": invoke_i,\n \"b\": invoke_ii,\n \"c\": invoke_iii,\n \"e\": invoke_iiii,\n \"p\": invoke_iiiii,\n \"u\": invoke_iiiiii,\n \"w\": invoke_iiiiiii,\n \"E\": invoke_iiiiiiii,\n \"A\": invoke_iiiiiiiiiiii,\n \"O\": invoke_ji,\n \"N\": invoke_jiiii,\n \"h\": invoke_v,\n \"i\": invoke_vi,\n \"f\": invoke_vii,\n \"j\": invoke_viii,\n \"r\": invoke_viiii,\n \"t\": invoke_viiiii,\n \"v\": invoke_viiiiiii,\n \"y\": invoke_viiiiiiiiii,\n \"z\": invoke_viiiiiiiiiiiiiii,\n \"l\": _llvm_eh_typeid_for,\n \"M\": _strftime,\n \"L\": _strftime_l\n };\n var asm = createWasm();\n var ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"ea\"]).apply(null, arguments);\n };\n var ___cxa_free_exception = function() {\n return (___cxa_free_exception = Module[\"asm\"][\"fa\"]).apply(null, arguments);\n };\n var _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"ga\"]).apply(null, arguments);\n };\n var ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"ha\"]).apply(null, arguments);\n };\n var _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"ia\"]).apply(null, arguments);\n };\n var _malloc = function() {\n return (_malloc = Module[\"asm\"][\"ja\"]).apply(null, arguments);\n };\n var _free = function() {\n return (_free = Module[\"asm\"][\"ka\"]).apply(null, arguments);\n };\n var _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"la\"]).apply(null, arguments);\n };\n var ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"ma\"]).apply(null, arguments);\n };\n var _setThrew = function() {\n return (_setThrew = Module[\"asm\"][\"oa\"]).apply(null, arguments);\n };\n var setTempRet0 = function() {\n return (setTempRet0 = Module[\"asm\"][\"pa\"]).apply(null, arguments);\n };\n var _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n };\n var stackSave = function() {\n return (stackSave = Module[\"asm\"][\"qa\"]).apply(null, arguments);\n };\n var stackRestore = function() {\n return (stackRestore = Module[\"asm\"][\"ra\"]).apply(null, arguments);\n };\n var stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"sa\"]).apply(null, arguments);\n };\n var ___cxa_can_catch = function() {\n return (___cxa_can_catch = Module[\"asm\"][\"ta\"]).apply(null, arguments);\n };\n var ___cxa_is_pointer_type = function() {\n return (___cxa_is_pointer_type = Module[\"asm\"][\"ua\"]).apply(null, arguments);\n };\n var dynCall_ii = Module[\"dynCall_ii\"] = function() {\n return (dynCall_ii = Module[\"dynCall_ii\"] = Module[\"asm\"][\"va\"]).apply(null, arguments);\n };\n var dynCall_iiii = Module[\"dynCall_iiii\"] = function() {\n return (dynCall_iiii = Module[\"dynCall_iiii\"] = Module[\"asm\"][\"wa\"]).apply(null, arguments);\n };\n var dynCall_viii = Module[\"dynCall_viii\"] = function() {\n return (dynCall_viii = Module[\"dynCall_viii\"] = Module[\"asm\"][\"xa\"]).apply(null, arguments);\n };\n var dynCall_v = Module[\"dynCall_v\"] = function() {\n return (dynCall_v = Module[\"dynCall_v\"] = Module[\"asm\"][\"ya\"]).apply(null, arguments);\n };\n var dynCall_vi = Module[\"dynCall_vi\"] = function() {\n return (dynCall_vi = Module[\"dynCall_vi\"] = Module[\"asm\"][\"za\"]).apply(null, arguments);\n };\n var dynCall_iii = Module[\"dynCall_iii\"] = function() {\n return (dynCall_iii = Module[\"dynCall_iii\"] = Module[\"asm\"][\"Aa\"]).apply(null, arguments);\n };\n var dynCall_vii = Module[\"dynCall_vii\"] = function() {\n return (dynCall_vii = Module[\"dynCall_vii\"] = Module[\"asm\"][\"Ba\"]).apply(null, arguments);\n };\n var dynCall_iiiiii = Module[\"dynCall_iiiiii\"] = function() {\n return (dynCall_iiiiii = Module[\"dynCall_iiiiii\"] = Module[\"asm\"][\"Ca\"]).apply(null, arguments);\n };\n var dynCall_iiiii = Module[\"dynCall_iiiii\"] = function() {\n return (dynCall_iiiii = Module[\"dynCall_iiiii\"] = Module[\"asm\"][\"Da\"]).apply(null, arguments);\n };\n var dynCall_i = Module[\"dynCall_i\"] = function() {\n return (dynCall_i = Module[\"dynCall_i\"] = Module[\"asm\"][\"Ea\"]).apply(null, arguments);\n };\n var dynCall_iiiiiii = Module[\"dynCall_iiiiiii\"] = function() {\n return (dynCall_iiiiiii = Module[\"dynCall_iiiiiii\"] = Module[\"asm\"][\"Fa\"]).apply(null, arguments);\n };\n var dynCall_viiii = Module[\"dynCall_viiii\"] = function() {\n return (dynCall_viiii = Module[\"dynCall_viiii\"] = Module[\"asm\"][\"Ga\"]).apply(null, arguments);\n };\n var dynCall_ji = Module[\"dynCall_ji\"] = function() {\n return (dynCall_ji = Module[\"dynCall_ji\"] = Module[\"asm\"][\"Ha\"]).apply(null, arguments);\n };\n var dynCall_viiiii = Module[\"dynCall_viiiii\"] = function() {\n return (dynCall_viiiii = Module[\"dynCall_viiiii\"] = Module[\"asm\"][\"Ia\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiii = Module[\"dynCall_iiiiiiii\"] = function() {\n return (dynCall_iiiiiiii = Module[\"dynCall_iiiiiiii\"] = Module[\"asm\"][\"Ja\"]).apply(null, arguments);\n };\n var dynCall_jiiii = Module[\"dynCall_jiiii\"] = function() {\n return (dynCall_jiiii = Module[\"dynCall_jiiii\"] = Module[\"asm\"][\"Ka\"]).apply(null, arguments);\n };\n var dynCall_fiii = Module[\"dynCall_fiii\"] = function() {\n return (dynCall_fiii = Module[\"dynCall_fiii\"] = Module[\"asm\"][\"La\"]).apply(null, arguments);\n };\n var dynCall_diii = Module[\"dynCall_diii\"] = function() {\n return (dynCall_diii = Module[\"dynCall_diii\"] = Module[\"asm\"][\"Ma\"]).apply(null, arguments);\n };\n var dynCall_viiiiiii = Module[\"dynCall_viiiiiii\"] = function() {\n return (dynCall_viiiiiii = Module[\"dynCall_viiiiiii\"] = Module[\"asm\"][\"Na\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiii\"] = Module[\"asm\"][\"Oa\"]).apply(null, arguments);\n };\n var dynCall_viiiiiiiiii = Module[\"dynCall_viiiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiiii = Module[\"dynCall_viiiiiiiiii\"] = Module[\"asm\"][\"Pa\"]).apply(null, arguments);\n };\n var dynCall_viiiiiiiiiiiiiii = Module[\"dynCall_viiiiiiiiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiiiiiiiii = Module[\"dynCall_viiiiiiiiiiiiiii\"] = Module[\"asm\"][\"Qa\"]).apply(null, arguments);\n };\n var _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"Ra\"]).apply(null, arguments);\n };\n var _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"Sa\"]).apply(null, arguments);\n };\n var _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"Ta\"]).apply(null, arguments);\n };\n var _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"Ua\"]).apply(null, arguments);\n };\n var ___start_em_js = Module[\"___start_em_js\"] = 52440;\n var ___stop_em_js = Module[\"___stop_em_js\"] = 55125;\n function invoke_ii(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ii(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_iiii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n dynCall_viii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_v(index) {\n var sp = stackSave();\n try {\n dynCall_v(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_vi(index, a1) {\n var sp = stackSave();\n try {\n dynCall_vi(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iii(index, a1, a2) {\n var sp = stackSave();\n try {\n return dynCall_iii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_vii(index, a1, a2) {\n var sp = stackSave();\n try {\n dynCall_vii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiii(index, a1, a2, a3, a4, a5) {\n var sp = stackSave();\n try {\n return dynCall_iiiiii(index, a1, a2, a3, a4, a5);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n return dynCall_iiiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiii(index, a1, a2, a3, a4, a5, a6);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n dynCall_viiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiii(index, a1, a2, a3, a4, a5) {\n var sp = stackSave();\n try {\n dynCall_viiiii(index, a1, a2, a3, a4, a5);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_fiii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_fiii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_diii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_diii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_i(index) {\n var sp = stackSave();\n try {\n return dynCall_i(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n var sp = stackSave();\n try {\n dynCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_ji(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ji(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_jiiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n return dynCall_jiiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n Module[\"AsciiToString\"] = AsciiToString;\n Module[\"FS\"] = FS;\n var calledRun;\n dependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n };\n function callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach((arg)=>{\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n }\n function run(args = arguments_) {\n if (runDependencies > 0) return;\n preRun();\n if (runDependencies > 0) return;\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else doRun();\n }\n if (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [\n Module[\"preInit\"]\n ];\n while(Module[\"preInit\"].length > 0)Module[\"preInit\"].pop()();\n }\n var shouldRunNow = true;\n if (Module[\"noInitialRun\"]) shouldRunNow = false;\n run();\n return Module.ready;\n };\n})();\nvar $2d243513b2ab5598$export$2e2bcd8739ae039 = $2d243513b2ab5598$var$Module;\n\n\nclass $c9beefb40b84b742$export$2e2bcd8739ae039 extends (0, $0d34edacac7ea588$export$2e2bcd8739ae039) {\n default_options() {\n return {\n vmcore: (0, $2d243513b2ab5598$export$2e2bcd8739ae039)\n };\n }\n}\n\n\n/*\n\nEmglken port of Git\n===================\n\nCopyright (c) 2020 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/ \nvar $454c12da88ceab7d$exports = {};\n\n$454c12da88ceab7d$exports = new URL((parcelRequire(\"6MsPj\")).resolve(\"kBXOE\"), import.meta.url).toString();\n\n\nvar $70d4325860634496$var$Module = (()=>{\n var _scriptDir = \"file:///node_modules/emglken/build/git-core.js\";\n return function(Module = {}) {\n var Module = typeof Module != \"undefined\" ? Module : {};\n var readyPromiseResolve, readyPromiseReject;\n Module[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n });\n var moduleOverrides = Object.assign({}, Module);\n var arguments_ = [];\n var thisProgram = \"./this.program\";\n var quit_ = (status, toThrow)=>{\n throw toThrow;\n };\n var ENVIRONMENT_IS_WEB = true;\n var ENVIRONMENT_IS_WORKER = false;\n var scriptDirectory = \"\";\n function locateFile(path) {\n if (Module[\"locateFile\"]) return Module[\"locateFile\"](path, scriptDirectory);\n return scriptDirectory + path;\n }\n var read_, readAsync, readBinary, setWindowTitle;\n if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) scriptDirectory = self.location.href;\n else if (typeof document != \"undefined\" && document.currentScript) scriptDirectory = document.currentScript.src;\n if (_scriptDir) scriptDirectory = _scriptDir;\n if (scriptDirectory.indexOf(\"blob:\") !== 0) scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n else scriptDirectory = \"\";\n read_ = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) readBinary = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n readAsync = (url, onload, onerror)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = ()=>{\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n setWindowTitle = (title)=>document.title = title;\n }\n var out = Module[\"print\"] || console.log.bind(console);\n var err = Module[\"printErr\"] || console.warn.bind(console);\n Object.assign(Module, moduleOverrides);\n moduleOverrides = null;\n if (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n if (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n if (Module[\"quit\"]) quit_ = Module[\"quit\"];\n var wasmBinary;\n if (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n var noExitRuntime = Module[\"noExitRuntime\"] || false;\n if (typeof WebAssembly != \"object\") abort(\"no native wasm support detected\");\n var wasmMemory;\n var ABORT = false;\n var EXITSTATUS;\n function assert(condition, text) {\n if (!condition) abort(text);\n }\n var UTF8Decoder = new TextDecoder(\"utf8\");\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while(heapOrArray[endPtr] && !(endPtr >= endIdx))++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for(var end = ptr; !(end >= maxPtr) && HEAPU8[end];)++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n }\n function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for(var i = 0; i < str.length; ++i){\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n }\n function stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n }\n function lengthBytesUTF8(str) {\n var len = 0;\n for(var i = 0; i < str.length; ++i){\n var c = str.charCodeAt(i);\n if (c <= 127) len++;\n else if (c <= 2047) len += 2;\n else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else len += 3;\n }\n return len;\n }\n var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n function updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n }\n var wasmTable;\n var __ATPRERUN__ = [];\n var __ATINIT__ = [];\n var __ATMAIN__ = [];\n var __ATEXIT__ = [];\n var __ATPOSTRUN__ = [];\n var runtimeInitialized = false;\n var runtimeExited = false;\n var runtimeKeepaliveCounter = 0;\n function keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n }\n function preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [\n Module[\"preRun\"]\n ];\n while(Module[\"preRun\"].length)addOnPreRun(Module[\"preRun\"].shift());\n }\n callRuntimeCallbacks(__ATPRERUN__);\n }\n function initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n }\n function preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n }\n function exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n }\n function postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [\n Module[\"postRun\"]\n ];\n while(Module[\"postRun\"].length)addOnPostRun(Module[\"postRun\"].shift());\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n }\n function addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n }\n function addOnInit(cb) {\n __ATINIT__.unshift(cb);\n }\n function addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n }\n var runDependencies = 0;\n var runDependencyWatcher = null;\n var dependenciesFulfilled = null;\n function getUniqueRunDependency(id) {\n return id;\n }\n function addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n }\n function removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n }\n function abort(what) {\n if (Module[\"onAbort\"]) Module[\"onAbort\"](what);\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n }\n var dataURIPrefix = \"data:application/octet-stream;base64,\";\n function isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n }\n var wasmBinaryFile;\n if (Module[\"locateFile\"]) {\n wasmBinaryFile = \"git-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) wasmBinaryFile = locateFile(wasmBinaryFile);\n } else wasmBinaryFile = new URL($454c12da88ceab7d$exports).href;\n function getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) return new Uint8Array(wasmBinary);\n if (readBinary) return readBinary(file);\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n }\n function getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n }\n function instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n }\n function instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n else return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n function createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"E\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"N\"];\n addOnInit(Module[\"asm\"][\"F\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n }\n var tempDouble;\n var tempI64;\n function emglken_common_buffer_transformer(buf, len, numchars, func, dont_reduce) {\n const index = buf >> 2;\n const utf32 = HEAPU32.subarray(index, index + numchars);\n const data = dont_reduce ? utf32 : utf32.reduce((prev, ch)=>prev + String.fromCodePoint(ch), \"\");\n const new_str = func(data);\n const newbuf = Uint32Array.from(new_str, (ch)=>ch.codePointAt(0));\n const newlen = newbuf.length;\n HEAPU32.set(newbuf.subarray(0, Math.min(len, newlen)), index);\n return newlen;\n }\n function glk_buffer_to_lower_case_uni(buf, len, numchars) {\n return emglken_common_buffer_transformer(buf, len, numchars, (str)=>str.toLowerCase());\n }\n function glk_buffer_to_upper_case_uni(buf, len, numchars) {\n return emglken_common_buffer_transformer(buf, len, numchars, (str)=>str.toUpperCase());\n }\n function glk_buffer_to_title_case_uni(buf, len, numchars, lowerrest) {\n return emglken_common_buffer_transformer(buf, len, numchars, (utf32)=>utf32.reduce((prev, ch, index)=>{\n const special_cases = {\n \"\\xdf\": \"Ss\",\n \"DŽ\": \"Dž\",\n \"Dž\": \"Dž\",\n \"dž\": \"Dž\",\n \"LJ\": \"Lj\",\n \"Lj\": \"Lj\",\n \"lj\": \"Lj\",\n \"NJ\": \"Nj\",\n \"Nj\": \"Nj\",\n \"nj\": \"Nj\",\n \"DZ\": \"Dz\",\n \"Dz\": \"Dz\",\n \"dz\": \"Dz\",\n \"և\": \"Եւ\",\n \"ᾲ\": \"Ὰͅ\",\n \"ᾳ\": \"ᾼ\",\n \"ᾴ\": \"Άͅ\",\n \"ᾷ\": \"ᾼ͂\",\n \"ᾼ\": \"ᾼ\",\n \"ῂ\": \"Ὴͅ\",\n \"ῃ\": \"ῌ\",\n \"ῄ\": \"Ήͅ\",\n \"ῇ\": \"ῌ͂\",\n \"ῌ\": \"ῌ\",\n \"ῲ\": \"Ὼͅ\",\n \"ῳ\": \"ῼ\",\n \"ῴ\": \"Ώͅ\",\n \"ῷ\": \"ῼ͂\",\n \"ῼ\": \"ῼ\",\n \"ff\": \"Ff\",\n \"fi\": \"Fi\",\n \"fl\": \"Fl\",\n \"ffi\": \"Ffi\",\n \"ffl\": \"Ffl\",\n \"ſt\": \"St\",\n \"st\": \"St\",\n \"ﬓ\": \"Մն\",\n \"ﬔ\": \"Մե\",\n \"ﬕ\": \"Մի\",\n \"ﬖ\": \"Վն\",\n \"ﬗ\": \"Մխ\"\n };\n const slightly_less_special_cases = [\n \"ᾈᾉᾊᾋᾌᾍᾎᾏ\",\n \"ᾘᾙᾚᾛᾜᾝᾞᾟ\",\n \"ᾨᾩᾪᾫᾬᾭᾮᾯ\"\n ];\n let thischar = String.fromCodePoint(ch);\n if (index === 0) {\n if (special_cases[thischar]) thischar = special_cases[thischar];\n else if (ch >= 8064 && ch < 8112) thischar = slightly_less_special_cases[(ch - 8064) / 16 | 0][ch % 8];\n else thischar = thischar.toUpperCase();\n } else if (lowerrest) thischar = thischar.toLowerCase();\n return prev + thischar;\n }, \"\"), 1);\n }\n function glk_buffer_canon_decompose_uni(buf, len, numchars) {\n return emglken_common_buffer_transformer(buf, len, numchars, (str)=>str.normalize(\"NFD\"));\n }\n function glk_buffer_canon_normalize_uni(buf, len, numchars) {\n return emglken_common_buffer_transformer(buf, len, numchars, (str)=>str.normalize(\"NFC\"));\n }\n function __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async ()=>{\n if (!Module.emglken_stdin_buffers.length) await new Promise((resolve)=>{\n Module.emglken_stdin_ready = resolve;\n });\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) HEAPU8.set(input, buffer);\n else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n }\n function ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n }\n function callRuntimeCallbacks(callbacks) {\n while(callbacks.length > 0)callbacks.shift()(Module);\n }\n var PATH = {\n isAbs: (path)=>path.charAt(0) === \"/\",\n splitPath: (filename)=>{\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot)=>{\n var up = 0;\n for(var i = parts.length - 1; i >= 0; i--){\n var last = parts[i];\n if (last === \".\") parts.splice(i, 1);\n else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) for(; up; up--)parts.unshift(\"..\");\n return parts;\n },\n normalize: (path)=>{\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter((p)=>!!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) path = \".\";\n if (path && trailingSlash) path += \"/\";\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: (path)=>{\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) return \".\";\n if (dir) dir = dir.substr(0, dir.length - 1);\n return root + dir;\n },\n basename: (path)=>{\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r)=>{\n return PATH.normalize(l + \"/\" + r);\n }\n };\n function getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return ()=>{\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return ()=>abort(\"randomDevice\");\n }\n var PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for(var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--){\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") throw new TypeError(\"Arguments to path.resolve must be strings\");\n else if (!path) return \"\";\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter((p)=>!!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to)=>{\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for(; start < arr.length; start++){\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for(; end >= 0; end--){\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for(var i = 0; i < length; i++)if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n var outputParts = [];\n for(var i = samePartsLength; i < fromParts.length; i++)outputParts.push(\"..\");\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n };\n function intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n }\n var TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) throw new FS.ErrnoError(43);\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) throw new FS.ErrnoError(60);\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) throw new FS.ErrnoError(60);\n try {\n for(var i = 0; i < length; i++)stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) result += \"\\n\";\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) result += \"\\n\";\n }\n if (!result) return null;\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n };\n function mmapAlloc(size) {\n abort();\n }\n var MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16895, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) throw new FS.ErrnoError(63);\n if (!MEMFS.ops_table) MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1048576;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) attr.size = 4096;\n else if (FS.isFile(node.mode)) attr.size = node.usedBytes;\n else if (FS.isLink(node.mode)) attr.size = node.link.length;\n else attr.size = 0;\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) node.mode = attr.mode;\n if (attr.timestamp !== undefined) node.timestamp = attr.timestamp;\n if (attr.size !== undefined) MEMFS.resizeFileStorage(node, attr.size);\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for(var i in new_node.contents)throw new FS.ErrnoError(55);\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for(var i in node.contents)throw new FS.ErrnoError(55);\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [\n \".\",\n \"..\"\n ];\n for(var key in node.contents){\n if (!node.contents.hasOwnProperty(key)) continue;\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 41471, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) throw new FS.ErrnoError(28);\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) buffer.set(contents.subarray(position, position + size), offset);\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) canOwn = false;\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position);\n else for(var i = 0; i < length; i++)node.contents[position + i] = buffer[offset + i];\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) position += stream.position;\n else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) position += stream.node.usedBytes;\n }\n if (position < 0) throw new FS.ErrnoError(28);\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) contents = contents.subarray(position, position + length);\n else contents = Array.prototype.slice.call(contents, position, position + length);\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n };\n function asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, (arrayBuffer)=>{\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, (event)=>{\n if (onerror) onerror();\n else throw 'Loading data file \"' + url + '\" failed.';\n });\n if (dep) addRunDependency(dep);\n }\n var FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {})=>{\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) throw new FS.ErrnoError(32);\n var parts = path.split(\"/\").filter((p)=>!!p);\n var current = FS.root;\n var current_path = \"/\";\n for(var i = 0; i < parts.length; i++){\n var islast = i === parts.length - 1;\n if (islast && opts.parent) break;\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) current = current.mounted.root;\n }\n if (!islast || opts.follow) {\n var count = 0;\n while(FS.isLink(current.mode)){\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) throw new FS.ErrnoError(32);\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: (node)=>{\n var path;\n while(true){\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name)=>{\n var hash = 0;\n for(var i = 0; i < name.length; i++)hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) FS.nameTable[hash] = node.name_next;\n else {\n var current = FS.nameTable[hash];\n while(current){\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name)=>{\n var errCode = FS.mayLookup(parent);\n if (errCode) throw new FS.ErrnoError(errCode, parent);\n var hash = FS.hashName(parent.id, name);\n for(var node = FS.nameTable[hash]; node; node = node.name_next){\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) return node;\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev)=>{\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: (node)=>{\n FS.hashRemoveNode(node);\n },\n isRoot: (node)=>{\n return node === node.parent;\n },\n isMountpoint: (node)=>{\n return !!node.mounted;\n },\n isFile: (mode)=>{\n return (mode & 61440) === 32768;\n },\n isDir: (mode)=>{\n return (mode & 61440) === 16384;\n },\n isLink: (mode)=>{\n return (mode & 61440) === 40960;\n },\n isChrdev: (mode)=>{\n return (mode & 61440) === 8192;\n },\n isBlkdev: (mode)=>{\n return (mode & 61440) === 24576;\n },\n isFIFO: (mode)=>{\n return (mode & 61440) === 4096;\n },\n isSocket: (mode)=>{\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: (str)=>{\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") throw new Error(\"Unknown file open mode: \" + str);\n return flags;\n },\n flagsToPermissionString: (flag)=>{\n var perms = [\n \"r\",\n \"w\",\n \"rw\"\n ][flag & 3];\n if (flag & 512) perms += \"w\";\n return perms;\n },\n nodePermissions: (node, perms)=>{\n if (FS.ignorePermissions) return 0;\n if (perms.includes(\"r\") && !(node.mode & 292)) return 2;\n else if (perms.includes(\"w\") && !(node.mode & 146)) return 2;\n else if (perms.includes(\"x\") && !(node.mode & 73)) return 2;\n return 0;\n },\n mayLookup: (dir)=>{\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name)=>{\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir)=>{\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) return errCode;\n if (isdir) {\n if (!FS.isDir(node.mode)) return 54;\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) return 10;\n } else {\n if (FS.isDir(node.mode)) return 31;\n }\n return 0;\n },\n mayOpen: (node, flags)=>{\n if (!node) return 44;\n if (FS.isLink(node.mode)) return 32;\n else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) return 31;\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS)=>{\n for(var fd = fd_start; fd <= fd_end; fd++){\n if (!FS.streams[fd]) return fd;\n }\n throw new FS.ErrnoError(33);\n },\n getStream: (fd)=>FS.streams[fd],\n createStream: (stream, fd_start, fd_end)=>{\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: (fd)=>{\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: (stream)=>{\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n },\n llseek: ()=>{\n throw new FS.ErrnoError(70);\n }\n },\n major: (dev)=>dev >> 8,\n minor: (dev)=>dev & 255,\n makedev: (ma, mi)=>ma << 8 | mi,\n registerDevice: (dev, ops)=>{\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: (dev)=>FS.devices[dev],\n getMounts: (mount)=>{\n var mounts = [];\n var check = [\n mount\n ];\n while(check.length){\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback)=>{\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) doCallback(null);\n }\n mounts.forEach((mount)=>{\n if (!mount.type.syncfs) return done(null);\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint)=>{\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) throw new FS.ErrnoError(10);\n else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n if (!FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) FS.root = mountRoot;\n else if (node) {\n node.mounted = mount;\n if (node.mount) node.mount.mounts.push(mount);\n }\n return mountRoot;\n },\n unmount: (mountpoint)=>{\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) throw new FS.ErrnoError(28);\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach((hash)=>{\n var current = FS.nameTable[hash];\n while(current){\n var next = current.name_next;\n if (mounts.includes(current.mount)) FS.destroyNode(current);\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name)=>{\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") throw new FS.ErrnoError(28);\n var errCode = FS.mayCreate(parent, name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.mknod) throw new FS.ErrnoError(63);\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode)=>{\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode)=>{\n mode = mode !== undefined ? mode : 511;\n mode &= 1023;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode)=>{\n var dirs = path.split(\"/\");\n var d = \"\";\n for(var i = 0; i < dirs.length; ++i){\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev)=>{\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath)=>{\n if (!PATH_FS.resolve(oldpath)) throw new FS.ErrnoError(44);\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.symlink) throw new FS.ErrnoError(63);\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path)=>{\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) throw new FS.ErrnoError(75);\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(28);\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(55);\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) return;\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) throw new FS.ErrnoError(errCode);\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!old_dir.node_ops.rename) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) throw new FS.ErrnoError(10);\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally{\n FS.hashAddNode(old_node);\n }\n },\n rmdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.rmdir) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) throw new FS.ErrnoError(54);\n return node.node_ops.readdir(node);\n },\n unlink: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.unlink) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: (path)=>{\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) throw new FS.ErrnoError(44);\n if (!link.node_ops.readlink) throw new FS.ErrnoError(28);\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow)=>{\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) throw new FS.ErrnoError(44);\n if (!node.node_ops.getattr) throw new FS.ErrnoError(63);\n return node.node_ops.getattr(node);\n },\n lstat: (path)=>{\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & -4096,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode)=>{\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid)=>{\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len)=>{\n if (len < 0) throw new FS.ErrnoError(28);\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n if (FS.isDir(node.mode)) throw new FS.ErrnoError(31);\n if (!FS.isFile(node.mode)) throw new FS.ErrnoError(28);\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(28);\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode)=>{\n if (path === \"\") throw new FS.ErrnoError(44);\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) mode = mode & 4095 | 32768;\n else mode = 0;\n var node;\n if (typeof path == \"object\") node = path;\n else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) throw new FS.ErrnoError(20);\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) throw new FS.ErrnoError(44);\n if (FS.isChrdev(node.mode)) flags &= -513;\n if (flags & 65536 && !FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n if (flags & 512 && !created) FS.truncate(node, 0);\n flags &= -131713;\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) FS.readFiles[path] = 1;\n }\n return stream;\n },\n close: (stream)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) stream.stream_ops.close(stream);\n } catch (e) {\n throw e;\n } finally{\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: (stream)=>{\n return stream.fd === null;\n },\n llseek: (stream, offset, whence)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (!stream.seekable || !stream.stream_ops.llseek) throw new FS.ErrnoError(70);\n if (whence != 0 && whence != 1 && whence != 2) throw new FS.ErrnoError(28);\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.read) throw new FS.ErrnoError(28);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.write) throw new FS.ErrnoError(28);\n if (stream.seekable && stream.flags & 1024) FS.llseek(stream, 0, 2);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (offset < 0 || length <= 0) throw new FS.ErrnoError(28);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) throw new FS.ErrnoError(43);\n if (!stream.stream_ops.allocate) throw new FS.ErrnoError(138);\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags)=>{\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) throw new FS.ErrnoError(2);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(2);\n if (!stream.stream_ops.mmap) throw new FS.ErrnoError(43);\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags)=>{\n if (!stream.stream_ops.msync) return 0;\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: (stream)=>0,\n ioctl: (stream, cmd, arg)=>{\n if (!stream.stream_ops.ioctl) throw new FS.ErrnoError(59);\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {})=>{\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") ret = UTF8ArrayToString(buf, 0);\n else if (opts.encoding === \"binary\") ret = buf;\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {})=>{\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n else throw new Error(\"Unsupported data type\");\n FS.close(stream);\n },\n cwd: ()=>FS.currentPath,\n chdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) throw new FS.ErrnoError(44);\n if (!FS.isDir(lookup.node.mode)) throw new FS.ErrnoError(54);\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) throw new FS.ErrnoError(errCode);\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: ()=>{\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: ()=>{\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: ()=>0,\n write: (stream, buffer, offset, length, pos)=>length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: ()=>{\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: ()=>{\n var node = FS.createNode(proc_self, \"fd\", 16895, 73);\n node.node_ops = {\n lookup: (parent, name)=>{\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: ()=>stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: ()=>{\n if (Module[\"stdin\"]) FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n if (Module[\"stdout\"]) FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n if (Module[\"stderr\"]) FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n else FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: ()=>{\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [\n 44\n ].forEach((code)=>{\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: ()=>{\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error)=>{\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: ()=>{\n FS.init.initialized = false;\n _fflush(0);\n for(var i = 0; i < FS.streams.length; i++){\n var stream = FS.streams[i];\n if (!stream) continue;\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite)=>{\n var mode = 0;\n if (canRead) mode |= 365;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink)=>{\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) return null;\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink)=>{\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite)=>{\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while(parts.length){\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn)=>{\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for(var i = 0, len = data.length; i < len; ++i)arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: (stream)=>{\n stream.seekable = false;\n },\n close: (stream)=>{\n if (output && output.buffer && output.buffer.length) output(10);\n },\n read: (stream, buffer, offset, length, pos)=>{\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos)=>{\n for(var i = 0; i < length; i++)try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: (obj)=>{\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n 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.\");\n else if (read_) try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n else throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n },\n createLazyFile: (parent, name, url, canRead, canWrite)=>{\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) return undefined;\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1048576;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to)=>{\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) return new Uint8Array(xhr.response || []);\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter((chunkNum)=>{\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") lazyArray.chunks[chunkNum] = doXHR(start, end);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else var properties = {\n isDevice: false,\n url: url\n };\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) node.contents = properties.contents;\n else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach((key)=>{\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents.get(position + i);\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position)=>{\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags)=>{\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish)=>{\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, ()=>{\n if (onerror) onerror();\n removeRunDependency(dep);\n })) return;\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") asyncLoad(url, (byteArray)=>processData(byteArray), onerror);\n else processData(url);\n },\n indexedDB: ()=>{\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: ()=>{\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = ()=>{\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = ()=>{\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n try {\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var getRequest = files.get(path);\n getRequest.onsuccess = ()=>{\n if (FS.analyzePath(path).exists) FS.unlink(path);\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n };\n var SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) return path;\n var dir;\n if (dirfd === -100) dir = FS.cwd();\n else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) throw new FS.ErrnoError(44);\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) return -54;\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n tempI64 = [\n stat.size >>> 0,\n (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)\n ], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [\n Math.floor(atime / 1e3) >>> 0,\n (tempDouble = Math.floor(atime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(mtime / 1e3) >>> 0,\n (tempDouble = Math.floor(mtime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(ctime / 1e3) >>> 0,\n (tempDouble = Math.floor(ctime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n tempI64 = [\n stat.ino >>> 0,\n (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)\n ], HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n if (flags & 2) return 0;\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n };\n function ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & -8) return -28;\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) return -44;\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) return -2;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n }\n function ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(cmd){\n case 0:\n var arg = SYSCALLS.get();\n if (arg < 0) return -28;\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n case 1:\n case 2:\n return 0;\n case 3:\n return stream.flags;\n case 4:\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n case 5:\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n case 6:\n case 7:\n return 0;\n case 16:\n case 8:\n return -28;\n case 9:\n setErrNo(28);\n return -1;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(op){\n case 21509:\n case 21505:\n if (!stream.tty) return -59;\n return 0;\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n if (!stream.tty) return -59;\n return 0;\n case 21519:\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n case 21520:\n if (!stream.tty) return -59;\n return -28;\n case 21531:\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n case 21523:\n if (!stream.tty) return -59;\n return 0;\n case 21524:\n if (!stream.tty) return -59;\n return 0;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_stat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_unlinkat(dirfd, path, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (flags === 0) FS.unlink(path);\n else if (flags === 512) FS.rmdir(path);\n else abort(\"Invalid flags passed to unlinkat\");\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n var nowIsMonotonic = true;\n function __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n }\n function __emscripten_throw_longjmp() {\n throw Infinity;\n }\n function readI53FromI64(ptr) {\n return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296;\n }\n function __gmtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getUTCSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getUTCHours();\n HEAP32[tmPtr + 12 >> 2] = date.getUTCDate();\n HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();\n var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);\n var yday = (date.getTime() - start) / 86400000 | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n }\n function __isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n }\n var __MONTH_DAYS_LEAP_CUMULATIVE = [\n 0,\n 31,\n 60,\n 91,\n 121,\n 152,\n 182,\n 213,\n 244,\n 274,\n 305,\n 335\n ];\n var __MONTH_DAYS_REGULAR_CUMULATIVE = [\n 0,\n 31,\n 59,\n 90,\n 120,\n 151,\n 181,\n 212,\n 243,\n 273,\n 304,\n 334\n ];\n function __yday_from_date(date) {\n var isLeapYear = __isLeapYear(date.getFullYear());\n var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday;\n }\n function __localtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n HEAP32[tmPtr + 32 >> 2] = dst;\n }\n function __mktime_js(tmPtr) {\n 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);\n var dst = HEAP32[tmPtr + 32 >> 2];\n var guessedOffset = date.getTimezoneOffset();\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dstOffset = Math.min(winterOffset, summerOffset);\n if (dst < 0) HEAP32[tmPtr + 32 >> 2] = Number(summerOffset != winterOffset && dstOffset == guessedOffset);\n else if (dst > 0 != (dstOffset == guessedOffset)) {\n var nonDstOffset = Math.max(winterOffset, summerOffset);\n var trueOffset = dst > 0 ? dstOffset : nonDstOffset;\n date.setTime(date.getTime() + (trueOffset - guessedOffset) * 6e4);\n }\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getYear();\n return date.getTime() / 1e3 | 0;\n }\n function __timegm_js(tmPtr) {\n 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);\n var date = new Date(time);\n HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();\n var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);\n var yday = (date.getTime() - start) / 86400000 | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n return date.getTime() / 1e3 | 0;\n }\n function allocateUTF8(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = _malloc(size);\n if (ret) stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function __tzset_js(timezone, daylight, tzname) {\n var currentYear = new Date().getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;\n HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);\n function extractZone(date) {\n var match = date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return match ? match[1] : \"GMT\";\n }\n var winterName = extractZone(winter);\n var summerName = extractZone(summer);\n var winterNamePtr = allocateUTF8(winterName);\n var summerNamePtr = allocateUTF8(summerName);\n if (summerOffset < winterOffset) {\n HEAPU32[tzname >> 2] = winterNamePtr;\n HEAPU32[tzname + 4 >> 2] = summerNamePtr;\n } else {\n HEAPU32[tzname >> 2] = summerNamePtr;\n HEAPU32[tzname + 4 >> 2] = winterNamePtr;\n }\n }\n function _emscripten_date_now() {\n return Date.now();\n }\n var _emscripten_get_now;\n _emscripten_get_now = ()=>performance.now();\n function _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n }\n function getHeapMax() {\n return 2147483648;\n }\n function emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n }\n function _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) return false;\n let alignUp = (x, multiple)=>x + (multiple - x % multiple) % multiple;\n for(var cutDown = 1; cutDown <= 4; cutDown *= 2){\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) return true;\n }\n return false;\n }\n function _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n }\n function exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) exitRuntime();\n _proc_exit(status);\n }\n var _exit = exitJS;\n function _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n }\n function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n tempI64 = [\n stream.position >>> 0,\n (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)\n ], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") return EXITSTATUS;\n quit_(1, e);\n }\n function allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n }\n function maybeExit() {\n if (!keepRuntimeAlive()) try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n function callUserCallback(func) {\n if (runtimeExited || ABORT) return;\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n }\n function runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n }\n function runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n }\n var Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [\n \"emscripten_sleep\",\n \"emscripten_wget\",\n \"emscripten_wget_data\",\n \"emscripten_idb_load\",\n \"emscripten_idb_store\",\n \"emscripten_idb_delete\",\n \"emscripten_idb_exists\",\n \"emscripten_idb_load_blob\",\n \"emscripten_idb_store_blob\",\n \"SDL_Delay\",\n \"emscripten_scan_registers\",\n \"emscripten_lazy_load_code\",\n \"emscripten_fiber_swap\",\n \"__load_secondary_module\",\n \"fd_sync\",\n \"__wasi_fd_sync\",\n \"_emval_await\",\n \"_dlopen_js\",\n \"__asyncjs__*\"\n ];\n for(var x in imports)(function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n })(x);\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for(var x in exports)(function(x) {\n var original = exports[x];\n if (typeof original == \"function\") ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally{\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n else ret[x] = original;\n })(x);\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") Fibers.trampoline();\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject)=>{\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0)=>{\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) return;\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.resume();\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) throw asyncWasmReturnValue;\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.pause();\n runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach((func)=>callUserCallback(func));\n } else abort(\"invalid state: \" + Asyncify.state);\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep((wakeUp)=>{\n startAsync().then(wakeUp);\n });\n }\n };\n function AsciiToString(ptr) {\n var str = \"\";\n while(true){\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n }\n var FSNode = function(parent, name, mode, rdev) {\n if (!parent) parent = this;\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n };\n var readMode = 365;\n var writeMode = 146;\n Object.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n });\n FS.FSNode = FSNode;\n FS.staticInit();\n var wasmImports = {\n \"q\": __asyncjs__emglken_fill_stdin_buffer,\n \"D\": ___syscall_faccessat,\n \"l\": ___syscall_fcntl64,\n \"C\": ___syscall_getcwd,\n \"B\": ___syscall_ioctl,\n \"k\": ___syscall_openat,\n \"A\": ___syscall_stat64,\n \"z\": ___syscall_unlinkat,\n \"x\": __emscripten_get_now_is_monotonic,\n \"w\": __emscripten_throw_longjmp,\n \"v\": __gmtime_js,\n \"u\": __localtime_js,\n \"t\": __mktime_js,\n \"s\": __timegm_js,\n \"r\": __tzset_js,\n \"i\": _emscripten_date_now,\n \"p\": _emscripten_memcpy_big,\n \"o\": _emscripten_resize_heap,\n \"a\": _exit,\n \"c\": _fd_close,\n \"y\": _fd_read,\n \"m\": _fd_seek,\n \"j\": _fd_write,\n \"h\": glk_buffer_canon_decompose_uni,\n \"g\": glk_buffer_canon_normalize_uni,\n \"f\": glk_buffer_to_lower_case_uni,\n \"e\": glk_buffer_to_title_case_uni,\n \"d\": glk_buffer_to_upper_case_uni,\n \"n\": invoke_vi,\n \"b\": invoke_vii\n };\n var asm = createWasm();\n var ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"F\"]).apply(null, arguments);\n };\n var _malloc = function() {\n return (_malloc = Module[\"asm\"][\"G\"]).apply(null, arguments);\n };\n var _free = function() {\n return (_free = Module[\"asm\"][\"H\"]).apply(null, arguments);\n };\n var _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"I\"]).apply(null, arguments);\n };\n var _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"J\"]).apply(null, arguments);\n };\n var _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"K\"]).apply(null, arguments);\n };\n var ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"L\"]).apply(null, arguments);\n };\n var ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"M\"]).apply(null, arguments);\n };\n var _setThrew = function() {\n return (_setThrew = Module[\"asm\"][\"O\"]).apply(null, arguments);\n };\n var _saveSetjmp = function() {\n return (_saveSetjmp = Module[\"asm\"][\"saveSetjmp\"]).apply(null, arguments);\n };\n var _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n };\n var stackSave = function() {\n return (stackSave = Module[\"asm\"][\"P\"]).apply(null, arguments);\n };\n var stackRestore = function() {\n return (stackRestore = Module[\"asm\"][\"Q\"]).apply(null, arguments);\n };\n var stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"R\"]).apply(null, arguments);\n };\n var dynCall_vii = Module[\"dynCall_vii\"] = function() {\n return (dynCall_vii = Module[\"dynCall_vii\"] = Module[\"asm\"][\"S\"]).apply(null, arguments);\n };\n var dynCall_vi = Module[\"dynCall_vi\"] = function() {\n return (dynCall_vi = Module[\"dynCall_vi\"] = Module[\"asm\"][\"T\"]).apply(null, arguments);\n };\n var _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"U\"]).apply(null, arguments);\n };\n var _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"V\"]).apply(null, arguments);\n };\n var _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"W\"]).apply(null, arguments);\n };\n var _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"X\"]).apply(null, arguments);\n };\n var ___start_em_js = Module[\"___start_em_js\"] = 33568;\n var ___stop_em_js = Module[\"___stop_em_js\"] = 36253;\n function invoke_vii(index, a1, a2) {\n var sp = stackSave();\n try {\n dynCall_vii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_vi(index, a1) {\n var sp = stackSave();\n try {\n dynCall_vi(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n Module[\"AsciiToString\"] = AsciiToString;\n Module[\"FS\"] = FS;\n var calledRun;\n dependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n };\n function callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach((arg)=>{\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n }\n function run(args = arguments_) {\n if (runDependencies > 0) return;\n preRun();\n if (runDependencies > 0) return;\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else doRun();\n }\n if (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [\n Module[\"preInit\"]\n ];\n while(Module[\"preInit\"].length > 0)Module[\"preInit\"].pop()();\n }\n var shouldRunNow = true;\n if (Module[\"noInitialRun\"]) shouldRunNow = false;\n run();\n return Module.ready;\n };\n})();\nvar $70d4325860634496$export$2e2bcd8739ae039 = $70d4325860634496$var$Module;\n\n\nclass $dd4718defa50fa2b$export$2e2bcd8739ae039 extends (0, $0d34edacac7ea588$export$2e2bcd8739ae039) {\n default_options() {\n return {\n vmcore: (0, $70d4325860634496$export$2e2bcd8739ae039)\n };\n }\n}\n\n\n/*\n\nEmglken port of Hugo\n====================\n\nCopyright (c) 2020 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/ \nvar $57e022dac828c602$exports = {};\n\n$57e022dac828c602$exports = new URL((parcelRequire(\"6MsPj\")).resolve(\"ida9s\"), import.meta.url).toString();\n\n\nvar $bc076b4214ff7fe6$var$Module = (()=>{\n var _scriptDir = \"file:///node_modules/emglken/build/hugo-core.js\";\n return function(Module = {}) {\n var Module = typeof Module != \"undefined\" ? Module : {};\n var readyPromiseResolve, readyPromiseReject;\n Module[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n });\n var moduleOverrides = Object.assign({}, Module);\n var arguments_ = [];\n var thisProgram = \"./this.program\";\n var quit_ = (status, toThrow)=>{\n throw toThrow;\n };\n var ENVIRONMENT_IS_WEB = true;\n var ENVIRONMENT_IS_WORKER = false;\n var scriptDirectory = \"\";\n function locateFile(path) {\n if (Module[\"locateFile\"]) return Module[\"locateFile\"](path, scriptDirectory);\n return scriptDirectory + path;\n }\n var read_, readAsync, readBinary, setWindowTitle;\n if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) scriptDirectory = self.location.href;\n else if (typeof document != \"undefined\" && document.currentScript) scriptDirectory = document.currentScript.src;\n if (_scriptDir) scriptDirectory = _scriptDir;\n if (scriptDirectory.indexOf(\"blob:\") !== 0) scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n else scriptDirectory = \"\";\n read_ = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) readBinary = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n readAsync = (url, onload, onerror)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = ()=>{\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n setWindowTitle = (title)=>document.title = title;\n }\n var out = Module[\"print\"] || console.log.bind(console);\n var err = Module[\"printErr\"] || console.warn.bind(console);\n Object.assign(Module, moduleOverrides);\n moduleOverrides = null;\n if (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n if (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n if (Module[\"quit\"]) quit_ = Module[\"quit\"];\n var wasmBinary;\n if (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n var noExitRuntime = Module[\"noExitRuntime\"] || false;\n if (typeof WebAssembly != \"object\") abort(\"no native wasm support detected\");\n var wasmMemory;\n var ABORT = false;\n var EXITSTATUS;\n function assert(condition, text) {\n if (!condition) abort(text);\n }\n var UTF8Decoder = new TextDecoder(\"utf8\");\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while(heapOrArray[endPtr] && !(endPtr >= endIdx))++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for(var end = ptr; !(end >= maxPtr) && HEAPU8[end];)++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n }\n function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for(var i = 0; i < str.length; ++i){\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n }\n function stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n }\n function lengthBytesUTF8(str) {\n var len = 0;\n for(var i = 0; i < str.length; ++i){\n var c = str.charCodeAt(i);\n if (c <= 127) len++;\n else if (c <= 2047) len += 2;\n else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else len += 3;\n }\n return len;\n }\n var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n function updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n }\n var wasmTable;\n var __ATPRERUN__ = [];\n var __ATINIT__ = [];\n var __ATMAIN__ = [];\n var __ATEXIT__ = [];\n var __ATPOSTRUN__ = [];\n var runtimeInitialized = false;\n var runtimeExited = false;\n var runtimeKeepaliveCounter = 0;\n function keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n }\n function preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [\n Module[\"preRun\"]\n ];\n while(Module[\"preRun\"].length)addOnPreRun(Module[\"preRun\"].shift());\n }\n callRuntimeCallbacks(__ATPRERUN__);\n }\n function initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n }\n function preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n }\n function exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n }\n function postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [\n Module[\"postRun\"]\n ];\n while(Module[\"postRun\"].length)addOnPostRun(Module[\"postRun\"].shift());\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n }\n function addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n }\n function addOnInit(cb) {\n __ATINIT__.unshift(cb);\n }\n function addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n }\n var runDependencies = 0;\n var runDependencyWatcher = null;\n var dependenciesFulfilled = null;\n function getUniqueRunDependency(id) {\n return id;\n }\n function addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n }\n function removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n }\n function abort(what) {\n if (Module[\"onAbort\"]) Module[\"onAbort\"](what);\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n }\n var dataURIPrefix = \"data:application/octet-stream;base64,\";\n function isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n }\n var wasmBinaryFile;\n if (Module[\"locateFile\"]) {\n wasmBinaryFile = \"hugo-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) wasmBinaryFile = locateFile(wasmBinaryFile);\n } else wasmBinaryFile = new URL($57e022dac828c602$exports).href;\n function getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) return new Uint8Array(wasmBinary);\n if (readBinary) return readBinary(file);\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n }\n function getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n }\n function instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n }\n function instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n else return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n function createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"t\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"C\"];\n addOnInit(Module[\"asm\"][\"u\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n }\n var tempDouble;\n var tempI64;\n function __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async ()=>{\n if (!Module.emglken_stdin_buffers.length) await new Promise((resolve)=>{\n Module.emglken_stdin_ready = resolve;\n });\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) HEAPU8.set(input, buffer);\n else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n }\n function ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n }\n function callRuntimeCallbacks(callbacks) {\n while(callbacks.length > 0)callbacks.shift()(Module);\n }\n var PATH = {\n isAbs: (path)=>path.charAt(0) === \"/\",\n splitPath: (filename)=>{\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot)=>{\n var up = 0;\n for(var i = parts.length - 1; i >= 0; i--){\n var last = parts[i];\n if (last === \".\") parts.splice(i, 1);\n else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) for(; up; up--)parts.unshift(\"..\");\n return parts;\n },\n normalize: (path)=>{\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter((p)=>!!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) path = \".\";\n if (path && trailingSlash) path += \"/\";\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: (path)=>{\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) return \".\";\n if (dir) dir = dir.substr(0, dir.length - 1);\n return root + dir;\n },\n basename: (path)=>{\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r)=>{\n return PATH.normalize(l + \"/\" + r);\n }\n };\n function getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return ()=>{\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return ()=>abort(\"randomDevice\");\n }\n var PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for(var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--){\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") throw new TypeError(\"Arguments to path.resolve must be strings\");\n else if (!path) return \"\";\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter((p)=>!!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to)=>{\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for(; start < arr.length; start++){\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for(; end >= 0; end--){\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for(var i = 0; i < length; i++)if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n var outputParts = [];\n for(var i = samePartsLength; i < fromParts.length; i++)outputParts.push(\"..\");\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n };\n function intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n }\n var TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) throw new FS.ErrnoError(43);\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) throw new FS.ErrnoError(60);\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) throw new FS.ErrnoError(60);\n try {\n for(var i = 0; i < length; i++)stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) result += \"\\n\";\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) result += \"\\n\";\n }\n if (!result) return null;\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n };\n function mmapAlloc(size) {\n abort();\n }\n var MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16895, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) throw new FS.ErrnoError(63);\n if (!MEMFS.ops_table) MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1048576;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) attr.size = 4096;\n else if (FS.isFile(node.mode)) attr.size = node.usedBytes;\n else if (FS.isLink(node.mode)) attr.size = node.link.length;\n else attr.size = 0;\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) node.mode = attr.mode;\n if (attr.timestamp !== undefined) node.timestamp = attr.timestamp;\n if (attr.size !== undefined) MEMFS.resizeFileStorage(node, attr.size);\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for(var i in new_node.contents)throw new FS.ErrnoError(55);\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for(var i in node.contents)throw new FS.ErrnoError(55);\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [\n \".\",\n \"..\"\n ];\n for(var key in node.contents){\n if (!node.contents.hasOwnProperty(key)) continue;\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 41471, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) throw new FS.ErrnoError(28);\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) buffer.set(contents.subarray(position, position + size), offset);\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) canOwn = false;\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position);\n else for(var i = 0; i < length; i++)node.contents[position + i] = buffer[offset + i];\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) position += stream.position;\n else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) position += stream.node.usedBytes;\n }\n if (position < 0) throw new FS.ErrnoError(28);\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) contents = contents.subarray(position, position + length);\n else contents = Array.prototype.slice.call(contents, position, position + length);\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n };\n function asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, (arrayBuffer)=>{\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, (event)=>{\n if (onerror) onerror();\n else throw 'Loading data file \"' + url + '\" failed.';\n });\n if (dep) addRunDependency(dep);\n }\n var FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {})=>{\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) throw new FS.ErrnoError(32);\n var parts = path.split(\"/\").filter((p)=>!!p);\n var current = FS.root;\n var current_path = \"/\";\n for(var i = 0; i < parts.length; i++){\n var islast = i === parts.length - 1;\n if (islast && opts.parent) break;\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) current = current.mounted.root;\n }\n if (!islast || opts.follow) {\n var count = 0;\n while(FS.isLink(current.mode)){\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) throw new FS.ErrnoError(32);\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: (node)=>{\n var path;\n while(true){\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name)=>{\n var hash = 0;\n for(var i = 0; i < name.length; i++)hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) FS.nameTable[hash] = node.name_next;\n else {\n var current = FS.nameTable[hash];\n while(current){\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name)=>{\n var errCode = FS.mayLookup(parent);\n if (errCode) throw new FS.ErrnoError(errCode, parent);\n var hash = FS.hashName(parent.id, name);\n for(var node = FS.nameTable[hash]; node; node = node.name_next){\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) return node;\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev)=>{\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: (node)=>{\n FS.hashRemoveNode(node);\n },\n isRoot: (node)=>{\n return node === node.parent;\n },\n isMountpoint: (node)=>{\n return !!node.mounted;\n },\n isFile: (mode)=>{\n return (mode & 61440) === 32768;\n },\n isDir: (mode)=>{\n return (mode & 61440) === 16384;\n },\n isLink: (mode)=>{\n return (mode & 61440) === 40960;\n },\n isChrdev: (mode)=>{\n return (mode & 61440) === 8192;\n },\n isBlkdev: (mode)=>{\n return (mode & 61440) === 24576;\n },\n isFIFO: (mode)=>{\n return (mode & 61440) === 4096;\n },\n isSocket: (mode)=>{\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: (str)=>{\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") throw new Error(\"Unknown file open mode: \" + str);\n return flags;\n },\n flagsToPermissionString: (flag)=>{\n var perms = [\n \"r\",\n \"w\",\n \"rw\"\n ][flag & 3];\n if (flag & 512) perms += \"w\";\n return perms;\n },\n nodePermissions: (node, perms)=>{\n if (FS.ignorePermissions) return 0;\n if (perms.includes(\"r\") && !(node.mode & 292)) return 2;\n else if (perms.includes(\"w\") && !(node.mode & 146)) return 2;\n else if (perms.includes(\"x\") && !(node.mode & 73)) return 2;\n return 0;\n },\n mayLookup: (dir)=>{\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name)=>{\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir)=>{\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) return errCode;\n if (isdir) {\n if (!FS.isDir(node.mode)) return 54;\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) return 10;\n } else {\n if (FS.isDir(node.mode)) return 31;\n }\n return 0;\n },\n mayOpen: (node, flags)=>{\n if (!node) return 44;\n if (FS.isLink(node.mode)) return 32;\n else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) return 31;\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS)=>{\n for(var fd = fd_start; fd <= fd_end; fd++){\n if (!FS.streams[fd]) return fd;\n }\n throw new FS.ErrnoError(33);\n },\n getStream: (fd)=>FS.streams[fd],\n createStream: (stream, fd_start, fd_end)=>{\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: (fd)=>{\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: (stream)=>{\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n },\n llseek: ()=>{\n throw new FS.ErrnoError(70);\n }\n },\n major: (dev)=>dev >> 8,\n minor: (dev)=>dev & 255,\n makedev: (ma, mi)=>ma << 8 | mi,\n registerDevice: (dev, ops)=>{\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: (dev)=>FS.devices[dev],\n getMounts: (mount)=>{\n var mounts = [];\n var check = [\n mount\n ];\n while(check.length){\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback)=>{\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) doCallback(null);\n }\n mounts.forEach((mount)=>{\n if (!mount.type.syncfs) return done(null);\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint)=>{\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) throw new FS.ErrnoError(10);\n else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n if (!FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) FS.root = mountRoot;\n else if (node) {\n node.mounted = mount;\n if (node.mount) node.mount.mounts.push(mount);\n }\n return mountRoot;\n },\n unmount: (mountpoint)=>{\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) throw new FS.ErrnoError(28);\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach((hash)=>{\n var current = FS.nameTable[hash];\n while(current){\n var next = current.name_next;\n if (mounts.includes(current.mount)) FS.destroyNode(current);\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name)=>{\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") throw new FS.ErrnoError(28);\n var errCode = FS.mayCreate(parent, name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.mknod) throw new FS.ErrnoError(63);\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode)=>{\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode)=>{\n mode = mode !== undefined ? mode : 511;\n mode &= 1023;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode)=>{\n var dirs = path.split(\"/\");\n var d = \"\";\n for(var i = 0; i < dirs.length; ++i){\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev)=>{\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath)=>{\n if (!PATH_FS.resolve(oldpath)) throw new FS.ErrnoError(44);\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.symlink) throw new FS.ErrnoError(63);\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path)=>{\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) throw new FS.ErrnoError(75);\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(28);\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(55);\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) return;\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) throw new FS.ErrnoError(errCode);\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!old_dir.node_ops.rename) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) throw new FS.ErrnoError(10);\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally{\n FS.hashAddNode(old_node);\n }\n },\n rmdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.rmdir) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) throw new FS.ErrnoError(54);\n return node.node_ops.readdir(node);\n },\n unlink: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.unlink) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: (path)=>{\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) throw new FS.ErrnoError(44);\n if (!link.node_ops.readlink) throw new FS.ErrnoError(28);\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow)=>{\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) throw new FS.ErrnoError(44);\n if (!node.node_ops.getattr) throw new FS.ErrnoError(63);\n return node.node_ops.getattr(node);\n },\n lstat: (path)=>{\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & -4096,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode)=>{\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid)=>{\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len)=>{\n if (len < 0) throw new FS.ErrnoError(28);\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n if (FS.isDir(node.mode)) throw new FS.ErrnoError(31);\n if (!FS.isFile(node.mode)) throw new FS.ErrnoError(28);\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(28);\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode)=>{\n if (path === \"\") throw new FS.ErrnoError(44);\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) mode = mode & 4095 | 32768;\n else mode = 0;\n var node;\n if (typeof path == \"object\") node = path;\n else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) throw new FS.ErrnoError(20);\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) throw new FS.ErrnoError(44);\n if (FS.isChrdev(node.mode)) flags &= -513;\n if (flags & 65536 && !FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n if (flags & 512 && !created) FS.truncate(node, 0);\n flags &= -131713;\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) FS.readFiles[path] = 1;\n }\n return stream;\n },\n close: (stream)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) stream.stream_ops.close(stream);\n } catch (e) {\n throw e;\n } finally{\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: (stream)=>{\n return stream.fd === null;\n },\n llseek: (stream, offset, whence)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (!stream.seekable || !stream.stream_ops.llseek) throw new FS.ErrnoError(70);\n if (whence != 0 && whence != 1 && whence != 2) throw new FS.ErrnoError(28);\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.read) throw new FS.ErrnoError(28);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.write) throw new FS.ErrnoError(28);\n if (stream.seekable && stream.flags & 1024) FS.llseek(stream, 0, 2);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (offset < 0 || length <= 0) throw new FS.ErrnoError(28);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) throw new FS.ErrnoError(43);\n if (!stream.stream_ops.allocate) throw new FS.ErrnoError(138);\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags)=>{\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) throw new FS.ErrnoError(2);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(2);\n if (!stream.stream_ops.mmap) throw new FS.ErrnoError(43);\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags)=>{\n if (!stream.stream_ops.msync) return 0;\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: (stream)=>0,\n ioctl: (stream, cmd, arg)=>{\n if (!stream.stream_ops.ioctl) throw new FS.ErrnoError(59);\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {})=>{\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") ret = UTF8ArrayToString(buf, 0);\n else if (opts.encoding === \"binary\") ret = buf;\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {})=>{\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n else throw new Error(\"Unsupported data type\");\n FS.close(stream);\n },\n cwd: ()=>FS.currentPath,\n chdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) throw new FS.ErrnoError(44);\n if (!FS.isDir(lookup.node.mode)) throw new FS.ErrnoError(54);\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) throw new FS.ErrnoError(errCode);\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: ()=>{\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: ()=>{\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: ()=>0,\n write: (stream, buffer, offset, length, pos)=>length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: ()=>{\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: ()=>{\n var node = FS.createNode(proc_self, \"fd\", 16895, 73);\n node.node_ops = {\n lookup: (parent, name)=>{\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: ()=>stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: ()=>{\n if (Module[\"stdin\"]) FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n if (Module[\"stdout\"]) FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n if (Module[\"stderr\"]) FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n else FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: ()=>{\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [\n 44\n ].forEach((code)=>{\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: ()=>{\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error)=>{\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: ()=>{\n FS.init.initialized = false;\n _fflush(0);\n for(var i = 0; i < FS.streams.length; i++){\n var stream = FS.streams[i];\n if (!stream) continue;\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite)=>{\n var mode = 0;\n if (canRead) mode |= 365;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink)=>{\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) return null;\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink)=>{\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite)=>{\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while(parts.length){\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn)=>{\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for(var i = 0, len = data.length; i < len; ++i)arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: (stream)=>{\n stream.seekable = false;\n },\n close: (stream)=>{\n if (output && output.buffer && output.buffer.length) output(10);\n },\n read: (stream, buffer, offset, length, pos)=>{\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos)=>{\n for(var i = 0; i < length; i++)try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: (obj)=>{\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n 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.\");\n else if (read_) try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n else throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n },\n createLazyFile: (parent, name, url, canRead, canWrite)=>{\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) return undefined;\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1048576;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to)=>{\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) return new Uint8Array(xhr.response || []);\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter((chunkNum)=>{\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") lazyArray.chunks[chunkNum] = doXHR(start, end);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else var properties = {\n isDevice: false,\n url: url\n };\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) node.contents = properties.contents;\n else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach((key)=>{\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents.get(position + i);\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position)=>{\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags)=>{\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish)=>{\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, ()=>{\n if (onerror) onerror();\n removeRunDependency(dep);\n })) return;\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") asyncLoad(url, (byteArray)=>processData(byteArray), onerror);\n else processData(url);\n },\n indexedDB: ()=>{\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: ()=>{\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = ()=>{\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = ()=>{\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n try {\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var getRequest = files.get(path);\n getRequest.onsuccess = ()=>{\n if (FS.analyzePath(path).exists) FS.unlink(path);\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n };\n var SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) return path;\n var dir;\n if (dirfd === -100) dir = FS.cwd();\n else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) throw new FS.ErrnoError(44);\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) return -54;\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n tempI64 = [\n stat.size >>> 0,\n (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)\n ], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [\n Math.floor(atime / 1e3) >>> 0,\n (tempDouble = Math.floor(atime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(mtime / 1e3) >>> 0,\n (tempDouble = Math.floor(mtime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(ctime / 1e3) >>> 0,\n (tempDouble = Math.floor(ctime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n tempI64 = [\n stat.ino >>> 0,\n (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)\n ], HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n if (flags & 2) return 0;\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n };\n function ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & -8) return -28;\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) return -44;\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) return -2;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n }\n function ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(cmd){\n case 0:\n var arg = SYSCALLS.get();\n if (arg < 0) return -28;\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n case 1:\n case 2:\n return 0;\n case 3:\n return stream.flags;\n case 4:\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n case 5:\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n case 6:\n case 7:\n return 0;\n case 16:\n case 8:\n return -28;\n case 9:\n setErrNo(28);\n return -1;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(op){\n case 21509:\n case 21505:\n if (!stream.tty) return -59;\n return 0;\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n if (!stream.tty) return -59;\n return 0;\n case 21519:\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n case 21520:\n if (!stream.tty) return -59;\n return -28;\n case 21531:\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n case 21523:\n if (!stream.tty) return -59;\n return 0;\n case 21524:\n if (!stream.tty) return -59;\n return 0;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_stat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n var nowIsMonotonic = true;\n function __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n }\n function readI53FromI64(ptr) {\n return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296;\n }\n function __isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n }\n var __MONTH_DAYS_LEAP_CUMULATIVE = [\n 0,\n 31,\n 60,\n 91,\n 121,\n 152,\n 182,\n 213,\n 244,\n 274,\n 305,\n 335\n ];\n var __MONTH_DAYS_REGULAR_CUMULATIVE = [\n 0,\n 31,\n 59,\n 90,\n 120,\n 151,\n 181,\n 212,\n 243,\n 273,\n 304,\n 334\n ];\n function __yday_from_date(date) {\n var isLeapYear = __isLeapYear(date.getFullYear());\n var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday;\n }\n function __localtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n HEAP32[tmPtr + 32 >> 2] = dst;\n }\n function allocateUTF8(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = _malloc(size);\n if (ret) stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function __tzset_js(timezone, daylight, tzname) {\n var currentYear = new Date().getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;\n HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);\n function extractZone(date) {\n var match = date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return match ? match[1] : \"GMT\";\n }\n var winterName = extractZone(winter);\n var summerName = extractZone(summer);\n var winterNamePtr = allocateUTF8(winterName);\n var summerNamePtr = allocateUTF8(summerName);\n if (summerOffset < winterOffset) {\n HEAPU32[tzname >> 2] = winterNamePtr;\n HEAPU32[tzname + 4 >> 2] = summerNamePtr;\n } else {\n HEAPU32[tzname >> 2] = summerNamePtr;\n HEAPU32[tzname + 4 >> 2] = winterNamePtr;\n }\n }\n function _emscripten_date_now() {\n return Date.now();\n }\n var _emscripten_get_now;\n _emscripten_get_now = ()=>performance.now();\n function _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n }\n function getHeapMax() {\n return 2147483648;\n }\n function emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n }\n function _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) return false;\n let alignUp = (x, multiple)=>x + (multiple - x % multiple) % multiple;\n for(var cutDown = 1; cutDown <= 4; cutDown *= 2){\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) return true;\n }\n return false;\n }\n function _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n }\n function exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) exitRuntime();\n _proc_exit(status);\n }\n var _exit = exitJS;\n function _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n }\n function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n tempI64 = [\n stream.position >>> 0,\n (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)\n ], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function __arraySum(array, index) {\n var sum = 0;\n for(var i = 0; i <= index; sum += array[i++]);\n return sum;\n }\n var __MONTH_DAYS_LEAP = [\n 31,\n 29,\n 31,\n 30,\n 31,\n 30,\n 31,\n 31,\n 30,\n 31,\n 30,\n 31\n ];\n var __MONTH_DAYS_REGULAR = [\n 31,\n 28,\n 31,\n 30,\n 31,\n 30,\n 31,\n 31,\n 30,\n 31,\n 30,\n 31\n ];\n function __addDays(date, days) {\n var newDate = new Date(date.getTime());\n while(days > 0){\n var leap = __isLeapYear(newDate.getFullYear());\n var currentMonth = newDate.getMonth();\n var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];\n if (days > daysInCurrentMonth - newDate.getDate()) {\n days -= daysInCurrentMonth - newDate.getDate() + 1;\n newDate.setDate(1);\n if (currentMonth < 11) newDate.setMonth(currentMonth + 1);\n else {\n newDate.setMonth(0);\n newDate.setFullYear(newDate.getFullYear() + 1);\n }\n } else {\n newDate.setDate(newDate.getDate() + days);\n return newDate;\n }\n }\n return newDate;\n }\n function writeArrayToMemory(array, buffer) {\n HEAP8.set(array, buffer);\n }\n function _strftime(s, maxsize, format, tm) {\n var tm_zone = HEAP32[tm + 40 >> 2];\n var date = {\n tm_sec: HEAP32[tm >> 2],\n tm_min: HEAP32[tm + 4 >> 2],\n tm_hour: HEAP32[tm + 8 >> 2],\n tm_mday: HEAP32[tm + 12 >> 2],\n tm_mon: HEAP32[tm + 16 >> 2],\n tm_year: HEAP32[tm + 20 >> 2],\n tm_wday: HEAP32[tm + 24 >> 2],\n tm_yday: HEAP32[tm + 28 >> 2],\n tm_isdst: HEAP32[tm + 32 >> 2],\n tm_gmtoff: HEAP32[tm + 36 >> 2],\n tm_zone: tm_zone ? UTF8ToString(tm_zone) : \"\"\n };\n var pattern = UTF8ToString(format);\n var EXPANSION_RULES_1 = {\n \"%c\": \"%a %b %d %H:%M:%S %Y\",\n \"%D\": \"%m/%d/%y\",\n \"%F\": \"%Y-%m-%d\",\n \"%h\": \"%b\",\n \"%r\": \"%I:%M:%S %p\",\n \"%R\": \"%H:%M\",\n \"%T\": \"%H:%M:%S\",\n \"%x\": \"%m/%d/%y\",\n \"%X\": \"%H:%M:%S\",\n \"%Ec\": \"%c\",\n \"%EC\": \"%C\",\n \"%Ex\": \"%m/%d/%y\",\n \"%EX\": \"%H:%M:%S\",\n \"%Ey\": \"%y\",\n \"%EY\": \"%Y\",\n \"%Od\": \"%d\",\n \"%Oe\": \"%e\",\n \"%OH\": \"%H\",\n \"%OI\": \"%I\",\n \"%Om\": \"%m\",\n \"%OM\": \"%M\",\n \"%OS\": \"%S\",\n \"%Ou\": \"%u\",\n \"%OU\": \"%U\",\n \"%OV\": \"%V\",\n \"%Ow\": \"%w\",\n \"%OW\": \"%W\",\n \"%Oy\": \"%y\"\n };\n for(var rule in EXPANSION_RULES_1)pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_1[rule]);\n var WEEKDAYS = [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n ];\n var MONTHS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ];\n function leadingSomething(value, digits, character) {\n var str = typeof value == \"number\" ? value.toString() : value || \"\";\n while(str.length < digits)str = character[0] + str;\n return str;\n }\n function leadingNulls(value, digits) {\n return leadingSomething(value, digits, \"0\");\n }\n function compareByDay(date1, date2) {\n function sgn(value) {\n return value < 0 ? -1 : value > 0 ? 1 : 0;\n }\n var compare;\n if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {\n if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) compare = sgn(date1.getDate() - date2.getDate());\n }\n return compare;\n }\n function getFirstWeekStartDate(janFourth) {\n switch(janFourth.getDay()){\n case 0:\n return new Date(janFourth.getFullYear() - 1, 11, 29);\n case 1:\n return janFourth;\n case 2:\n return new Date(janFourth.getFullYear(), 0, 3);\n case 3:\n return new Date(janFourth.getFullYear(), 0, 2);\n case 4:\n return new Date(janFourth.getFullYear(), 0, 1);\n case 5:\n return new Date(janFourth.getFullYear() - 1, 11, 31);\n case 6:\n return new Date(janFourth.getFullYear() - 1, 11, 30);\n }\n }\n function getWeekBasedYear(date) {\n var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);\n var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);\n var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);\n var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);\n var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);\n if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {\n if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) return thisDate.getFullYear() + 1;\n return thisDate.getFullYear();\n }\n return thisDate.getFullYear() - 1;\n }\n var EXPANSION_RULES_2 = {\n \"%a\": function(date) {\n return WEEKDAYS[date.tm_wday].substring(0, 3);\n },\n \"%A\": function(date) {\n return WEEKDAYS[date.tm_wday];\n },\n \"%b\": function(date) {\n return MONTHS[date.tm_mon].substring(0, 3);\n },\n \"%B\": function(date) {\n return MONTHS[date.tm_mon];\n },\n \"%C\": function(date) {\n var year = date.tm_year + 1900;\n return leadingNulls(year / 100 | 0, 2);\n },\n \"%d\": function(date) {\n return leadingNulls(date.tm_mday, 2);\n },\n \"%e\": function(date) {\n return leadingSomething(date.tm_mday, 2, \" \");\n },\n \"%g\": function(date) {\n return getWeekBasedYear(date).toString().substring(2);\n },\n \"%G\": function(date) {\n return getWeekBasedYear(date);\n },\n \"%H\": function(date) {\n return leadingNulls(date.tm_hour, 2);\n },\n \"%I\": function(date) {\n var twelveHour = date.tm_hour;\n if (twelveHour == 0) twelveHour = 12;\n else if (twelveHour > 12) twelveHour -= 12;\n return leadingNulls(twelveHour, 2);\n },\n \"%j\": function(date) {\n return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);\n },\n \"%m\": function(date) {\n return leadingNulls(date.tm_mon + 1, 2);\n },\n \"%M\": function(date) {\n return leadingNulls(date.tm_min, 2);\n },\n \"%n\": function() {\n return \"\\n\";\n },\n \"%p\": function(date) {\n if (date.tm_hour >= 0 && date.tm_hour < 12) return \"AM\";\n return \"PM\";\n },\n \"%S\": function(date) {\n return leadingNulls(date.tm_sec, 2);\n },\n \"%t\": function() {\n return \"\t\";\n },\n \"%u\": function(date) {\n return date.tm_wday || 7;\n },\n \"%U\": function(date) {\n var days = date.tm_yday + 7 - date.tm_wday;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%V\": function(date) {\n var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7) / 7);\n if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) val++;\n if (!val) {\n val = 52;\n var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;\n if (dec31 == 4 || dec31 == 5 && __isLeapYear(date.tm_year % 400 - 1)) val++;\n } else if (val == 53) {\n var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;\n if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) val = 1;\n }\n return leadingNulls(val, 2);\n },\n \"%w\": function(date) {\n return date.tm_wday;\n },\n \"%W\": function(date) {\n var days = date.tm_yday + 7 - (date.tm_wday + 6) % 7;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%y\": function(date) {\n return (date.tm_year + 1900).toString().substring(2);\n },\n \"%Y\": function(date) {\n return date.tm_year + 1900;\n },\n \"%z\": function(date) {\n var off = date.tm_gmtoff;\n var ahead = off >= 0;\n off = Math.abs(off) / 60;\n off = off / 60 * 100 + off % 60;\n return (ahead ? \"+\" : \"-\") + String(\"0000\" + off).slice(-4);\n },\n \"%Z\": function(date) {\n return date.tm_zone;\n },\n \"%%\": function() {\n return \"%\";\n }\n };\n pattern = pattern.replace(/%%/g, \"\\x00\\x00\");\n for(var rule in EXPANSION_RULES_2)if (pattern.includes(rule)) pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_2[rule](date));\n pattern = pattern.replace(/\\0\\0/g, \"%\");\n var bytes = intArrayFromString(pattern, false);\n if (bytes.length > maxsize) return 0;\n writeArrayToMemory(bytes, s);\n return bytes.length - 1;\n }\n function handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") return EXITSTATUS;\n quit_(1, e);\n }\n function allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n }\n function maybeExit() {\n if (!keepRuntimeAlive()) try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n function callUserCallback(func) {\n if (runtimeExited || ABORT) return;\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n }\n function runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n }\n function runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n }\n var Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [\n \"emscripten_sleep\",\n \"emscripten_wget\",\n \"emscripten_wget_data\",\n \"emscripten_idb_load\",\n \"emscripten_idb_store\",\n \"emscripten_idb_delete\",\n \"emscripten_idb_exists\",\n \"emscripten_idb_load_blob\",\n \"emscripten_idb_store_blob\",\n \"SDL_Delay\",\n \"emscripten_scan_registers\",\n \"emscripten_lazy_load_code\",\n \"emscripten_fiber_swap\",\n \"__load_secondary_module\",\n \"fd_sync\",\n \"__wasi_fd_sync\",\n \"_emval_await\",\n \"_dlopen_js\",\n \"__asyncjs__*\"\n ];\n for(var x in imports)(function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n })(x);\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for(var x in exports)(function(x) {\n var original = exports[x];\n if (typeof original == \"function\") ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally{\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n else ret[x] = original;\n })(x);\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") Fibers.trampoline();\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject)=>{\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0)=>{\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) return;\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.resume();\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) throw asyncWasmReturnValue;\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.pause();\n runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach((func)=>callUserCallback(func));\n } else abort(\"invalid state: \" + Asyncify.state);\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep((wakeUp)=>{\n startAsync().then(wakeUp);\n });\n }\n };\n function AsciiToString(ptr) {\n var str = \"\";\n while(true){\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n }\n var FSNode = function(parent, name, mode, rdev) {\n if (!parent) parent = this;\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n };\n var readMode = 365;\n var writeMode = 146;\n Object.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n });\n FS.FSNode = FSNode;\n FS.staticInit();\n var wasmImports = {\n \"j\": __asyncjs__emglken_fill_stdin_buffer,\n \"s\": ___syscall_faccessat,\n \"e\": ___syscall_fcntl64,\n \"r\": ___syscall_getcwd,\n \"q\": ___syscall_ioctl,\n \"p\": ___syscall_openat,\n \"o\": ___syscall_stat64,\n \"m\": __emscripten_get_now_is_monotonic,\n \"l\": __localtime_js,\n \"k\": __tzset_js,\n \"b\": _emscripten_date_now,\n \"i\": _emscripten_memcpy_big,\n \"h\": _emscripten_resize_heap,\n \"a\": _exit,\n \"d\": _fd_close,\n \"n\": _fd_read,\n \"g\": _fd_seek,\n \"c\": _fd_write,\n \"f\": _strftime\n };\n var asm = createWasm();\n var ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"u\"]).apply(null, arguments);\n };\n var _malloc = function() {\n return (_malloc = Module[\"asm\"][\"v\"]).apply(null, arguments);\n };\n var _free = function() {\n return (_free = Module[\"asm\"][\"w\"]).apply(null, arguments);\n };\n var _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"x\"]).apply(null, arguments);\n };\n var _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"y\"]).apply(null, arguments);\n };\n var _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"z\"]).apply(null, arguments);\n };\n var ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"A\"]).apply(null, arguments);\n };\n var ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"B\"]).apply(null, arguments);\n };\n var _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n };\n var stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"D\"]).apply(null, arguments);\n };\n var _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"E\"]).apply(null, arguments);\n };\n var _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"F\"]).apply(null, arguments);\n };\n var _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"G\"]).apply(null, arguments);\n };\n var _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"H\"]).apply(null, arguments);\n };\n var ___start_em_js = Module[\"___start_em_js\"] = 18128;\n var ___stop_em_js = Module[\"___stop_em_js\"] = 20813;\n Module[\"AsciiToString\"] = AsciiToString;\n Module[\"FS\"] = FS;\n var calledRun;\n dependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n };\n function callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach((arg)=>{\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n }\n function run(args = arguments_) {\n if (runDependencies > 0) return;\n preRun();\n if (runDependencies > 0) return;\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else doRun();\n }\n if (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [\n Module[\"preInit\"]\n ];\n while(Module[\"preInit\"].length > 0)Module[\"preInit\"].pop()();\n }\n var shouldRunNow = true;\n if (Module[\"noInitialRun\"]) shouldRunNow = false;\n run();\n return Module.ready;\n };\n})();\nvar $bc076b4214ff7fe6$export$2e2bcd8739ae039 = $bc076b4214ff7fe6$var$Module;\n\n\nclass $15823016f6668df1$export$2e2bcd8739ae039 extends (0, $0d34edacac7ea588$export$2e2bcd8739ae039) {\n default_options() {\n return {\n vmcore: (0, $bc076b4214ff7fe6$export$2e2bcd8739ae039)\n };\n }\n}\n\n\n/*\n\nEmglken port of TADS\n====================\n\nCopyright (c) 2020 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/ \nvar $adf084eb06e09d60$exports = {};\n\n$adf084eb06e09d60$exports = new URL((parcelRequire(\"6MsPj\")).resolve(\"90qbH\"), import.meta.url).toString();\n\n\nvar $550f5195aabbfc7b$var$Module = (()=>{\n var _scriptDir = \"file:///node_modules/emglken/build/tads-core.js\";\n return function(Module = {}) {\n var Module = typeof Module != \"undefined\" ? Module : {};\n var readyPromiseResolve, readyPromiseReject;\n Module[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n });\n var moduleOverrides = Object.assign({}, Module);\n var arguments_ = [];\n var thisProgram = \"./this.program\";\n var quit_ = (status, toThrow)=>{\n throw toThrow;\n };\n var ENVIRONMENT_IS_WEB = true;\n var ENVIRONMENT_IS_WORKER = false;\n var scriptDirectory = \"\";\n function locateFile(path) {\n if (Module[\"locateFile\"]) return Module[\"locateFile\"](path, scriptDirectory);\n return scriptDirectory + path;\n }\n var read_, readAsync, readBinary, setWindowTitle;\n if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) scriptDirectory = self.location.href;\n else if (typeof document != \"undefined\" && document.currentScript) scriptDirectory = document.currentScript.src;\n if (_scriptDir) scriptDirectory = _scriptDir;\n if (scriptDirectory.indexOf(\"blob:\") !== 0) scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n else scriptDirectory = \"\";\n read_ = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) readBinary = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n readAsync = (url, onload, onerror)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = ()=>{\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n setWindowTitle = (title)=>document.title = title;\n }\n var out = Module[\"print\"] || console.log.bind(console);\n var err = Module[\"printErr\"] || console.warn.bind(console);\n Object.assign(Module, moduleOverrides);\n moduleOverrides = null;\n if (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n if (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n if (Module[\"quit\"]) quit_ = Module[\"quit\"];\n var wasmBinary;\n if (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n var noExitRuntime = Module[\"noExitRuntime\"] || false;\n if (typeof WebAssembly != \"object\") abort(\"no native wasm support detected\");\n var wasmMemory;\n var ABORT = false;\n var EXITSTATUS;\n function assert(condition, text) {\n if (!condition) abort(text);\n }\n var UTF8Decoder = new TextDecoder(\"utf8\");\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while(heapOrArray[endPtr] && !(endPtr >= endIdx))++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for(var end = ptr; !(end >= maxPtr) && HEAPU8[end];)++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n }\n function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for(var i = 0; i < str.length; ++i){\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n }\n function stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n }\n function lengthBytesUTF8(str) {\n var len = 0;\n for(var i = 0; i < str.length; ++i){\n var c = str.charCodeAt(i);\n if (c <= 127) len++;\n else if (c <= 2047) len += 2;\n else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else len += 3;\n }\n return len;\n }\n var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n function updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n }\n var wasmTable;\n var __ATPRERUN__ = [];\n var __ATINIT__ = [];\n var __ATMAIN__ = [];\n var __ATEXIT__ = [];\n var __ATPOSTRUN__ = [];\n var runtimeInitialized = false;\n var runtimeExited = false;\n var runtimeKeepaliveCounter = 0;\n function keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n }\n function preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [\n Module[\"preRun\"]\n ];\n while(Module[\"preRun\"].length)addOnPreRun(Module[\"preRun\"].shift());\n }\n callRuntimeCallbacks(__ATPRERUN__);\n }\n function initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n }\n function preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n }\n function exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n }\n function postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [\n Module[\"postRun\"]\n ];\n while(Module[\"postRun\"].length)addOnPostRun(Module[\"postRun\"].shift());\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n }\n function addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n }\n function addOnInit(cb) {\n __ATINIT__.unshift(cb);\n }\n function addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n }\n var runDependencies = 0;\n var runDependencyWatcher = null;\n var dependenciesFulfilled = null;\n function getUniqueRunDependency(id) {\n return id;\n }\n function addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n }\n function removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n }\n function abort(what) {\n if (Module[\"onAbort\"]) Module[\"onAbort\"](what);\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n }\n var dataURIPrefix = \"data:application/octet-stream;base64,\";\n function isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n }\n var wasmBinaryFile;\n if (Module[\"locateFile\"]) {\n wasmBinaryFile = \"tads-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) wasmBinaryFile = locateFile(wasmBinaryFile);\n } else wasmBinaryFile = new URL($adf084eb06e09d60$exports).href;\n function getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) return new Uint8Array(wasmBinary);\n if (readBinary) return readBinary(file);\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n }\n function getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n }\n function instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n }\n function instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n else return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n function createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"ha\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"qa\"];\n addOnInit(Module[\"asm\"][\"ia\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n }\n var tempDouble;\n var tempI64;\n function __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async ()=>{\n if (!Module.emglken_stdin_buffers.length) await new Promise((resolve)=>{\n Module.emglken_stdin_ready = resolve;\n });\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) HEAPU8.set(input, buffer);\n else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n }\n function ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n }\n function callRuntimeCallbacks(callbacks) {\n while(callbacks.length > 0)callbacks.shift()(Module);\n }\n var PATH = {\n isAbs: (path)=>path.charAt(0) === \"/\",\n splitPath: (filename)=>{\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot)=>{\n var up = 0;\n for(var i = parts.length - 1; i >= 0; i--){\n var last = parts[i];\n if (last === \".\") parts.splice(i, 1);\n else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) for(; up; up--)parts.unshift(\"..\");\n return parts;\n },\n normalize: (path)=>{\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter((p)=>!!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) path = \".\";\n if (path && trailingSlash) path += \"/\";\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: (path)=>{\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) return \".\";\n if (dir) dir = dir.substr(0, dir.length - 1);\n return root + dir;\n },\n basename: (path)=>{\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r)=>{\n return PATH.normalize(l + \"/\" + r);\n }\n };\n function getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return ()=>{\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return ()=>abort(\"randomDevice\");\n }\n var PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for(var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--){\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") throw new TypeError(\"Arguments to path.resolve must be strings\");\n else if (!path) return \"\";\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter((p)=>!!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to)=>{\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for(; start < arr.length; start++){\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for(; end >= 0; end--){\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for(var i = 0; i < length; i++)if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n var outputParts = [];\n for(var i = samePartsLength; i < fromParts.length; i++)outputParts.push(\"..\");\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n };\n function intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n }\n var TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) throw new FS.ErrnoError(43);\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) throw new FS.ErrnoError(60);\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) throw new FS.ErrnoError(60);\n try {\n for(var i = 0; i < length; i++)stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) result += \"\\n\";\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) result += \"\\n\";\n }\n if (!result) return null;\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n };\n function mmapAlloc(size) {\n abort();\n }\n var MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16895, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) throw new FS.ErrnoError(63);\n if (!MEMFS.ops_table) MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1048576;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) attr.size = 4096;\n else if (FS.isFile(node.mode)) attr.size = node.usedBytes;\n else if (FS.isLink(node.mode)) attr.size = node.link.length;\n else attr.size = 0;\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) node.mode = attr.mode;\n if (attr.timestamp !== undefined) node.timestamp = attr.timestamp;\n if (attr.size !== undefined) MEMFS.resizeFileStorage(node, attr.size);\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for(var i in new_node.contents)throw new FS.ErrnoError(55);\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for(var i in node.contents)throw new FS.ErrnoError(55);\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [\n \".\",\n \"..\"\n ];\n for(var key in node.contents){\n if (!node.contents.hasOwnProperty(key)) continue;\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 41471, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) throw new FS.ErrnoError(28);\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) buffer.set(contents.subarray(position, position + size), offset);\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) canOwn = false;\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position);\n else for(var i = 0; i < length; i++)node.contents[position + i] = buffer[offset + i];\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) position += stream.position;\n else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) position += stream.node.usedBytes;\n }\n if (position < 0) throw new FS.ErrnoError(28);\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) contents = contents.subarray(position, position + length);\n else contents = Array.prototype.slice.call(contents, position, position + length);\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n };\n function asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, (arrayBuffer)=>{\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, (event)=>{\n if (onerror) onerror();\n else throw 'Loading data file \"' + url + '\" failed.';\n });\n if (dep) addRunDependency(dep);\n }\n var FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {})=>{\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) throw new FS.ErrnoError(32);\n var parts = path.split(\"/\").filter((p)=>!!p);\n var current = FS.root;\n var current_path = \"/\";\n for(var i = 0; i < parts.length; i++){\n var islast = i === parts.length - 1;\n if (islast && opts.parent) break;\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) current = current.mounted.root;\n }\n if (!islast || opts.follow) {\n var count = 0;\n while(FS.isLink(current.mode)){\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) throw new FS.ErrnoError(32);\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: (node)=>{\n var path;\n while(true){\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name)=>{\n var hash = 0;\n for(var i = 0; i < name.length; i++)hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) FS.nameTable[hash] = node.name_next;\n else {\n var current = FS.nameTable[hash];\n while(current){\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name)=>{\n var errCode = FS.mayLookup(parent);\n if (errCode) throw new FS.ErrnoError(errCode, parent);\n var hash = FS.hashName(parent.id, name);\n for(var node = FS.nameTable[hash]; node; node = node.name_next){\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) return node;\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev)=>{\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: (node)=>{\n FS.hashRemoveNode(node);\n },\n isRoot: (node)=>{\n return node === node.parent;\n },\n isMountpoint: (node)=>{\n return !!node.mounted;\n },\n isFile: (mode)=>{\n return (mode & 61440) === 32768;\n },\n isDir: (mode)=>{\n return (mode & 61440) === 16384;\n },\n isLink: (mode)=>{\n return (mode & 61440) === 40960;\n },\n isChrdev: (mode)=>{\n return (mode & 61440) === 8192;\n },\n isBlkdev: (mode)=>{\n return (mode & 61440) === 24576;\n },\n isFIFO: (mode)=>{\n return (mode & 61440) === 4096;\n },\n isSocket: (mode)=>{\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: (str)=>{\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") throw new Error(\"Unknown file open mode: \" + str);\n return flags;\n },\n flagsToPermissionString: (flag)=>{\n var perms = [\n \"r\",\n \"w\",\n \"rw\"\n ][flag & 3];\n if (flag & 512) perms += \"w\";\n return perms;\n },\n nodePermissions: (node, perms)=>{\n if (FS.ignorePermissions) return 0;\n if (perms.includes(\"r\") && !(node.mode & 292)) return 2;\n else if (perms.includes(\"w\") && !(node.mode & 146)) return 2;\n else if (perms.includes(\"x\") && !(node.mode & 73)) return 2;\n return 0;\n },\n mayLookup: (dir)=>{\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name)=>{\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir)=>{\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) return errCode;\n if (isdir) {\n if (!FS.isDir(node.mode)) return 54;\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) return 10;\n } else {\n if (FS.isDir(node.mode)) return 31;\n }\n return 0;\n },\n mayOpen: (node, flags)=>{\n if (!node) return 44;\n if (FS.isLink(node.mode)) return 32;\n else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) return 31;\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS)=>{\n for(var fd = fd_start; fd <= fd_end; fd++){\n if (!FS.streams[fd]) return fd;\n }\n throw new FS.ErrnoError(33);\n },\n getStream: (fd)=>FS.streams[fd],\n createStream: (stream, fd_start, fd_end)=>{\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: (fd)=>{\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: (stream)=>{\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n },\n llseek: ()=>{\n throw new FS.ErrnoError(70);\n }\n },\n major: (dev)=>dev >> 8,\n minor: (dev)=>dev & 255,\n makedev: (ma, mi)=>ma << 8 | mi,\n registerDevice: (dev, ops)=>{\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: (dev)=>FS.devices[dev],\n getMounts: (mount)=>{\n var mounts = [];\n var check = [\n mount\n ];\n while(check.length){\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback)=>{\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) doCallback(null);\n }\n mounts.forEach((mount)=>{\n if (!mount.type.syncfs) return done(null);\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint)=>{\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) throw new FS.ErrnoError(10);\n else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n if (!FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) FS.root = mountRoot;\n else if (node) {\n node.mounted = mount;\n if (node.mount) node.mount.mounts.push(mount);\n }\n return mountRoot;\n },\n unmount: (mountpoint)=>{\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) throw new FS.ErrnoError(28);\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach((hash)=>{\n var current = FS.nameTable[hash];\n while(current){\n var next = current.name_next;\n if (mounts.includes(current.mount)) FS.destroyNode(current);\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name)=>{\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") throw new FS.ErrnoError(28);\n var errCode = FS.mayCreate(parent, name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.mknod) throw new FS.ErrnoError(63);\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode)=>{\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode)=>{\n mode = mode !== undefined ? mode : 511;\n mode &= 1023;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode)=>{\n var dirs = path.split(\"/\");\n var d = \"\";\n for(var i = 0; i < dirs.length; ++i){\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev)=>{\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath)=>{\n if (!PATH_FS.resolve(oldpath)) throw new FS.ErrnoError(44);\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.symlink) throw new FS.ErrnoError(63);\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path)=>{\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) throw new FS.ErrnoError(75);\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(28);\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(55);\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) return;\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) throw new FS.ErrnoError(errCode);\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!old_dir.node_ops.rename) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) throw new FS.ErrnoError(10);\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally{\n FS.hashAddNode(old_node);\n }\n },\n rmdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.rmdir) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) throw new FS.ErrnoError(54);\n return node.node_ops.readdir(node);\n },\n unlink: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.unlink) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: (path)=>{\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) throw new FS.ErrnoError(44);\n if (!link.node_ops.readlink) throw new FS.ErrnoError(28);\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow)=>{\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) throw new FS.ErrnoError(44);\n if (!node.node_ops.getattr) throw new FS.ErrnoError(63);\n return node.node_ops.getattr(node);\n },\n lstat: (path)=>{\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & -4096,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode)=>{\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid)=>{\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len)=>{\n if (len < 0) throw new FS.ErrnoError(28);\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n if (FS.isDir(node.mode)) throw new FS.ErrnoError(31);\n if (!FS.isFile(node.mode)) throw new FS.ErrnoError(28);\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(28);\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode)=>{\n if (path === \"\") throw new FS.ErrnoError(44);\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) mode = mode & 4095 | 32768;\n else mode = 0;\n var node;\n if (typeof path == \"object\") node = path;\n else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) throw new FS.ErrnoError(20);\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) throw new FS.ErrnoError(44);\n if (FS.isChrdev(node.mode)) flags &= -513;\n if (flags & 65536 && !FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n if (flags & 512 && !created) FS.truncate(node, 0);\n flags &= -131713;\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) FS.readFiles[path] = 1;\n }\n return stream;\n },\n close: (stream)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) stream.stream_ops.close(stream);\n } catch (e) {\n throw e;\n } finally{\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: (stream)=>{\n return stream.fd === null;\n },\n llseek: (stream, offset, whence)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (!stream.seekable || !stream.stream_ops.llseek) throw new FS.ErrnoError(70);\n if (whence != 0 && whence != 1 && whence != 2) throw new FS.ErrnoError(28);\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.read) throw new FS.ErrnoError(28);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.write) throw new FS.ErrnoError(28);\n if (stream.seekable && stream.flags & 1024) FS.llseek(stream, 0, 2);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (offset < 0 || length <= 0) throw new FS.ErrnoError(28);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) throw new FS.ErrnoError(43);\n if (!stream.stream_ops.allocate) throw new FS.ErrnoError(138);\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags)=>{\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) throw new FS.ErrnoError(2);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(2);\n if (!stream.stream_ops.mmap) throw new FS.ErrnoError(43);\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags)=>{\n if (!stream.stream_ops.msync) return 0;\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: (stream)=>0,\n ioctl: (stream, cmd, arg)=>{\n if (!stream.stream_ops.ioctl) throw new FS.ErrnoError(59);\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {})=>{\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") ret = UTF8ArrayToString(buf, 0);\n else if (opts.encoding === \"binary\") ret = buf;\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {})=>{\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n else throw new Error(\"Unsupported data type\");\n FS.close(stream);\n },\n cwd: ()=>FS.currentPath,\n chdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) throw new FS.ErrnoError(44);\n if (!FS.isDir(lookup.node.mode)) throw new FS.ErrnoError(54);\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) throw new FS.ErrnoError(errCode);\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: ()=>{\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: ()=>{\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: ()=>0,\n write: (stream, buffer, offset, length, pos)=>length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: ()=>{\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: ()=>{\n var node = FS.createNode(proc_self, \"fd\", 16895, 73);\n node.node_ops = {\n lookup: (parent, name)=>{\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: ()=>stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: ()=>{\n if (Module[\"stdin\"]) FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n if (Module[\"stdout\"]) FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n if (Module[\"stderr\"]) FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n else FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: ()=>{\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [\n 44\n ].forEach((code)=>{\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: ()=>{\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error)=>{\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: ()=>{\n FS.init.initialized = false;\n _fflush(0);\n for(var i = 0; i < FS.streams.length; i++){\n var stream = FS.streams[i];\n if (!stream) continue;\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite)=>{\n var mode = 0;\n if (canRead) mode |= 365;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink)=>{\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) return null;\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink)=>{\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite)=>{\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while(parts.length){\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn)=>{\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for(var i = 0, len = data.length; i < len; ++i)arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: (stream)=>{\n stream.seekable = false;\n },\n close: (stream)=>{\n if (output && output.buffer && output.buffer.length) output(10);\n },\n read: (stream, buffer, offset, length, pos)=>{\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos)=>{\n for(var i = 0; i < length; i++)try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: (obj)=>{\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n 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.\");\n else if (read_) try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n else throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n },\n createLazyFile: (parent, name, url, canRead, canWrite)=>{\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) return undefined;\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1048576;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to)=>{\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) return new Uint8Array(xhr.response || []);\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter((chunkNum)=>{\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") lazyArray.chunks[chunkNum] = doXHR(start, end);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else var properties = {\n isDevice: false,\n url: url\n };\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) node.contents = properties.contents;\n else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach((key)=>{\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents.get(position + i);\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position)=>{\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags)=>{\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish)=>{\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, ()=>{\n if (onerror) onerror();\n removeRunDependency(dep);\n })) return;\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") asyncLoad(url, (byteArray)=>processData(byteArray), onerror);\n else processData(url);\n },\n indexedDB: ()=>{\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: ()=>{\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = ()=>{\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = ()=>{\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n try {\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var getRequest = files.get(path);\n getRequest.onsuccess = ()=>{\n if (FS.analyzePath(path).exists) FS.unlink(path);\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n };\n var SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) return path;\n var dir;\n if (dirfd === -100) dir = FS.cwd();\n else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) throw new FS.ErrnoError(44);\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) return -54;\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n tempI64 = [\n stat.size >>> 0,\n (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)\n ], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [\n Math.floor(atime / 1e3) >>> 0,\n (tempDouble = Math.floor(atime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(mtime / 1e3) >>> 0,\n (tempDouble = Math.floor(mtime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(ctime / 1e3) >>> 0,\n (tempDouble = Math.floor(ctime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n tempI64 = [\n stat.ino >>> 0,\n (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)\n ], HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n if (flags & 2) return 0;\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n };\n function ___syscall_dup(fd) {\n try {\n var old = SYSCALLS.getStreamFromFD(fd);\n return FS.createStream(old, 0).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & -8) return -28;\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) return -44;\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) return -2;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n }\n function ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(cmd){\n case 0:\n var arg = SYSCALLS.get();\n if (arg < 0) return -28;\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n case 1:\n case 2:\n return 0;\n case 3:\n return stream.flags;\n case 4:\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n case 5:\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n case 6:\n case 7:\n return 0;\n case 16:\n case 8:\n return -28;\n case 9:\n setErrNo(28);\n return -1;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_getdents64(fd, dirp, count) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n if (!stream.getdents) stream.getdents = FS.readdir(stream.path);\n var struct_size = 280;\n var pos = 0;\n var off = FS.llseek(stream, 0, 1);\n var idx = Math.floor(off / struct_size);\n while(idx < stream.getdents.length && pos + struct_size <= count){\n var id;\n var type;\n var name = stream.getdents[idx];\n if (name === \".\") {\n id = stream.node.id;\n type = 4;\n } else if (name === \"..\") {\n var lookup = FS.lookupPath(stream.path, {\n parent: true\n });\n id = lookup.node.id;\n type = 4;\n } else {\n var child = FS.lookupNode(stream.node, name);\n id = child.id;\n type = FS.isChrdev(child.mode) ? 2 : FS.isDir(child.mode) ? 4 : FS.isLink(child.mode) ? 10 : 8;\n }\n tempI64 = [\n id >>> 0,\n (tempDouble = id, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[dirp + pos >> 2] = tempI64[0], HEAP32[dirp + pos + 4 >> 2] = tempI64[1];\n tempI64 = [\n (idx + 1) * struct_size >>> 0,\n (tempDouble = (idx + 1) * struct_size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[dirp + pos + 8 >> 2] = tempI64[0], HEAP32[dirp + pos + 12 >> 2] = tempI64[1];\n HEAP16[dirp + pos + 16 >> 1] = 280;\n HEAP8[dirp + pos + 18 >> 0] = type;\n stringToUTF8(name, dirp + pos + 19, 256);\n pos += struct_size;\n idx += 1;\n }\n FS.llseek(stream, idx * struct_size, 0);\n return pos;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(op){\n case 21509:\n case 21505:\n if (!stream.tty) return -59;\n return 0;\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n if (!stream.tty) return -59;\n return 0;\n case 21519:\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n case 21520:\n if (!stream.tty) return -59;\n return -28;\n case 21531:\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n case 21523:\n if (!stream.tty) return -59;\n return 0;\n case 21524:\n if (!stream.tty) return -59;\n return 0;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_lstat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.lstat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_mkdirat(dirfd, path, mode) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n path = PATH.normalize(path);\n if (path[path.length - 1] === \"/\") path = path.substr(0, path.length - 1);\n FS.mkdir(path, mode, 0);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_newfstatat(dirfd, path, buf, flags) {\n try {\n path = SYSCALLS.getStr(path);\n var nofollow = flags & 256;\n var allowEmpty = flags & 4096;\n flags = flags & -6401;\n path = SYSCALLS.calculateAt(dirfd, path, allowEmpty);\n return SYSCALLS.doStat(nofollow ? FS.lstat : FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_readlinkat(dirfd, path, buf, bufsize) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (bufsize <= 0) return -28;\n var ret = FS.readlink(path);\n var len = Math.min(bufsize, lengthBytesUTF8(ret));\n var endChar = HEAP8[buf + len];\n stringToUTF8(ret, buf, bufsize + 1);\n HEAP8[buf + len] = endChar;\n return len;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_renameat(olddirfd, oldpath, newdirfd, newpath) {\n try {\n oldpath = SYSCALLS.getStr(oldpath);\n newpath = SYSCALLS.getStr(newpath);\n oldpath = SYSCALLS.calculateAt(olddirfd, oldpath);\n newpath = SYSCALLS.calculateAt(newdirfd, newpath);\n FS.rename(oldpath, newpath);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_rmdir(path) {\n try {\n path = SYSCALLS.getStr(path);\n FS.rmdir(path);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_stat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_unlinkat(dirfd, path, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (flags === 0) FS.unlink(path);\n else if (flags === 512) FS.rmdir(path);\n else abort(\"Invalid flags passed to unlinkat\");\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n var nowIsMonotonic = true;\n function __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n }\n function __emscripten_throw_longjmp() {\n throw Infinity;\n }\n function readI53FromI64(ptr) {\n return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296;\n }\n function __gmtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getUTCSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getUTCHours();\n HEAP32[tmPtr + 12 >> 2] = date.getUTCDate();\n HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();\n var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);\n var yday = (date.getTime() - start) / 86400000 | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n }\n function __isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n }\n var __MONTH_DAYS_LEAP_CUMULATIVE = [\n 0,\n 31,\n 60,\n 91,\n 121,\n 152,\n 182,\n 213,\n 244,\n 274,\n 305,\n 335\n ];\n var __MONTH_DAYS_REGULAR_CUMULATIVE = [\n 0,\n 31,\n 59,\n 90,\n 120,\n 151,\n 181,\n 212,\n 243,\n 273,\n 304,\n 334\n ];\n function __yday_from_date(date) {\n var isLeapYear = __isLeapYear(date.getFullYear());\n var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday;\n }\n function __localtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n HEAP32[tmPtr + 32 >> 2] = dst;\n }\n function allocateUTF8(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = _malloc(size);\n if (ret) stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function __tzset_js(timezone, daylight, tzname) {\n var currentYear = new Date().getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;\n HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);\n function extractZone(date) {\n var match = date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return match ? match[1] : \"GMT\";\n }\n var winterName = extractZone(winter);\n var summerName = extractZone(summer);\n var winterNamePtr = allocateUTF8(winterName);\n var summerNamePtr = allocateUTF8(summerName);\n if (summerOffset < winterOffset) {\n HEAPU32[tzname >> 2] = winterNamePtr;\n HEAPU32[tzname + 4 >> 2] = summerNamePtr;\n } else {\n HEAPU32[tzname >> 2] = summerNamePtr;\n HEAPU32[tzname + 4 >> 2] = winterNamePtr;\n }\n }\n function _abort() {\n abort(\"\");\n }\n function _emscripten_date_now() {\n return Date.now();\n }\n var _emscripten_get_now;\n _emscripten_get_now = ()=>performance.now();\n function _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n }\n function getHeapMax() {\n return 2147483648;\n }\n function emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n }\n function _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) return false;\n let alignUp = (x, multiple)=>x + (multiple - x % multiple) % multiple;\n for(var cutDown = 1; cutDown <= 4; cutDown *= 2){\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) return true;\n }\n return false;\n }\n var ENV = {};\n function getExecutableName() {\n return thisProgram || \"./this.program\";\n }\n function getEnvStrings() {\n if (!getEnvStrings.strings) {\n var lang = (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\";\n var env = {\n \"USER\": \"web_user\",\n \"LOGNAME\": \"web_user\",\n \"PATH\": \"/\",\n \"PWD\": \"/\",\n \"HOME\": \"/home/web_user\",\n \"LANG\": lang,\n \"_\": getExecutableName()\n };\n for(var x in ENV)if (ENV[x] === undefined) delete env[x];\n else env[x] = ENV[x];\n var strings = [];\n for(var x in env)strings.push(x + \"=\" + env[x]);\n getEnvStrings.strings = strings;\n }\n return getEnvStrings.strings;\n }\n function writeAsciiToMemory(str, buffer, dontAddNull) {\n for(var i = 0; i < str.length; ++i)HEAP8[buffer++ >> 0] = str.charCodeAt(i);\n if (!dontAddNull) HEAP8[buffer >> 0] = 0;\n }\n function _environ_get(__environ, environ_buf) {\n var bufSize = 0;\n getEnvStrings().forEach(function(string, i) {\n var ptr = environ_buf + bufSize;\n HEAPU32[__environ + i * 4 >> 2] = ptr;\n writeAsciiToMemory(string, ptr);\n bufSize += string.length + 1;\n });\n return 0;\n }\n function _environ_sizes_get(penviron_count, penviron_buf_size) {\n var strings = getEnvStrings();\n HEAPU32[penviron_count >> 2] = strings.length;\n var bufSize = 0;\n strings.forEach(function(string) {\n bufSize += string.length + 1;\n });\n HEAPU32[penviron_buf_size >> 2] = bufSize;\n return 0;\n }\n function _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n }\n function exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) exitRuntime();\n _proc_exit(status);\n }\n var _exit = exitJS;\n function _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n }\n function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n tempI64 = [\n stream.position >>> 0,\n (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)\n ], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function __arraySum(array, index) {\n var sum = 0;\n for(var i = 0; i <= index; sum += array[i++]);\n return sum;\n }\n var __MONTH_DAYS_LEAP = [\n 31,\n 29,\n 31,\n 30,\n 31,\n 30,\n 31,\n 31,\n 30,\n 31,\n 30,\n 31\n ];\n var __MONTH_DAYS_REGULAR = [\n 31,\n 28,\n 31,\n 30,\n 31,\n 30,\n 31,\n 31,\n 30,\n 31,\n 30,\n 31\n ];\n function __addDays(date, days) {\n var newDate = new Date(date.getTime());\n while(days > 0){\n var leap = __isLeapYear(newDate.getFullYear());\n var currentMonth = newDate.getMonth();\n var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];\n if (days > daysInCurrentMonth - newDate.getDate()) {\n days -= daysInCurrentMonth - newDate.getDate() + 1;\n newDate.setDate(1);\n if (currentMonth < 11) newDate.setMonth(currentMonth + 1);\n else {\n newDate.setMonth(0);\n newDate.setFullYear(newDate.getFullYear() + 1);\n }\n } else {\n newDate.setDate(newDate.getDate() + days);\n return newDate;\n }\n }\n return newDate;\n }\n function writeArrayToMemory(array, buffer) {\n HEAP8.set(array, buffer);\n }\n function _strftime(s, maxsize, format, tm) {\n var tm_zone = HEAP32[tm + 40 >> 2];\n var date = {\n tm_sec: HEAP32[tm >> 2],\n tm_min: HEAP32[tm + 4 >> 2],\n tm_hour: HEAP32[tm + 8 >> 2],\n tm_mday: HEAP32[tm + 12 >> 2],\n tm_mon: HEAP32[tm + 16 >> 2],\n tm_year: HEAP32[tm + 20 >> 2],\n tm_wday: HEAP32[tm + 24 >> 2],\n tm_yday: HEAP32[tm + 28 >> 2],\n tm_isdst: HEAP32[tm + 32 >> 2],\n tm_gmtoff: HEAP32[tm + 36 >> 2],\n tm_zone: tm_zone ? UTF8ToString(tm_zone) : \"\"\n };\n var pattern = UTF8ToString(format);\n var EXPANSION_RULES_1 = {\n \"%c\": \"%a %b %d %H:%M:%S %Y\",\n \"%D\": \"%m/%d/%y\",\n \"%F\": \"%Y-%m-%d\",\n \"%h\": \"%b\",\n \"%r\": \"%I:%M:%S %p\",\n \"%R\": \"%H:%M\",\n \"%T\": \"%H:%M:%S\",\n \"%x\": \"%m/%d/%y\",\n \"%X\": \"%H:%M:%S\",\n \"%Ec\": \"%c\",\n \"%EC\": \"%C\",\n \"%Ex\": \"%m/%d/%y\",\n \"%EX\": \"%H:%M:%S\",\n \"%Ey\": \"%y\",\n \"%EY\": \"%Y\",\n \"%Od\": \"%d\",\n \"%Oe\": \"%e\",\n \"%OH\": \"%H\",\n \"%OI\": \"%I\",\n \"%Om\": \"%m\",\n \"%OM\": \"%M\",\n \"%OS\": \"%S\",\n \"%Ou\": \"%u\",\n \"%OU\": \"%U\",\n \"%OV\": \"%V\",\n \"%Ow\": \"%w\",\n \"%OW\": \"%W\",\n \"%Oy\": \"%y\"\n };\n for(var rule in EXPANSION_RULES_1)pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_1[rule]);\n var WEEKDAYS = [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n ];\n var MONTHS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ];\n function leadingSomething(value, digits, character) {\n var str = typeof value == \"number\" ? value.toString() : value || \"\";\n while(str.length < digits)str = character[0] + str;\n return str;\n }\n function leadingNulls(value, digits) {\n return leadingSomething(value, digits, \"0\");\n }\n function compareByDay(date1, date2) {\n function sgn(value) {\n return value < 0 ? -1 : value > 0 ? 1 : 0;\n }\n var compare;\n if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {\n if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) compare = sgn(date1.getDate() - date2.getDate());\n }\n return compare;\n }\n function getFirstWeekStartDate(janFourth) {\n switch(janFourth.getDay()){\n case 0:\n return new Date(janFourth.getFullYear() - 1, 11, 29);\n case 1:\n return janFourth;\n case 2:\n return new Date(janFourth.getFullYear(), 0, 3);\n case 3:\n return new Date(janFourth.getFullYear(), 0, 2);\n case 4:\n return new Date(janFourth.getFullYear(), 0, 1);\n case 5:\n return new Date(janFourth.getFullYear() - 1, 11, 31);\n case 6:\n return new Date(janFourth.getFullYear() - 1, 11, 30);\n }\n }\n function getWeekBasedYear(date) {\n var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);\n var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);\n var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);\n var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);\n var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);\n if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {\n if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) return thisDate.getFullYear() + 1;\n return thisDate.getFullYear();\n }\n return thisDate.getFullYear() - 1;\n }\n var EXPANSION_RULES_2 = {\n \"%a\": function(date) {\n return WEEKDAYS[date.tm_wday].substring(0, 3);\n },\n \"%A\": function(date) {\n return WEEKDAYS[date.tm_wday];\n },\n \"%b\": function(date) {\n return MONTHS[date.tm_mon].substring(0, 3);\n },\n \"%B\": function(date) {\n return MONTHS[date.tm_mon];\n },\n \"%C\": function(date) {\n var year = date.tm_year + 1900;\n return leadingNulls(year / 100 | 0, 2);\n },\n \"%d\": function(date) {\n return leadingNulls(date.tm_mday, 2);\n },\n \"%e\": function(date) {\n return leadingSomething(date.tm_mday, 2, \" \");\n },\n \"%g\": function(date) {\n return getWeekBasedYear(date).toString().substring(2);\n },\n \"%G\": function(date) {\n return getWeekBasedYear(date);\n },\n \"%H\": function(date) {\n return leadingNulls(date.tm_hour, 2);\n },\n \"%I\": function(date) {\n var twelveHour = date.tm_hour;\n if (twelveHour == 0) twelveHour = 12;\n else if (twelveHour > 12) twelveHour -= 12;\n return leadingNulls(twelveHour, 2);\n },\n \"%j\": function(date) {\n return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);\n },\n \"%m\": function(date) {\n return leadingNulls(date.tm_mon + 1, 2);\n },\n \"%M\": function(date) {\n return leadingNulls(date.tm_min, 2);\n },\n \"%n\": function() {\n return \"\\n\";\n },\n \"%p\": function(date) {\n if (date.tm_hour >= 0 && date.tm_hour < 12) return \"AM\";\n return \"PM\";\n },\n \"%S\": function(date) {\n return leadingNulls(date.tm_sec, 2);\n },\n \"%t\": function() {\n return \"\t\";\n },\n \"%u\": function(date) {\n return date.tm_wday || 7;\n },\n \"%U\": function(date) {\n var days = date.tm_yday + 7 - date.tm_wday;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%V\": function(date) {\n var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7) / 7);\n if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) val++;\n if (!val) {\n val = 52;\n var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;\n if (dec31 == 4 || dec31 == 5 && __isLeapYear(date.tm_year % 400 - 1)) val++;\n } else if (val == 53) {\n var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;\n if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) val = 1;\n }\n return leadingNulls(val, 2);\n },\n \"%w\": function(date) {\n return date.tm_wday;\n },\n \"%W\": function(date) {\n var days = date.tm_yday + 7 - (date.tm_wday + 6) % 7;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%y\": function(date) {\n return (date.tm_year + 1900).toString().substring(2);\n },\n \"%Y\": function(date) {\n return date.tm_year + 1900;\n },\n \"%z\": function(date) {\n var off = date.tm_gmtoff;\n var ahead = off >= 0;\n off = Math.abs(off) / 60;\n off = off / 60 * 100 + off % 60;\n return (ahead ? \"+\" : \"-\") + String(\"0000\" + off).slice(-4);\n },\n \"%Z\": function(date) {\n return date.tm_zone;\n },\n \"%%\": function() {\n return \"%\";\n }\n };\n pattern = pattern.replace(/%%/g, \"\\x00\\x00\");\n for(var rule in EXPANSION_RULES_2)if (pattern.includes(rule)) pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_2[rule](date));\n pattern = pattern.replace(/\\0\\0/g, \"%\");\n var bytes = intArrayFromString(pattern, false);\n if (bytes.length > maxsize) return 0;\n writeArrayToMemory(bytes, s);\n return bytes.length - 1;\n }\n function handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") return EXITSTATUS;\n quit_(1, e);\n }\n function allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n }\n function maybeExit() {\n if (!keepRuntimeAlive()) try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n function callUserCallback(func) {\n if (runtimeExited || ABORT) return;\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n }\n function runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n }\n function runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n }\n var Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [\n \"invoke_*\",\n \"emscripten_sleep\",\n \"emscripten_wget\",\n \"emscripten_wget_data\",\n \"emscripten_idb_load\",\n \"emscripten_idb_store\",\n \"emscripten_idb_delete\",\n \"emscripten_idb_exists\",\n \"emscripten_idb_load_blob\",\n \"emscripten_idb_store_blob\",\n \"SDL_Delay\",\n \"emscripten_scan_registers\",\n \"emscripten_lazy_load_code\",\n \"emscripten_fiber_swap\",\n \"__load_secondary_module\",\n \"fd_sync\",\n \"__wasi_fd_sync\",\n \"_emval_await\",\n \"_dlopen_js\",\n \"__asyncjs__*\"\n ];\n for(var x in imports)(function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n })(x);\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for(var x in exports)(function(x) {\n var original = exports[x];\n if (typeof original == \"function\") ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally{\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n else ret[x] = original;\n })(x);\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") Fibers.trampoline();\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject)=>{\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0)=>{\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) return;\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.resume();\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) throw asyncWasmReturnValue;\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.pause();\n runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach((func)=>callUserCallback(func));\n } else abort(\"invalid state: \" + Asyncify.state);\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep((wakeUp)=>{\n startAsync().then(wakeUp);\n });\n }\n };\n function AsciiToString(ptr) {\n var str = \"\";\n while(true){\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n }\n var FSNode = function(parent, name, mode, rdev) {\n if (!parent) parent = this;\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n };\n var readMode = 365;\n var writeMode = 146;\n Object.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n });\n FS.FSNode = FSNode;\n FS.staticInit();\n var wasmImports = {\n \"O\": __asyncjs__emglken_fill_stdin_buffer,\n \"ga\": ___syscall_dup,\n \"fa\": ___syscall_faccessat,\n \"G\": ___syscall_fcntl64,\n \"ea\": ___syscall_getcwd,\n \"da\": ___syscall_getdents64,\n \"ca\": ___syscall_ioctl,\n \"ba\": ___syscall_lstat64,\n \"aa\": ___syscall_mkdirat,\n \"$\": ___syscall_newfstatat,\n \"F\": ___syscall_openat,\n \"_\": ___syscall_readlinkat,\n \"Z\": ___syscall_renameat,\n \"E\": ___syscall_rmdir,\n \"Y\": ___syscall_stat64,\n \"X\": ___syscall_unlinkat,\n \"T\": __emscripten_get_now_is_monotonic,\n \"S\": __emscripten_throw_longjmp,\n \"R\": __gmtime_js,\n \"Q\": __localtime_js,\n \"P\": __tzset_js,\n \"C\": _abort,\n \"B\": _emscripten_date_now,\n \"A\": _emscripten_get_now,\n \"N\": _emscripten_memcpy_big,\n \"M\": _emscripten_resize_heap,\n \"W\": _environ_get,\n \"V\": _environ_sizes_get,\n \"y\": _exit,\n \"w\": _fd_close,\n \"U\": _fd_read,\n \"I\": _fd_seek,\n \"D\": _fd_write,\n \"L\": invoke_i,\n \"b\": invoke_ii,\n \"f\": invoke_iii,\n \"e\": invoke_iiii,\n \"c\": invoke_iiiii,\n \"j\": invoke_iiiiii,\n \"l\": invoke_iiiiiii,\n \"m\": invoke_iiiiiiii,\n \"s\": invoke_iiiiiiiii,\n \"t\": invoke_iiiiiiiiii,\n \"p\": invoke_iiiiiiiiiii,\n \"x\": invoke_iiiiiiiiiiii,\n \"q\": invoke_iiiiiiiiiiiiii,\n \"z\": invoke_iiiiiiiiiiiiiiii,\n \"v\": invoke_iiiiiiiiiiiiiiiiii,\n \"i\": invoke_v,\n \"h\": invoke_vi,\n \"d\": invoke_vii,\n \"a\": invoke_viii,\n \"g\": invoke_viiii,\n \"o\": invoke_viiiii,\n \"n\": invoke_viiiiii,\n \"K\": invoke_viiiiiii,\n \"r\": invoke_viiiiiiii,\n \"k\": invoke_viiiiiiiii,\n \"u\": invoke_viiiiiiiiiii,\n \"J\": invoke_viiiiiiiiiiiiiii,\n \"H\": _strftime\n };\n var asm = createWasm();\n var ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"ia\"]).apply(null, arguments);\n };\n var _malloc = function() {\n return (_malloc = Module[\"asm\"][\"ja\"]).apply(null, arguments);\n };\n var _free = function() {\n return (_free = Module[\"asm\"][\"ka\"]).apply(null, arguments);\n };\n var _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"la\"]).apply(null, arguments);\n };\n var _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"ma\"]).apply(null, arguments);\n };\n var _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"na\"]).apply(null, arguments);\n };\n var ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"oa\"]).apply(null, arguments);\n };\n var ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"pa\"]).apply(null, arguments);\n };\n var _setThrew = function() {\n return (_setThrew = Module[\"asm\"][\"ra\"]).apply(null, arguments);\n };\n var _saveSetjmp = function() {\n return (_saveSetjmp = Module[\"asm\"][\"saveSetjmp\"]).apply(null, arguments);\n };\n var _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n };\n var stackSave = function() {\n return (stackSave = Module[\"asm\"][\"sa\"]).apply(null, arguments);\n };\n var stackRestore = function() {\n return (stackRestore = Module[\"asm\"][\"ta\"]).apply(null, arguments);\n };\n var stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"ua\"]).apply(null, arguments);\n };\n var dynCall_iiiii = Module[\"dynCall_iiiii\"] = function() {\n return (dynCall_iiiii = Module[\"dynCall_iiiii\"] = Module[\"asm\"][\"va\"]).apply(null, arguments);\n };\n var dynCall_ii = Module[\"dynCall_ii\"] = function() {\n return (dynCall_ii = Module[\"dynCall_ii\"] = Module[\"asm\"][\"wa\"]).apply(null, arguments);\n };\n var dynCall_vi = Module[\"dynCall_vi\"] = function() {\n return (dynCall_vi = Module[\"dynCall_vi\"] = Module[\"asm\"][\"xa\"]).apply(null, arguments);\n };\n var dynCall_iii = Module[\"dynCall_iii\"] = function() {\n return (dynCall_iii = Module[\"dynCall_iii\"] = Module[\"asm\"][\"ya\"]).apply(null, arguments);\n };\n var dynCall_viii = Module[\"dynCall_viii\"] = function() {\n return (dynCall_viii = Module[\"dynCall_viii\"] = Module[\"asm\"][\"za\"]).apply(null, arguments);\n };\n var dynCall_viiiiiiii = Module[\"dynCall_viiiiiiii\"] = function() {\n return (dynCall_viiiiiiii = Module[\"dynCall_viiiiiiii\"] = Module[\"asm\"][\"Aa\"]).apply(null, arguments);\n };\n var dynCall_vii = Module[\"dynCall_vii\"] = function() {\n return (dynCall_vii = Module[\"dynCall_vii\"] = Module[\"asm\"][\"Ba\"]).apply(null, arguments);\n };\n var dynCall_viiiii = Module[\"dynCall_viiiii\"] = function() {\n return (dynCall_viiiii = Module[\"dynCall_viiiii\"] = Module[\"asm\"][\"Ca\"]).apply(null, arguments);\n };\n var dynCall_iiiiii = Module[\"dynCall_iiiiii\"] = function() {\n return (dynCall_iiiiii = Module[\"dynCall_iiiiii\"] = Module[\"asm\"][\"Da\"]).apply(null, arguments);\n };\n var dynCall_viiiiii = Module[\"dynCall_viiiiii\"] = function() {\n return (dynCall_viiiiii = Module[\"dynCall_viiiiii\"] = Module[\"asm\"][\"Ea\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiiii = Module[\"dynCall_iiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiii = Module[\"dynCall_iiiiiiiii\"] = Module[\"asm\"][\"Fa\"]).apply(null, arguments);\n };\n var dynCall_iiii = Module[\"dynCall_iiii\"] = function() {\n return (dynCall_iiii = Module[\"dynCall_iiii\"] = Module[\"asm\"][\"Ga\"]).apply(null, arguments);\n };\n var dynCall_viiiiiiiii = Module[\"dynCall_viiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiii = Module[\"dynCall_viiiiiiiii\"] = Module[\"asm\"][\"Ha\"]).apply(null, arguments);\n };\n var dynCall_viiii = Module[\"dynCall_viiii\"] = function() {\n return (dynCall_viiii = Module[\"dynCall_viiii\"] = Module[\"asm\"][\"Ia\"]).apply(null, arguments);\n };\n var dynCall_iiiiiii = Module[\"dynCall_iiiiiii\"] = function() {\n return (dynCall_iiiiiii = Module[\"dynCall_iiiiiii\"] = Module[\"asm\"][\"Ja\"]).apply(null, arguments);\n };\n var dynCall_viiiiiiiiiii = Module[\"dynCall_viiiiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiiiii = Module[\"dynCall_viiiiiiiiiii\"] = Module[\"asm\"][\"Ka\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiiiii = Module[\"dynCall_iiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiii = Module[\"dynCall_iiiiiiiiii\"] = Module[\"asm\"][\"La\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiii = Module[\"dynCall_iiiiiiii\"] = function() {\n return (dynCall_iiiiiiii = Module[\"dynCall_iiiiiiii\"] = Module[\"asm\"][\"Ma\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiiiiii = Module[\"dynCall_iiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiii = Module[\"dynCall_iiiiiiiiiii\"] = Module[\"asm\"][\"Na\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiii\"] = Module[\"asm\"][\"Oa\"]).apply(null, arguments);\n };\n var dynCall_v = Module[\"dynCall_v\"] = function() {\n return (dynCall_v = Module[\"dynCall_v\"] = Module[\"asm\"][\"Pa\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiiiiiii\"] = Module[\"asm\"][\"Qa\"]).apply(null, arguments);\n };\n var dynCall_viiiiiii = Module[\"dynCall_viiiiiii\"] = function() {\n return (dynCall_viiiiiii = Module[\"dynCall_viiiiiii\"] = Module[\"asm\"][\"Ra\"]).apply(null, arguments);\n };\n var dynCall_viiiiiiiiiiiiiii = Module[\"dynCall_viiiiiiiiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiiiiiiiii = Module[\"dynCall_viiiiiiiiiiiiiii\"] = Module[\"asm\"][\"Sa\"]).apply(null, arguments);\n };\n var dynCall_i = Module[\"dynCall_i\"] = function() {\n return (dynCall_i = Module[\"dynCall_i\"] = Module[\"asm\"][\"Ta\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiii\"] = Module[\"asm\"][\"Ua\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiiiii\"] = Module[\"asm\"][\"Va\"]).apply(null, arguments);\n };\n var _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"Wa\"]).apply(null, arguments);\n };\n var _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"Xa\"]).apply(null, arguments);\n };\n var _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"Ya\"]).apply(null, arguments);\n };\n var _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"Za\"]).apply(null, arguments);\n };\n var ___start_em_js = Module[\"___start_em_js\"] = 356528;\n var ___stop_em_js = Module[\"___stop_em_js\"] = 359213;\n function invoke_viii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n dynCall_viii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_vii(index, a1, a2) {\n var sp = stackSave();\n try {\n dynCall_vii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiii(index, a1, a2, a3, a4, a5) {\n var sp = stackSave();\n try {\n return dynCall_iiiiii(index, a1, a2, a3, a4, a5);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iii(index, a1, a2) {\n var sp = stackSave();\n try {\n return dynCall_iii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) {\n var sp = stackSave();\n try {\n dynCall_viiiiii(index, a1, a2, a3, a4, a5, a6);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_iiii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_vi(index, a1) {\n var sp = stackSave();\n try {\n dynCall_vi(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n dynCall_viiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_ii(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ii(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiii(index, a1, a2, a3, a4, a5, a6);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiii(index, a1, a2, a3, a4, a5) {\n var sp = stackSave();\n try {\n dynCall_viiiii(index, a1, a2, a3, a4, a5);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n return dynCall_iiiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_v(index) {\n var sp = stackSave();\n try {\n dynCall_v(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n var sp = stackSave();\n try {\n dynCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_i(index) {\n var sp = stackSave();\n try {\n return dynCall_i(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n Module[\"AsciiToString\"] = AsciiToString;\n Module[\"FS\"] = FS;\n var calledRun;\n dependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n };\n function callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach((arg)=>{\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n }\n function run(args = arguments_) {\n if (runDependencies > 0) return;\n preRun();\n if (runDependencies > 0) return;\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else doRun();\n }\n if (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [\n Module[\"preInit\"]\n ];\n while(Module[\"preInit\"].length > 0)Module[\"preInit\"].pop()();\n }\n var shouldRunNow = true;\n if (Module[\"noInitialRun\"]) shouldRunNow = false;\n run();\n return Module.ready;\n };\n})();\nvar $550f5195aabbfc7b$export$2e2bcd8739ae039 = $550f5195aabbfc7b$var$Module;\n\n\nclass $baf23bce1c56928c$export$2e2bcd8739ae039 extends (0, $0d34edacac7ea588$export$2e2bcd8739ae039) {\n default_options() {\n return {\n vmcore: (0, $550f5195aabbfc7b$export$2e2bcd8739ae039)\n };\n }\n}\n\n\n/*\n\nEmglken port of Scare\n=====================\n\nCopyright (c) 2023 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/ \nvar $ffc332a4e0553020$exports = {};\n\n$ffc332a4e0553020$exports = new URL((parcelRequire(\"6MsPj\")).resolve(\"32xWV\"), import.meta.url).toString();\n\n\nvar $ffa7e6eb668807b5$var$Module = (()=>{\n var _scriptDir = \"file:///node_modules/emglken/build/scare-core.js\";\n return function(Module = {}) {\n var Module = typeof Module != \"undefined\" ? Module : {};\n var readyPromiseResolve, readyPromiseReject;\n Module[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n });\n var moduleOverrides = Object.assign({}, Module);\n var arguments_ = [];\n var thisProgram = \"./this.program\";\n var quit_ = (status, toThrow)=>{\n throw toThrow;\n };\n var ENVIRONMENT_IS_WEB = true;\n var ENVIRONMENT_IS_WORKER = false;\n var scriptDirectory = \"\";\n function locateFile(path) {\n if (Module[\"locateFile\"]) return Module[\"locateFile\"](path, scriptDirectory);\n return scriptDirectory + path;\n }\n var read_, readAsync, readBinary, setWindowTitle;\n if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) scriptDirectory = self.location.href;\n else if (typeof document != \"undefined\" && document.currentScript) scriptDirectory = document.currentScript.src;\n if (_scriptDir) scriptDirectory = _scriptDir;\n if (scriptDirectory.indexOf(\"blob:\") !== 0) scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n else scriptDirectory = \"\";\n read_ = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) readBinary = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n readAsync = (url, onload, onerror)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = ()=>{\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n setWindowTitle = (title)=>document.title = title;\n }\n var out = Module[\"print\"] || console.log.bind(console);\n var err = Module[\"printErr\"] || console.warn.bind(console);\n Object.assign(Module, moduleOverrides);\n moduleOverrides = null;\n if (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n if (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n if (Module[\"quit\"]) quit_ = Module[\"quit\"];\n var wasmBinary;\n if (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n var noExitRuntime = Module[\"noExitRuntime\"] || false;\n if (typeof WebAssembly != \"object\") abort(\"no native wasm support detected\");\n var wasmMemory;\n var ABORT = false;\n var EXITSTATUS;\n function assert(condition, text) {\n if (!condition) abort(text);\n }\n var UTF8Decoder = new TextDecoder(\"utf8\");\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while(heapOrArray[endPtr] && !(endPtr >= endIdx))++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for(var end = ptr; !(end >= maxPtr) && HEAPU8[end];)++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n }\n function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for(var i = 0; i < str.length; ++i){\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n }\n function stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n }\n function lengthBytesUTF8(str) {\n var len = 0;\n for(var i = 0; i < str.length; ++i){\n var c = str.charCodeAt(i);\n if (c <= 127) len++;\n else if (c <= 2047) len += 2;\n else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else len += 3;\n }\n return len;\n }\n var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n function updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n }\n var wasmTable;\n var __ATPRERUN__ = [];\n var __ATINIT__ = [];\n var __ATMAIN__ = [];\n var __ATEXIT__ = [];\n var __ATPOSTRUN__ = [];\n var runtimeInitialized = false;\n var runtimeExited = false;\n var runtimeKeepaliveCounter = 0;\n function keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n }\n function preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [\n Module[\"preRun\"]\n ];\n while(Module[\"preRun\"].length)addOnPreRun(Module[\"preRun\"].shift());\n }\n callRuntimeCallbacks(__ATPRERUN__);\n }\n function initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n }\n function preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n }\n function exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n }\n function postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [\n Module[\"postRun\"]\n ];\n while(Module[\"postRun\"].length)addOnPostRun(Module[\"postRun\"].shift());\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n }\n function addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n }\n function addOnInit(cb) {\n __ATINIT__.unshift(cb);\n }\n function addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n }\n var runDependencies = 0;\n var runDependencyWatcher = null;\n var dependenciesFulfilled = null;\n function getUniqueRunDependency(id) {\n return id;\n }\n function addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n }\n function removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n }\n function abort(what) {\n if (Module[\"onAbort\"]) Module[\"onAbort\"](what);\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n }\n var dataURIPrefix = \"data:application/octet-stream;base64,\";\n function isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n }\n var wasmBinaryFile;\n if (Module[\"locateFile\"]) {\n wasmBinaryFile = \"scare-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) wasmBinaryFile = locateFile(wasmBinaryFile);\n } else wasmBinaryFile = new URL($ffc332a4e0553020$exports).href;\n function getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) return new Uint8Array(wasmBinary);\n if (readBinary) return readBinary(file);\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n }\n function getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n }\n function instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n }\n function instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n else return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n function createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"E\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"N\"];\n addOnInit(Module[\"asm\"][\"F\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n }\n var tempDouble;\n var tempI64;\n function __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async ()=>{\n if (!Module.emglken_stdin_buffers.length) await new Promise((resolve)=>{\n Module.emglken_stdin_ready = resolve;\n });\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) HEAPU8.set(input, buffer);\n else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n }\n function ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n }\n function callRuntimeCallbacks(callbacks) {\n while(callbacks.length > 0)callbacks.shift()(Module);\n }\n var PATH = {\n isAbs: (path)=>path.charAt(0) === \"/\",\n splitPath: (filename)=>{\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot)=>{\n var up = 0;\n for(var i = parts.length - 1; i >= 0; i--){\n var last = parts[i];\n if (last === \".\") parts.splice(i, 1);\n else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) for(; up; up--)parts.unshift(\"..\");\n return parts;\n },\n normalize: (path)=>{\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter((p)=>!!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) path = \".\";\n if (path && trailingSlash) path += \"/\";\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: (path)=>{\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) return \".\";\n if (dir) dir = dir.substr(0, dir.length - 1);\n return root + dir;\n },\n basename: (path)=>{\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r)=>{\n return PATH.normalize(l + \"/\" + r);\n }\n };\n function getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return ()=>{\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return ()=>abort(\"randomDevice\");\n }\n var PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for(var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--){\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") throw new TypeError(\"Arguments to path.resolve must be strings\");\n else if (!path) return \"\";\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter((p)=>!!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to)=>{\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for(; start < arr.length; start++){\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for(; end >= 0; end--){\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for(var i = 0; i < length; i++)if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n var outputParts = [];\n for(var i = samePartsLength; i < fromParts.length; i++)outputParts.push(\"..\");\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n };\n function intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n }\n var TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) throw new FS.ErrnoError(43);\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) throw new FS.ErrnoError(60);\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) throw new FS.ErrnoError(60);\n try {\n for(var i = 0; i < length; i++)stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) result += \"\\n\";\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) result += \"\\n\";\n }\n if (!result) return null;\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n };\n function mmapAlloc(size) {\n abort();\n }\n var MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16895, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) throw new FS.ErrnoError(63);\n if (!MEMFS.ops_table) MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1048576;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) attr.size = 4096;\n else if (FS.isFile(node.mode)) attr.size = node.usedBytes;\n else if (FS.isLink(node.mode)) attr.size = node.link.length;\n else attr.size = 0;\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) node.mode = attr.mode;\n if (attr.timestamp !== undefined) node.timestamp = attr.timestamp;\n if (attr.size !== undefined) MEMFS.resizeFileStorage(node, attr.size);\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for(var i in new_node.contents)throw new FS.ErrnoError(55);\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for(var i in node.contents)throw new FS.ErrnoError(55);\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [\n \".\",\n \"..\"\n ];\n for(var key in node.contents){\n if (!node.contents.hasOwnProperty(key)) continue;\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 41471, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) throw new FS.ErrnoError(28);\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) buffer.set(contents.subarray(position, position + size), offset);\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) canOwn = false;\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position);\n else for(var i = 0; i < length; i++)node.contents[position + i] = buffer[offset + i];\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) position += stream.position;\n else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) position += stream.node.usedBytes;\n }\n if (position < 0) throw new FS.ErrnoError(28);\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) contents = contents.subarray(position, position + length);\n else contents = Array.prototype.slice.call(contents, position, position + length);\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n };\n function asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, (arrayBuffer)=>{\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, (event)=>{\n if (onerror) onerror();\n else throw 'Loading data file \"' + url + '\" failed.';\n });\n if (dep) addRunDependency(dep);\n }\n var FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {})=>{\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) throw new FS.ErrnoError(32);\n var parts = path.split(\"/\").filter((p)=>!!p);\n var current = FS.root;\n var current_path = \"/\";\n for(var i = 0; i < parts.length; i++){\n var islast = i === parts.length - 1;\n if (islast && opts.parent) break;\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) current = current.mounted.root;\n }\n if (!islast || opts.follow) {\n var count = 0;\n while(FS.isLink(current.mode)){\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) throw new FS.ErrnoError(32);\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: (node)=>{\n var path;\n while(true){\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name)=>{\n var hash = 0;\n for(var i = 0; i < name.length; i++)hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) FS.nameTable[hash] = node.name_next;\n else {\n var current = FS.nameTable[hash];\n while(current){\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name)=>{\n var errCode = FS.mayLookup(parent);\n if (errCode) throw new FS.ErrnoError(errCode, parent);\n var hash = FS.hashName(parent.id, name);\n for(var node = FS.nameTable[hash]; node; node = node.name_next){\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) return node;\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev)=>{\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: (node)=>{\n FS.hashRemoveNode(node);\n },\n isRoot: (node)=>{\n return node === node.parent;\n },\n isMountpoint: (node)=>{\n return !!node.mounted;\n },\n isFile: (mode)=>{\n return (mode & 61440) === 32768;\n },\n isDir: (mode)=>{\n return (mode & 61440) === 16384;\n },\n isLink: (mode)=>{\n return (mode & 61440) === 40960;\n },\n isChrdev: (mode)=>{\n return (mode & 61440) === 8192;\n },\n isBlkdev: (mode)=>{\n return (mode & 61440) === 24576;\n },\n isFIFO: (mode)=>{\n return (mode & 61440) === 4096;\n },\n isSocket: (mode)=>{\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: (str)=>{\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") throw new Error(\"Unknown file open mode: \" + str);\n return flags;\n },\n flagsToPermissionString: (flag)=>{\n var perms = [\n \"r\",\n \"w\",\n \"rw\"\n ][flag & 3];\n if (flag & 512) perms += \"w\";\n return perms;\n },\n nodePermissions: (node, perms)=>{\n if (FS.ignorePermissions) return 0;\n if (perms.includes(\"r\") && !(node.mode & 292)) return 2;\n else if (perms.includes(\"w\") && !(node.mode & 146)) return 2;\n else if (perms.includes(\"x\") && !(node.mode & 73)) return 2;\n return 0;\n },\n mayLookup: (dir)=>{\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name)=>{\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir)=>{\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) return errCode;\n if (isdir) {\n if (!FS.isDir(node.mode)) return 54;\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) return 10;\n } else {\n if (FS.isDir(node.mode)) return 31;\n }\n return 0;\n },\n mayOpen: (node, flags)=>{\n if (!node) return 44;\n if (FS.isLink(node.mode)) return 32;\n else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) return 31;\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS)=>{\n for(var fd = fd_start; fd <= fd_end; fd++){\n if (!FS.streams[fd]) return fd;\n }\n throw new FS.ErrnoError(33);\n },\n getStream: (fd)=>FS.streams[fd],\n createStream: (stream, fd_start, fd_end)=>{\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: (fd)=>{\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: (stream)=>{\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n },\n llseek: ()=>{\n throw new FS.ErrnoError(70);\n }\n },\n major: (dev)=>dev >> 8,\n minor: (dev)=>dev & 255,\n makedev: (ma, mi)=>ma << 8 | mi,\n registerDevice: (dev, ops)=>{\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: (dev)=>FS.devices[dev],\n getMounts: (mount)=>{\n var mounts = [];\n var check = [\n mount\n ];\n while(check.length){\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback)=>{\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) doCallback(null);\n }\n mounts.forEach((mount)=>{\n if (!mount.type.syncfs) return done(null);\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint)=>{\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) throw new FS.ErrnoError(10);\n else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n if (!FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) FS.root = mountRoot;\n else if (node) {\n node.mounted = mount;\n if (node.mount) node.mount.mounts.push(mount);\n }\n return mountRoot;\n },\n unmount: (mountpoint)=>{\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) throw new FS.ErrnoError(28);\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach((hash)=>{\n var current = FS.nameTable[hash];\n while(current){\n var next = current.name_next;\n if (mounts.includes(current.mount)) FS.destroyNode(current);\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name)=>{\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") throw new FS.ErrnoError(28);\n var errCode = FS.mayCreate(parent, name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.mknod) throw new FS.ErrnoError(63);\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode)=>{\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode)=>{\n mode = mode !== undefined ? mode : 511;\n mode &= 1023;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode)=>{\n var dirs = path.split(\"/\");\n var d = \"\";\n for(var i = 0; i < dirs.length; ++i){\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev)=>{\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath)=>{\n if (!PATH_FS.resolve(oldpath)) throw new FS.ErrnoError(44);\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.symlink) throw new FS.ErrnoError(63);\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path)=>{\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) throw new FS.ErrnoError(75);\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(28);\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(55);\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) return;\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) throw new FS.ErrnoError(errCode);\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!old_dir.node_ops.rename) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) throw new FS.ErrnoError(10);\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally{\n FS.hashAddNode(old_node);\n }\n },\n rmdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.rmdir) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) throw new FS.ErrnoError(54);\n return node.node_ops.readdir(node);\n },\n unlink: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.unlink) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: (path)=>{\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) throw new FS.ErrnoError(44);\n if (!link.node_ops.readlink) throw new FS.ErrnoError(28);\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow)=>{\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) throw new FS.ErrnoError(44);\n if (!node.node_ops.getattr) throw new FS.ErrnoError(63);\n return node.node_ops.getattr(node);\n },\n lstat: (path)=>{\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & -4096,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode)=>{\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid)=>{\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len)=>{\n if (len < 0) throw new FS.ErrnoError(28);\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n if (FS.isDir(node.mode)) throw new FS.ErrnoError(31);\n if (!FS.isFile(node.mode)) throw new FS.ErrnoError(28);\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(28);\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode)=>{\n if (path === \"\") throw new FS.ErrnoError(44);\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) mode = mode & 4095 | 32768;\n else mode = 0;\n var node;\n if (typeof path == \"object\") node = path;\n else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) throw new FS.ErrnoError(20);\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) throw new FS.ErrnoError(44);\n if (FS.isChrdev(node.mode)) flags &= -513;\n if (flags & 65536 && !FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n if (flags & 512 && !created) FS.truncate(node, 0);\n flags &= -131713;\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) FS.readFiles[path] = 1;\n }\n return stream;\n },\n close: (stream)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) stream.stream_ops.close(stream);\n } catch (e) {\n throw e;\n } finally{\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: (stream)=>{\n return stream.fd === null;\n },\n llseek: (stream, offset, whence)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (!stream.seekable || !stream.stream_ops.llseek) throw new FS.ErrnoError(70);\n if (whence != 0 && whence != 1 && whence != 2) throw new FS.ErrnoError(28);\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.read) throw new FS.ErrnoError(28);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.write) throw new FS.ErrnoError(28);\n if (stream.seekable && stream.flags & 1024) FS.llseek(stream, 0, 2);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (offset < 0 || length <= 0) throw new FS.ErrnoError(28);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) throw new FS.ErrnoError(43);\n if (!stream.stream_ops.allocate) throw new FS.ErrnoError(138);\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags)=>{\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) throw new FS.ErrnoError(2);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(2);\n if (!stream.stream_ops.mmap) throw new FS.ErrnoError(43);\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags)=>{\n if (!stream.stream_ops.msync) return 0;\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: (stream)=>0,\n ioctl: (stream, cmd, arg)=>{\n if (!stream.stream_ops.ioctl) throw new FS.ErrnoError(59);\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {})=>{\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") ret = UTF8ArrayToString(buf, 0);\n else if (opts.encoding === \"binary\") ret = buf;\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {})=>{\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n else throw new Error(\"Unsupported data type\");\n FS.close(stream);\n },\n cwd: ()=>FS.currentPath,\n chdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) throw new FS.ErrnoError(44);\n if (!FS.isDir(lookup.node.mode)) throw new FS.ErrnoError(54);\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) throw new FS.ErrnoError(errCode);\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: ()=>{\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: ()=>{\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: ()=>0,\n write: (stream, buffer, offset, length, pos)=>length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: ()=>{\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: ()=>{\n var node = FS.createNode(proc_self, \"fd\", 16895, 73);\n node.node_ops = {\n lookup: (parent, name)=>{\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: ()=>stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: ()=>{\n if (Module[\"stdin\"]) FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n if (Module[\"stdout\"]) FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n if (Module[\"stderr\"]) FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n else FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: ()=>{\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [\n 44\n ].forEach((code)=>{\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: ()=>{\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error)=>{\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: ()=>{\n FS.init.initialized = false;\n _fflush(0);\n for(var i = 0; i < FS.streams.length; i++){\n var stream = FS.streams[i];\n if (!stream) continue;\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite)=>{\n var mode = 0;\n if (canRead) mode |= 365;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink)=>{\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) return null;\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink)=>{\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite)=>{\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while(parts.length){\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn)=>{\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for(var i = 0, len = data.length; i < len; ++i)arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: (stream)=>{\n stream.seekable = false;\n },\n close: (stream)=>{\n if (output && output.buffer && output.buffer.length) output(10);\n },\n read: (stream, buffer, offset, length, pos)=>{\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos)=>{\n for(var i = 0; i < length; i++)try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: (obj)=>{\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n 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.\");\n else if (read_) try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n else throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n },\n createLazyFile: (parent, name, url, canRead, canWrite)=>{\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) return undefined;\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1048576;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to)=>{\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) return new Uint8Array(xhr.response || []);\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter((chunkNum)=>{\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") lazyArray.chunks[chunkNum] = doXHR(start, end);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else var properties = {\n isDevice: false,\n url: url\n };\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) node.contents = properties.contents;\n else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach((key)=>{\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents.get(position + i);\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position)=>{\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags)=>{\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish)=>{\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, ()=>{\n if (onerror) onerror();\n removeRunDependency(dep);\n })) return;\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") asyncLoad(url, (byteArray)=>processData(byteArray), onerror);\n else processData(url);\n },\n indexedDB: ()=>{\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: ()=>{\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = ()=>{\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = ()=>{\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n try {\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var getRequest = files.get(path);\n getRequest.onsuccess = ()=>{\n if (FS.analyzePath(path).exists) FS.unlink(path);\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n };\n var SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) return path;\n var dir;\n if (dirfd === -100) dir = FS.cwd();\n else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) throw new FS.ErrnoError(44);\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) return -54;\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n tempI64 = [\n stat.size >>> 0,\n (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)\n ], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [\n Math.floor(atime / 1e3) >>> 0,\n (tempDouble = Math.floor(atime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(mtime / 1e3) >>> 0,\n (tempDouble = Math.floor(mtime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(ctime / 1e3) >>> 0,\n (tempDouble = Math.floor(ctime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n tempI64 = [\n stat.ino >>> 0,\n (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)\n ], HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n if (flags & 2) return 0;\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n };\n function ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & -8) return -28;\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) return -44;\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) return -2;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n }\n function ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(cmd){\n case 0:\n var arg = SYSCALLS.get();\n if (arg < 0) return -28;\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n case 1:\n case 2:\n return 0;\n case 3:\n return stream.flags;\n case 4:\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n case 5:\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n case 6:\n case 7:\n return 0;\n case 16:\n case 8:\n return -28;\n case 9:\n setErrNo(28);\n return -1;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(op){\n case 21509:\n case 21505:\n if (!stream.tty) return -59;\n return 0;\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n if (!stream.tty) return -59;\n return 0;\n case 21519:\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n case 21520:\n if (!stream.tty) return -59;\n return -28;\n case 21531:\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n case 21523:\n if (!stream.tty) return -59;\n return 0;\n case 21524:\n if (!stream.tty) return -59;\n return 0;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_stat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n var nowIsMonotonic = true;\n function __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n }\n function __emscripten_throw_longjmp() {\n throw Infinity;\n }\n function _abort() {\n abort(\"\");\n }\n function _emscripten_date_now() {\n return Date.now();\n }\n var _emscripten_get_now;\n _emscripten_get_now = ()=>performance.now();\n function _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n }\n function getHeapMax() {\n return 2147483648;\n }\n function emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n }\n function _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) return false;\n let alignUp = (x, multiple)=>x + (multiple - x % multiple) % multiple;\n for(var cutDown = 1; cutDown <= 4; cutDown *= 2){\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) return true;\n }\n return false;\n }\n var ENV = {};\n function getExecutableName() {\n return thisProgram || \"./this.program\";\n }\n function getEnvStrings() {\n if (!getEnvStrings.strings) {\n var lang = (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\";\n var env = {\n \"USER\": \"web_user\",\n \"LOGNAME\": \"web_user\",\n \"PATH\": \"/\",\n \"PWD\": \"/\",\n \"HOME\": \"/home/web_user\",\n \"LANG\": lang,\n \"_\": getExecutableName()\n };\n for(var x in ENV)if (ENV[x] === undefined) delete env[x];\n else env[x] = ENV[x];\n var strings = [];\n for(var x in env)strings.push(x + \"=\" + env[x]);\n getEnvStrings.strings = strings;\n }\n return getEnvStrings.strings;\n }\n function writeAsciiToMemory(str, buffer, dontAddNull) {\n for(var i = 0; i < str.length; ++i)HEAP8[buffer++ >> 0] = str.charCodeAt(i);\n if (!dontAddNull) HEAP8[buffer >> 0] = 0;\n }\n function _environ_get(__environ, environ_buf) {\n var bufSize = 0;\n getEnvStrings().forEach(function(string, i) {\n var ptr = environ_buf + bufSize;\n HEAPU32[__environ + i * 4 >> 2] = ptr;\n writeAsciiToMemory(string, ptr);\n bufSize += string.length + 1;\n });\n return 0;\n }\n function _environ_sizes_get(penviron_count, penviron_buf_size) {\n var strings = getEnvStrings();\n HEAPU32[penviron_count >> 2] = strings.length;\n var bufSize = 0;\n strings.forEach(function(string) {\n bufSize += string.length + 1;\n });\n HEAPU32[penviron_buf_size >> 2] = bufSize;\n return 0;\n }\n function _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n }\n function exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) exitRuntime();\n _proc_exit(status);\n }\n var _exit = exitJS;\n function _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n }\n function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n tempI64 = [\n stream.position >>> 0,\n (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)\n ], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") return EXITSTATUS;\n quit_(1, e);\n }\n function allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n }\n function maybeExit() {\n if (!keepRuntimeAlive()) try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n function callUserCallback(func) {\n if (runtimeExited || ABORT) return;\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n }\n function runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n }\n function runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n }\n var Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [\n \"invoke_*\",\n \"emscripten_sleep\",\n \"emscripten_wget\",\n \"emscripten_wget_data\",\n \"emscripten_idb_load\",\n \"emscripten_idb_store\",\n \"emscripten_idb_delete\",\n \"emscripten_idb_exists\",\n \"emscripten_idb_load_blob\",\n \"emscripten_idb_store_blob\",\n \"SDL_Delay\",\n \"emscripten_scan_registers\",\n \"emscripten_lazy_load_code\",\n \"emscripten_fiber_swap\",\n \"__load_secondary_module\",\n \"fd_sync\",\n \"__wasi_fd_sync\",\n \"_emval_await\",\n \"_dlopen_js\",\n \"__asyncjs__*\"\n ];\n for(var x in imports)(function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n })(x);\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for(var x in exports)(function(x) {\n var original = exports[x];\n if (typeof original == \"function\") ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally{\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n else ret[x] = original;\n })(x);\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") Fibers.trampoline();\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject)=>{\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0)=>{\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) return;\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.resume();\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) throw asyncWasmReturnValue;\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.pause();\n runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach((func)=>callUserCallback(func));\n } else abort(\"invalid state: \" + Asyncify.state);\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep((wakeUp)=>{\n startAsync().then(wakeUp);\n });\n }\n };\n function AsciiToString(ptr) {\n var str = \"\";\n while(true){\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n }\n var FSNode = function(parent, name, mode, rdev) {\n if (!parent) parent = this;\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n };\n var readMode = 365;\n var writeMode = 146;\n Object.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n });\n FS.FSNode = FSNode;\n FS.staticInit();\n var wasmImports = {\n \"s\": __asyncjs__emglken_fill_stdin_buffer,\n \"D\": ___syscall_faccessat,\n \"n\": ___syscall_fcntl64,\n \"C\": ___syscall_getcwd,\n \"B\": ___syscall_ioctl,\n \"A\": ___syscall_openat,\n \"z\": ___syscall_stat64,\n \"v\": __emscripten_get_now_is_monotonic,\n \"u\": __emscripten_throw_longjmp,\n \"t\": _abort,\n \"k\": _emscripten_date_now,\n \"r\": _emscripten_memcpy_big,\n \"q\": _emscripten_resize_heap,\n \"y\": _environ_get,\n \"x\": _environ_sizes_get,\n \"i\": _exit,\n \"m\": _fd_close,\n \"w\": _fd_read,\n \"p\": _fd_seek,\n \"l\": _fd_write,\n \"c\": invoke_i,\n \"g\": invoke_ii,\n \"f\": invoke_iiii,\n \"d\": invoke_iiiii,\n \"o\": invoke_ji,\n \"j\": invoke_v,\n \"b\": invoke_vi,\n \"a\": invoke_vii,\n \"h\": invoke_viii,\n \"e\": invoke_viiii\n };\n var asm = createWasm();\n var ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"F\"]).apply(null, arguments);\n };\n var _free = function() {\n return (_free = Module[\"asm\"][\"G\"]).apply(null, arguments);\n };\n var _malloc = function() {\n return (_malloc = Module[\"asm\"][\"H\"]).apply(null, arguments);\n };\n var _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"I\"]).apply(null, arguments);\n };\n var _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"J\"]).apply(null, arguments);\n };\n var _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"K\"]).apply(null, arguments);\n };\n var ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"L\"]).apply(null, arguments);\n };\n var ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"M\"]).apply(null, arguments);\n };\n var _setThrew = function() {\n return (_setThrew = Module[\"asm\"][\"O\"]).apply(null, arguments);\n };\n var _saveSetjmp = function() {\n return (_saveSetjmp = Module[\"asm\"][\"saveSetjmp\"]).apply(null, arguments);\n };\n var _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n };\n var stackSave = function() {\n return (stackSave = Module[\"asm\"][\"P\"]).apply(null, arguments);\n };\n var stackRestore = function() {\n return (stackRestore = Module[\"asm\"][\"Q\"]).apply(null, arguments);\n };\n var stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"R\"]).apply(null, arguments);\n };\n var dynCall_vi = Module[\"dynCall_vi\"] = function() {\n return (dynCall_vi = Module[\"dynCall_vi\"] = Module[\"asm\"][\"S\"]).apply(null, arguments);\n };\n var dynCall_iiii = Module[\"dynCall_iiii\"] = function() {\n return (dynCall_iiii = Module[\"dynCall_iiii\"] = Module[\"asm\"][\"T\"]).apply(null, arguments);\n };\n var dynCall_ii = Module[\"dynCall_ii\"] = function() {\n return (dynCall_ii = Module[\"dynCall_ii\"] = Module[\"asm\"][\"U\"]).apply(null, arguments);\n };\n var dynCall_vii = Module[\"dynCall_vii\"] = function() {\n return (dynCall_vii = Module[\"dynCall_vii\"] = Module[\"asm\"][\"V\"]).apply(null, arguments);\n };\n var dynCall_i = Module[\"dynCall_i\"] = function() {\n return (dynCall_i = Module[\"dynCall_i\"] = Module[\"asm\"][\"W\"]).apply(null, arguments);\n };\n var dynCall_v = Module[\"dynCall_v\"] = function() {\n return (dynCall_v = Module[\"dynCall_v\"] = Module[\"asm\"][\"X\"]).apply(null, arguments);\n };\n var dynCall_iiiii = Module[\"dynCall_iiiii\"] = function() {\n return (dynCall_iiiii = Module[\"dynCall_iiiii\"] = Module[\"asm\"][\"Y\"]).apply(null, arguments);\n };\n var dynCall_viii = Module[\"dynCall_viii\"] = function() {\n return (dynCall_viii = Module[\"dynCall_viii\"] = Module[\"asm\"][\"Z\"]).apply(null, arguments);\n };\n var dynCall_viiii = Module[\"dynCall_viiii\"] = function() {\n return (dynCall_viiii = Module[\"dynCall_viiii\"] = Module[\"asm\"][\"_\"]).apply(null, arguments);\n };\n var dynCall_ji = Module[\"dynCall_ji\"] = function() {\n return (dynCall_ji = Module[\"dynCall_ji\"] = Module[\"asm\"][\"$\"]).apply(null, arguments);\n };\n var _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"aa\"]).apply(null, arguments);\n };\n var _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"ba\"]).apply(null, arguments);\n };\n var _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"ca\"]).apply(null, arguments);\n };\n var _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"da\"]).apply(null, arguments);\n };\n var ___start_em_js = Module[\"___start_em_js\"] = 107504;\n var ___stop_em_js = Module[\"___stop_em_js\"] = 110189;\n function invoke_ii(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ii(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_vii(index, a1, a2) {\n var sp = stackSave();\n try {\n dynCall_vii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_i(index) {\n var sp = stackSave();\n try {\n return dynCall_i(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_v(index) {\n var sp = stackSave();\n try {\n dynCall_v(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_vi(index, a1) {\n var sp = stackSave();\n try {\n dynCall_vi(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n return dynCall_iiiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n dynCall_viii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_iiii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n dynCall_viiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_ji(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ji(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n Module[\"AsciiToString\"] = AsciiToString;\n Module[\"FS\"] = FS;\n var calledRun;\n dependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n };\n function callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach((arg)=>{\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n }\n function run(args = arguments_) {\n if (runDependencies > 0) return;\n preRun();\n if (runDependencies > 0) return;\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else doRun();\n }\n if (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [\n Module[\"preInit\"]\n ];\n while(Module[\"preInit\"].length > 0)Module[\"preInit\"].pop()();\n }\n var shouldRunNow = true;\n if (Module[\"noInitialRun\"]) shouldRunNow = false;\n run();\n return Module.ready;\n };\n})();\nvar $ffa7e6eb668807b5$export$2e2bcd8739ae039 = $ffa7e6eb668807b5$var$Module;\n\n\nclass $2cdf5d24028c88de$export$2e2bcd8739ae039 extends (0, $0d34edacac7ea588$export$2e2bcd8739ae039) {\n default_options() {\n return {\n vmcore: (0, $ffa7e6eb668807b5$export$2e2bcd8739ae039)\n };\n }\n}\n\n\nconst $f81570ea977e655c$var$formats = [\n {\n id: \"bocfel\",\n extensions: /z([3458]|blorb)$/,\n engine: (0, $c9beefb40b84b742$export$2e2bcd8739ae039)\n },\n {\n id: \"git\",\n extensions: /(gblorb|ulx)$/,\n engine: (0, $dd4718defa50fa2b$export$2e2bcd8739ae039)\n },\n {\n id: \"hugo\",\n extensions: /hex$/,\n engine: (0, $15823016f6668df1$export$2e2bcd8739ae039)\n },\n {\n id: \"scare\",\n extensions: /taf$/,\n engine: (0, $2cdf5d24028c88de$export$2e2bcd8739ae039)\n },\n {\n id: \"tads\",\n extensions: /(gam|t3)$/,\n engine: (0, $baf23bce1c56928c$export$2e2bcd8739ae039)\n }\n];\nconst $f81570ea977e655c$export$1784a1ff765207b7 = (filename)=>{\n const format = $f81570ea977e655c$var$formats.find((x)=>x.extensions.test(filename));\n if (format) return {\n ...format,\n /* @see staticFiles in package.json */ wasmBinaryName: `emglken/${format.id}-core.wasm`\n };\n throw new Error(\"Unsupported file type\");\n};\n\n\n\n\n/**\n * @see: https://github.com/curiousdannii/glkote-term/blob/master/src/glkote-dumb.js\n * @see: https://github.com/curiousdannii/glkote-term/blob/master/src/electrofs.js\n */ class $6cc55e85f69c62dc$var$FakeDialog {\n constructor(handlers, loggers){\n this.streaming = false;\n this.handlers = handlers;\n this.loggers = loggers;\n }\n file_ref_exists({ usage: usage }) {\n return usage === \"save\" ? true : false;\n }\n file_remove_ref() {\n return true;\n }\n file_construct_ref(filename, usage) {\n return {\n filename: filename,\n usage: usage || \"\"\n };\n }\n file_read(dirent, israw) {\n return this.handlers.onFileRead(dirent, israw);\n }\n file_write(dirent, content, israw) {\n if (content.length === 0) return void 0;\n this.handlers.onFileWrite(dirent, content, israw);\n }\n open(tosave, usage, gameid, callback) {\n this.handlers.onFileNameRequest(tosave, usage, gameid, callback);\n }\n log(message) {\n this.loggers.log(message);\n }\n warning(message) {\n this.loggers.warn(message);\n }\n error(message) {\n this.loggers.error(message);\n }\n}\nvar $6cc55e85f69c62dc$export$2e2bcd8739ae039 = $6cc55e85f69c62dc$var$FakeDialog;\n\n\n/**\n * @see: https://github.com/curiousdannii/glkote-term/blob/master/src/glkote-dumb.js\n */ /**\n * @see: https://github.com/curiousdannii/glkote-term/blob/master/src/glkote-term.js\n */ class $607a2f5df9bf3729$var$GlkOte {\n constructor({ width: width, height: height }){\n this.width = width;\n this.height = height;\n this.current_metrics = null;\n this.disabled = false;\n this.generation = 0;\n this.interface = null;\n this.version = \"0.5.1\";\n }\n measure_window() {\n return {\n width: this.width,\n height: this.height,\n buffercharheight: 1,\n buffercharwidth: 1,\n buffermarginx: 0,\n buffermarginy: 0,\n graphicsmarginx: 0,\n graphicsmarginy: 0,\n gridcharheight: 1,\n gridcharwidth: 1,\n gridmarginx: 0,\n gridmarginy: 0,\n inspacingx: 0,\n inspacingy: 0,\n outspacingx: 0,\n outspacingy: 0\n };\n }\n getinterface() {\n return this.interface;\n }\n init(iface) {\n if (!iface) this.error(\"No game interface object has been provided.\");\n if (!iface.accept) this.error(\"The game interface object must have an accept() function.\");\n this.interface = iface;\n this.current_metrics = this.measure_window();\n this.send_response(\"init\", null, this.current_metrics);\n }\n update(data) {\n if (data.type === \"error\") this.error(data.message);\n if (data.type === \"pass\") return;\n if (data.type !== \"update\" && data.type !== \"exit\") {\n this.log(`Ignoring unknown message type: ${data.type}`);\n return;\n }\n if (data.gen === this.generation) {\n this.log(`Ignoring repeated generation number: ${data.gen}`);\n return;\n }\n if (data.gen < this.generation) {\n this.log(`Ignoring out-of-order generation number: got ${data.gen}, currently at ${this.generation}`);\n return;\n }\n this.generation = data.gen;\n if (this.disabled) this.disable(false);\n /* Handle the update */ if (data.input != null) this.cancel_inputs(data.input);\n if (data.windows != null) this.update_windows(data.windows);\n if (data.content != null && data.content.length) this.update_content(data.content);\n if (data.input != null) this.update_inputs(data.input);\n /* Disable everything if requested */ this.disabled = false;\n if (data.disabled || data.specialinput) this.disable(true);\n if (data.specialinput != null) this.accept_specialinput(data.specialinput);\n /* Detach all handlers and exit */ if (data.type === \"exit\") this.exit();\n }\n send_response(type, win, val, val2) {\n const res = {\n type: type,\n gen: this.generation\n };\n if (win) res.window = win.id;\n if (type === \"init\" || type === \"arrange\") res.metrics = val;\n if (type === \"init\") res.support = this.support();\n if (type === \"char\") res.value = val;\n if (type === \"line\") res.value = val;\n if (type === \"specialresponse\") {\n res.response = val;\n res.value = val2;\n }\n this.interface.accept(res);\n }\n support() {\n return [];\n }\n}\nvar $607a2f5df9bf3729$export$2e2bcd8739ae039 = $607a2f5df9bf3729$var$GlkOte;\n\n\nclass $2e4ae466f1c769fd$var$CheapGlkOte extends (0, $607a2f5df9bf3729$export$2e2bcd8739ae039) {\n constructor(handlers, loggers, size){\n super(size);\n this.handlers = handlers;\n this.loggers = loggers;\n }\n sendFn(message, type, window) {\n this.send_response(type, window, message);\n }\n init(iface) {\n this.handlers.onInit();\n super.init(iface);\n }\n update_inputs(data) {\n if (!data.length) return [];\n this.handlers.onUpdateInputs(data);\n }\n accept_specialinput(data) {\n if (data.type === \"fileref_prompt\") {\n const callback = (ref)=>this.send_response(\"specialresponse\", null, \"fileref_prompt\", ref);\n this.interface.Dialog.open(data.filemode !== \"read\", data.filetype, data.gameid, callback);\n } else this.error(\"Request for unknown special input type: \" + data.type);\n }\n update_content(messages) {\n this.handlers.onUpdateContent(messages);\n }\n exit() {\n this.handlers.onExit();\n super.exit();\n }\n cancel_inputs(data) {\n this.handlers.onUpdateInputs(data);\n }\n disable(data) {\n this.handlers.onDisable(data);\n }\n update_windows(windows) {\n this.handlers.onUpdateWindows(windows);\n }\n log(message) {\n this.loggers.log(message);\n }\n warning(message) {\n this.loggers.warn(message);\n }\n error(message) {\n this.loggers.error(message);\n }\n}\nvar $2e4ae466f1c769fd$export$2e2bcd8739ae039 = $2e4ae466f1c769fd$var$CheapGlkOte;\n\n\nconst $f4aad693a7eb1cab$var$noop = ()=>void 0;\nconst $f4aad693a7eb1cab$var$defaultHandlers = [\n \"onInit\",\n \"onUpdateWindows\",\n \"onUpdateInputs\",\n \"onUpdateContent\",\n \"onDisable\",\n \"onFileNameRequest\",\n \"onFileRead\",\n \"onFileWrite\",\n \"onExit\"\n].reduce((acc, x)=>(acc[x] = $f4aad693a7eb1cab$var$noop, acc), {});\nconst $f4aad693a7eb1cab$var$defaultLoggers = {\n log: console.log,\n warning: console.warn,\n error: console.error\n};\nconst $f4aad693a7eb1cab$var$defaultSize = {\n width: 80,\n height: 25\n};\nvar $f4aad693a7eb1cab$export$2e2bcd8739ae039 = (handlers_, { loggers: loggers_, size: size_ } = {})=>{\n const handlers = Object.assign({}, $f4aad693a7eb1cab$var$defaultHandlers, handlers_);\n const loggers = Object.assign({}, $f4aad693a7eb1cab$var$defaultLoggers, loggers_);\n const size = Object.assign({}, $f4aad693a7eb1cab$var$defaultSize, size_);\n const Dialog = new (0, $6cc55e85f69c62dc$export$2e2bcd8739ae039)(handlers, loggers);\n const GlkOte = new (0, $2e4ae466f1c769fd$export$2e2bcd8739ae039)(handlers, loggers, size);\n const send = GlkOte.sendFn.bind(GlkOte);\n return {\n Dialog: Dialog,\n GlkOte: GlkOte,\n send: send\n };\n};\n\n\n\n\n\nvar $f70f6ed8aa0167f4$exports = {};\n\n$parcel$export($f70f6ed8aa0167f4$exports, \"emphasized\", function () { return $f70f6ed8aa0167f4$export$1ee2ee71de083e4d; }, function (v) { return $f70f6ed8aa0167f4$export$1ee2ee71de083e4d = v; });\n$parcel$export($f70f6ed8aa0167f4$exports, \"input\", function () { return $f70f6ed8aa0167f4$export$b7e3ae3d7c15e42e; }, function (v) { return $f70f6ed8aa0167f4$export$b7e3ae3d7c15e42e = v; });\n$parcel$export($f70f6ed8aa0167f4$exports, \"message\", function () { return $f70f6ed8aa0167f4$export$a8ecead220dd38a6; }, function (v) { return $f70f6ed8aa0167f4$export$a8ecead220dd38a6 = v; });\n$parcel$export($f70f6ed8aa0167f4$exports, \"scrollTarget\", function () { return $f70f6ed8aa0167f4$export$64cbebf88d5f7b08; }, function (v) { return $f70f6ed8aa0167f4$export$64cbebf88d5f7b08 = v; });\n$parcel$export($f70f6ed8aa0167f4$exports, \"subheader\", function () { return $f70f6ed8aa0167f4$export$d61e5f8e032e1547; }, function (v) { return $f70f6ed8aa0167f4$export$d61e5f8e032e1547 = v; });\nvar $f70f6ed8aa0167f4$export$1ee2ee71de083e4d;\nvar $f70f6ed8aa0167f4$export$b7e3ae3d7c15e42e;\nvar $f70f6ed8aa0167f4$export$a8ecead220dd38a6;\nvar $f70f6ed8aa0167f4$export$64cbebf88d5f7b08;\nvar $f70f6ed8aa0167f4$export$d61e5f8e032e1547;\n$f70f6ed8aa0167f4$export$1ee2ee71de083e4d = `hBGgUq_emphasized`;\n$f70f6ed8aa0167f4$export$b7e3ae3d7c15e42e = `hBGgUq_input`;\n$f70f6ed8aa0167f4$export$a8ecead220dd38a6 = `hBGgUq_message`;\n$f70f6ed8aa0167f4$export$64cbebf88d5f7b08 = `hBGgUq_scrollTarget`;\n$f70f6ed8aa0167f4$export$d61e5f8e032e1547 = `hBGgUq_subheader`;\n\n\nfunction $ae4b80531b5b7eb5$export$2e2bcd8739ae039({ style: style, text: text }) {\n const defaultContent = /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"span\", {\n className: [\n $f70f6ed8aa0167f4$exports.message,\n $f70f6ed8aa0167f4$exports[style]\n ].join(\" \"),\n children: text\n });\n return ({\n grid: text?.length > 0 ? /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n children: text\n }) : /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"br\", {}),\n input: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"span\", {\n className: [\n $f70f6ed8aa0167f4$exports.message,\n $f70f6ed8aa0167f4$exports.input\n ].join(\" \"),\n children: [\n \"> \",\n text\n ]\n }),\n subheader: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"strong\", {\n className: [\n $f70f6ed8aa0167f4$exports.message,\n $f70f6ed8aa0167f4$exports.subheader\n ].join(\" \"),\n children: text\n }),\n emphasized: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"em\", {\n className: [\n $f70f6ed8aa0167f4$exports.message,\n $f70f6ed8aa0167f4$exports.emphasized\n ].join(\" \"),\n children: text\n }),\n scrollTarget: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n className: [\n $f70f6ed8aa0167f4$exports.scrollTarget,\n style\n ].join(\" \")\n }),\n endOfLine: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"br\", {})\n })[style] || defaultContent;\n}\n\n\nvar $e3c97f2521259165$export$ab1029bcae9ddb4a;\nvar $e3c97f2521259165$export$d7f0ba9e5e132b36;\nvar $e3c97f2521259165$export$347a3a46df242257;\nvar $e3c97f2521259165$export$c789db2c85949867;\nvar $e3c97f2521259165$export$6181eef8f2dfdf3c;\n$e3c97f2521259165$export$ab1029bcae9ddb4a = `PwGQsW_buffer`;\n$e3c97f2521259165$export$d7f0ba9e5e132b36 = `PwGQsW_elseifplayer`;\n$e3c97f2521259165$export$347a3a46df242257 = `PwGQsW_gridBuffer`;\n$e3c97f2521259165$export$c789db2c85949867 = `PwGQsW_output`;\n$e3c97f2521259165$export$6181eef8f2dfdf3c = `PwGQsW_textBuffer`;\n\n\nconst $62a526398d9e890e$var$eol = {\n style: \"endOfLine\"\n};\nconst $62a526398d9e890e$var$scrollTarget = {\n style: \"scrollTarget\"\n};\nconst $62a526398d9e890e$var$isFakeStatus = (w)=>w.height < 5;\nconst $62a526398d9e890e$var$trimInputPrompt = (messages)=>messages.length < 1 ? messages : messages.slice(-1)[0].text === \">\" ? messages.slice(0, messages.length - 1) : messages;\nconst $62a526398d9e890e$var$parseInbox = (inbox, currentWindow)=>{\n const currentInbox = inbox.find(({ id: id })=>id === currentWindow.id);\n if (!currentInbox) return {\n clear: false,\n incoming: [\n $62a526398d9e890e$var$scrollTarget\n ]\n };\n const { text: inboxMessagesRaw } = currentInbox;\n const incoming = inboxMessagesRaw/* Normalize. */ .map(({ content: content })=>content ? [\n ...$62a526398d9e890e$var$trimInputPrompt(content),\n $62a526398d9e890e$var$eol\n ] : [\n $62a526398d9e890e$var$eol\n ])/* Flatten. */ .reduce((acc, x)=>acc.concat(x), [\n $62a526398d9e890e$var$scrollTarget\n ]);\n return {\n incoming: incoming,\n clear: $62a526398d9e890e$var$isFakeStatus(currentWindow) ? true : currentInbox.clear\n };\n};\nfunction $62a526398d9e890e$export$2e2bcd8739ae039({ inbox: inbox, currentWindow: currentWindow }) {\n const [messages, setMessages] = (0, $70db777e8f6135ab$export$60241385465d0a34)([]);\n const textBufferEl = (0, $70db777e8f6135ab$export$b8f5890fc79d6aca)(null);\n (0, $70db777e8f6135ab$export$6d9c69b0de29b591)(()=>{\n const { incoming: incoming, clear: clear } = $62a526398d9e890e$var$parseInbox(inbox, currentWindow);\n setMessages((messages)=>clear ? incoming : messages.concat(incoming));\n setTimeout(()=>{\n const scrollTargets = textBufferEl.current.querySelectorAll(`.${$62a526398d9e890e$var$scrollTarget.style}`);\n const freshScrollTarget = scrollTargets[scrollTargets.length - 1];\n freshScrollTarget ? freshScrollTarget.scrollIntoView() : textBufferEl.current.scrollTo({\n top: textBufferEl.current.scrollHeight,\n behavior: \"smooth\"\n });\n }, 0);\n }, [\n currentWindow,\n inbox\n ]);\n const classes = ()=>[\n $e3c97f2521259165$export$ab1029bcae9ddb4a,\n $62a526398d9e890e$var$isFakeStatus(currentWindow) ? $e3c97f2521259165$export$347a3a46df242257 : $e3c97f2521259165$export$6181eef8f2dfdf3c\n ].join(\" \");\n return /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"section\", {\n tabindex: \"0\",\n ref: textBufferEl,\n className: classes(),\n children: messages.map((0, $ae4b80531b5b7eb5$export$2e2bcd8739ae039))\n });\n}\n\n\n\n\n\n\nfunction $fc1a9d8e897a3f88$export$2e2bcd8739ae039({ inbox: inbox, currentWindow: currentWindow }) {\n const [prevMessages, setPrevMessages] = (0, $70db777e8f6135ab$export$60241385465d0a34)([]);\n const [messages, setMessages] = (0, $70db777e8f6135ab$export$60241385465d0a34)([]);\n (0, $70db777e8f6135ab$export$6d9c69b0de29b591)(()=>{\n const currentInboxObj = inbox.find(({ id: id })=>id === currentWindow.id);\n const currentInbox = currentInboxObj?.lines ?? [];\n const newOrPrev = (cur, prev)=>(i)=>{\n const byId = (list, i)=>list.find(({ line: line })=>line === i);\n return byId(cur, i) || byId(prev, i);\n };\n const rawMessages = Array(currentWindow.gridheight).fill(null).map((_, i)=>i).map(newOrPrev(currentInbox, prevMessages));\n /* */ const shouldUpdatePrev = (rawMessages, prevMessages)=>{\n const serialize = JSON.stringify;\n return serialize(rawMessages) !== serialize(prevMessages);\n };\n if (shouldUpdatePrev(rawMessages, prevMessages)) setPrevMessages(rawMessages);\n /* */ const rawMessagesContent = rawMessages.map((x)=>x.content).flat().map((message)=>({\n ...message,\n text: message.text.trim()\n }));\n const isEmpty = rawMessagesContent.map(({ text: text })=>text.length).every((l)=>l === 0);\n const getGridStyle = ({ style: style })=>{\n if ([\n \"alert\",\n \"normal\"\n ].includes(style)) return \"grid\";\n return style || \"grid\";\n };\n const messages = rawMessagesContent.map((message)=>({\n style: getGridStyle(message),\n text: message.text.replace(\" \", \" / \")\n }));\n setMessages(isEmpty ? [] : messages);\n }, [\n inbox,\n currentWindow,\n prevMessages\n ]);\n return /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"section\", {\n className: [\n $e3c97f2521259165$export$ab1029bcae9ddb4a,\n $e3c97f2521259165$export$347a3a46df242257\n ].join(\" \"),\n children: messages.map((0, $ae4b80531b5b7eb5$export$2e2bcd8739ae039))\n });\n}\n\n\n\n\n\nvar $689588708ca7989d$export$2bacab2130704b28;\nvar $689588708ca7989d$export$8439e0443b88eae;\n$689588708ca7989d$export$2bacab2130704b28 = `gUkI1a_menuButton`;\n$689588708ca7989d$export$8439e0443b88eae = `gUkI1a_menuIcon`;\n\n\nfunction $522ef20c4411156f$export$2e2bcd8739ae039({ onClick: onClick }) {\n return /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"button\", {\n \"aria-label\": \"Menu\",\n className: $689588708ca7989d$export$2bacab2130704b28,\n onClick: onClick,\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"svg\", {\n class: $689588708ca7989d$export$8439e0443b88eae,\n viewBox: \"0 0 28 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"rect\", {\n x: \"12\",\n y: \"4\",\n width: \"4\",\n height: \"4\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"rect\", {\n x: \"12\",\n y: \"14\",\n width: \"4\",\n height: \"4\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"rect\", {\n x: \"12\",\n y: \"24\",\n width: \"4\",\n height: \"4\"\n })\n ]\n })\n });\n}\n\n\nvar $8fe91735af38ec13$export$1d6e32fec5a4f082;\nvar $8fe91735af38ec13$export$4a36d31092c0d718;\n$8fe91735af38ec13$export$1d6e32fec5a4f082 = `LdLucW_inputBox`;\n$8fe91735af38ec13$export$4a36d31092c0d718 = `LdLucW_inputControls`;\n\n\n/* eslint-disable */ const $09c2ae0a56d4216f$var$keyCodes = {\n KEY_BACKSPACE: 8,\n KEY_TAB: 9,\n KEY_RETURN: 13,\n KEY_ESC: 27,\n KEY_PAGEUP: 33,\n KEY_PAGEDOWN: 34,\n KEY_END: 35,\n KEY_HOME: 36,\n KEY_LEFT: 37,\n KEY_UP: 38,\n KEY_RIGHT: 39,\n KEY_DOWN: 40\n};\nconst $09c2ae0a56d4216f$var$keyNames = {\n [$09c2ae0a56d4216f$var$keyCodes.KEY_BACKSPACE]: \"delete\",\n [$09c2ae0a56d4216f$var$keyCodes.KEY_TAB]: \"tab\",\n [$09c2ae0a56d4216f$var$keyCodes.KEY_RETURN]: \"return\",\n [$09c2ae0a56d4216f$var$keyCodes.KEY_ESC]: \"escape\",\n [$09c2ae0a56d4216f$var$keyCodes.KEY_PAGEUP]: \"pageup\",\n [$09c2ae0a56d4216f$var$keyCodes.KEY_PAGEDOWN]: \"pagedown\",\n [$09c2ae0a56d4216f$var$keyCodes.KEY_END]: \"end\",\n [$09c2ae0a56d4216f$var$keyCodes.KEY_HOME]: \"home\",\n [$09c2ae0a56d4216f$var$keyCodes.KEY_LEFT]: \"left\",\n [$09c2ae0a56d4216f$var$keyCodes.KEY_UP]: \"up\",\n [$09c2ae0a56d4216f$var$keyCodes.KEY_RIGHT]: \"right\",\n [$09c2ae0a56d4216f$var$keyCodes.KEY_DOWN]: \"down\"\n};\n/* eslint-enable */ const $09c2ae0a56d4216f$var$hasModifier = (event)=>{\n const modifiers = [\n event.altKey,\n event.ctrlKey,\n event.metaKey,\n event.shiftKey\n ];\n return modifiers.some((modifier)=>modifier === true);\n};\nfunction $09c2ae0a56d4216f$export$2e2bcd8739ae039({ inputType: inputType, windows: windows, currentWindowId: currentWindowId, sendMessage: sendMessage, onFullscreenRequest: onFullscreenRequest, setMenuOpen: setMenuOpen }) {\n const [targetWindow, setTargetWindow] = (0, $70db777e8f6135ab$export$60241385465d0a34)(null);\n const [inputText, setInputText] = (0, $70db777e8f6135ab$export$60241385465d0a34)(\"\");\n const [lastInput, setLastInput] = (0, $70db777e8f6135ab$export$60241385465d0a34)(\"\");\n const inputEl = (0, $70db777e8f6135ab$export$b8f5890fc79d6aca)(null);\n (0, $70db777e8f6135ab$export$6d9c69b0de29b591)(()=>{\n let setFocus = ()=>{\n inputEl.current && inputEl.current.focus();\n };\n setInputText(\"\");\n setFocus();\n document.addEventListener(\"fullscreenchange\", setFocus);\n return ()=>document.removeEventListener(\"fullscreenchange\", setFocus);\n }, [\n inputType\n ]);\n (0, $70db777e8f6135ab$export$6d9c69b0de29b591)(()=>{\n setTargetWindow(windows.find(({ id: id })=>id === currentWindowId));\n }, [\n currentWindowId,\n windows\n ]);\n const send = (message)=>{\n sendMessage(message, inputType, targetWindow);\n setLastInput(message);\n setInputText(\"\");\n };\n const charHandler = (event)=>(event.keyCode === 229 ? charHandlerMobile : charHandlerDefault)(event);\n const charHandlerDefault = (event)=>{\n if ($09c2ae0a56d4216f$var$hasModifier(event)) return undefined;\n event.preventDefault();\n const key = $09c2ae0a56d4216f$var$keyNames[event.keyCode] || event.key;\n send(key);\n };\n const charHandlerMobile = (event)=>setTimeout(()=>{\n send(event.target.value.slice(-1).toUpperCase());\n setInputText(\"\");\n });\n const lineHandler = ({ keyCode: keyCode, target: { value: value } })=>{\n if (keyCode === $09c2ae0a56d4216f$var$keyCodes.KEY_RETURN) send(value);\n };\n const lineArrowHandler = ({ keyCode: keyCode })=>{\n if (keyCode === $09c2ae0a56d4216f$var$keyCodes.KEY_UP) {\n setInputText(lastInput);\n setTimeout(()=>{\n const end = lastInput.length;\n inputEl.current.setSelectionRange(end, end);\n }, 0);\n }\n if (keyCode === $09c2ae0a56d4216f$var$keyCodes.KEY_DOWN) setInputText(\"\");\n };\n const inputHandlers = {\n char: {\n maxlength: \"1\",\n placeholder: \"Press any key here\",\n onKeyDown: charHandler\n },\n line: {\n placeholder: \" > \",\n onKeyDown: lineArrowHandler,\n onKeyPress: lineHandler\n },\n finished: {\n placeholder: \"The program has finished\",\n disabled: true\n }\n };\n return /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"section\", {\n className: $8fe91735af38ec13$export$4a36d31092c0d718,\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"input\", {\n ...inputHandlers[inputType],\n className: $8fe91735af38ec13$export$1d6e32fec5a4f082,\n ref: inputEl,\n value: inputText,\n autofocus: true,\n autocomplete: \"off\",\n spellCheck: \"false\",\n autocapitalize: \"off\",\n autocorrect: \"off\",\n onDblClick: onFullscreenRequest,\n onInput: ({ target: { value: value } })=>setInputText(value),\n type: \"search\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $522ef20c4411156f$export$2e2bcd8739ae039), {\n onClick: ()=>setMenuOpen(true)\n })\n ]\n });\n}\n\n\n\n\nvar $7af367459ad7e190$export$cef8ff1a2814f0d7;\nvar $7af367459ad7e190$export$46c1c92549715335;\nvar $7af367459ad7e190$export$471f7ae5c4103ae1;\n$7af367459ad7e190$export$cef8ff1a2814f0d7 = `zi213q_dots0123`;\n$7af367459ad7e190$export$cef8ff1a2814f0d7;\n$7af367459ad7e190$export$46c1c92549715335 = `zi213q_loading`;\n$7af367459ad7e190$export$471f7ae5c4103ae1 = `zi213q_status`;\n\n\nconst $3f6f728901b29270$var$fail = (details)=>/*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n className: [\n $7af367459ad7e190$export$471f7ae5c4103ae1\n ].join(\" \"),\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"h1\", {\n children: \"Error\"\n }),\n details.map((x)=>/*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"p\", {\n children: x\n }, x)),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"hr\", {}),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $43f4290c2e1c8c6c$export$a6c7ac8248d6e38a), {\n href: \"/\",\n children: \"Home\"\n }),\n \"|\",\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: \"https://github.com/He4eT/elseifplayer/issues\",\n children: \"Report bug\"\n })\n ]\n });\nconst $3f6f728901b29270$var$loading = (details)=>/*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n className: [\n $7af367459ad7e190$export$471f7ae5c4103ae1,\n $7af367459ad7e190$export$46c1c92549715335\n ].join(\" \"),\n children: details.map((x)=>/*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n children: x\n }, x))\n });\nvar $3f6f728901b29270$export$2e2bcd8739ae039 = ({ stage: stage, details: details })=>({\n fail: $3f6f728901b29270$var$fail,\n loading: $3f6f728901b29270$var$loading\n })[stage](details);\n\n\n/**\r\n Base32768 is a binary-to-text encoding optimised for UTF-16-encoded text.\r\n (e.g. Windows, Java, JavaScript)\r\n*/ // Z is a number, usually a uint15 but sometimes a uint7\nconst $5dd12ecabd972271$var$BITS_PER_CHAR = 15 // Base32768 is a 15-bit encoding\n;\nconst $5dd12ecabd972271$var$BITS_PER_BYTE = 8;\nconst $5dd12ecabd972271$var$pairStrings = [\n \"ҠҿԀԟڀڿݠޟ߀ߟကဟႠႿᄀᅟᆀᆟᇠሿበቿዠዿጠጿᎠᏟᐠᙟᚠᛟកសᠠᡟᣀᣟᦀᦟ᧠᧿ᨠᨿᯀᯟᰀᰟᴀᴟ⇠⇿⋀⋟⍀⏟␀␟─❟➀➿⠀⥿⦠⦿⨠⩟⪀⪿⫠⭟ⰀⰟⲀⳟⴀⴟⵀⵟ⺠⻟㇀㇟㐀䶟䷀龿ꀀꑿ꒠꒿ꔀꗿꙀꙟꚠꛟ꜀ꝟꞀꞟꡀꡟ\",\n \"ƀƟɀʟ\"\n];\nconst $5dd12ecabd972271$var$lookupE = {};\nconst $5dd12ecabd972271$var$lookupD = {};\n$5dd12ecabd972271$var$pairStrings.forEach((pairString, r)=>{\n // Decompression\n const encodeRepertoire = [];\n pairString.match(/../gu).forEach((pair)=>{\n const first = pair.codePointAt(0);\n const last = pair.codePointAt(1);\n for(let codePoint = first; codePoint <= last; codePoint++)encodeRepertoire.push(String.fromCodePoint(codePoint));\n });\n const numZBits = $5dd12ecabd972271$var$BITS_PER_CHAR - $5dd12ecabd972271$var$BITS_PER_BYTE * r // 0 -> 15, 1 -> 7\n ;\n $5dd12ecabd972271$var$lookupE[numZBits] = encodeRepertoire;\n encodeRepertoire.forEach((chr, z)=>{\n $5dd12ecabd972271$var$lookupD[chr] = [\n numZBits,\n z\n ];\n });\n});\nconst $5dd12ecabd972271$export$c564cdbbe6da493 = (uint8Array)=>{\n const length = uint8Array.length;\n let str = \"\";\n let z = 0;\n let numZBits = 0;\n for(let i = 0; i < length; i++){\n const uint8 = uint8Array[i];\n // Take most significant bit first\n for(let j = $5dd12ecabd972271$var$BITS_PER_BYTE - 1; j >= 0; j--){\n const bit = uint8 >> j & 1;\n z = (z << 1) + bit;\n numZBits++;\n if (numZBits === $5dd12ecabd972271$var$BITS_PER_CHAR) {\n str += $5dd12ecabd972271$var$lookupE[numZBits][z];\n z = 0;\n numZBits = 0;\n }\n }\n }\n if (numZBits !== 0) {\n // Final bits require special treatment.\n // z = bbbbbbcccccccc, numZBits = 14, padBits = 1\n // z = bbbbbcccccccc, numZBits = 13, padBits = 2\n // z = bbbbcccccccc, numZBits = 12, padBits = 3\n // z = bbbcccccccc, numZBits = 11, padBits = 4\n // z = bbcccccccc, numZBits = 10, padBits = 5\n // z = bcccccccc, numZBits = 9, padBits = 6\n // z = cccccccc, numZBits = 8, padBits = 7\n // => Pad `z` out to 15 bits using 1s, then encode as normal (r = 0)\n // z = ccccccc, numZBits = 7, padBits = 0\n // z = cccccc, numZBits = 6, padBits = 1\n // z = ccccc, numZBits = 5, padBits = 2\n // z = cccc, numZBits = 4, padBits = 3\n // z = ccc, numZBits = 3, padBits = 4\n // z = cc, numZBits = 2, padBits = 5\n // z = c, numZBits = 1, padBits = 6\n // => Pad `z` out to 7 bits using 1s, then encode specially (r = 1)\n while(!(numZBits in $5dd12ecabd972271$var$lookupE)){\n z = (z << 1) + 1;\n numZBits++;\n }\n str += $5dd12ecabd972271$var$lookupE[numZBits][z];\n }\n return str;\n};\nconst $5dd12ecabd972271$export$2f872c0f2117be69 = (str)=>{\n const length = str.length;\n // This length is a guess. There's a chance we allocate one more byte here\n // than we actually need. But we can count and slice it off later\n const uint8Array = new Uint8Array(Math.floor(length * $5dd12ecabd972271$var$BITS_PER_CHAR / $5dd12ecabd972271$var$BITS_PER_BYTE));\n let numUint8s = 0;\n let uint8 = 0;\n let numUint8Bits = 0;\n for(let i = 0; i < length; i++){\n const chr = str.charAt(i);\n if (!(chr in $5dd12ecabd972271$var$lookupD)) throw new Error(`Unrecognised Base32768 character: ${chr}`);\n const [numZBits, z] = $5dd12ecabd972271$var$lookupD[chr];\n if (numZBits !== $5dd12ecabd972271$var$BITS_PER_CHAR && i !== length - 1) throw new Error(\"Secondary character found before end of input at position \" + String(i));\n // Take most significant bit first\n for(let j = numZBits - 1; j >= 0; j--){\n const bit = z >> j & 1;\n uint8 = (uint8 << 1) + bit;\n numUint8Bits++;\n if (numUint8Bits === $5dd12ecabd972271$var$BITS_PER_BYTE) {\n uint8Array[numUint8s] = uint8;\n numUint8s++;\n uint8 = 0;\n numUint8Bits = 0;\n }\n }\n }\n // Final padding bits! Requires special consideration!\n // Remember how we always pad with 1s?\n // Note: there could be 0 such bits, check still works though\n if (uint8 !== (1 << numUint8Bits) - 1) throw new Error(\"Padding mismatch\");\n return new Uint8Array(uint8Array.buffer, 0, numUint8s);\n};\n\n\nconst $d19a0378e1073758$export$fe1040197752eb59 = ({ setStatus: setStatus, setWindows: setWindows, setCurrentWindowId: setCurrentWindowId, setInputType: setInputType, setInbox: setInbox })=>({\n onInit: ()=>{\n setStatus({\n stage: \"ready\"\n });\n },\n /* */ onUpdateWindows: (windows)=>{\n setWindows(windows);\n },\n onUpdateInputs: (data)=>{\n if (data.length === 0) return null;\n const { type: type, id: id } = data[0];\n setCurrentWindowId(id);\n setInputType(type);\n },\n onUpdateContent: (inbox)=>{\n setInbox(inbox);\n },\n onDisable: ()=>{\n setInputType(null);\n },\n /* */ onFileNameRequest: (_tosave, usage, _gameId, setFileName)=>{\n setFileName({\n usage: usage,\n filename: prompt(\"Enter the filename\")\n });\n },\n onFileRead: ({ filename: filename })=>{\n const content = localStorage.getItem(`fake-fs/${filename}`);\n return (0, $5dd12ecabd972271$export$2f872c0f2117be69)(content);\n },\n onFileWrite: ({ filename: filename }, content)=>{\n localStorage.setItem(`fake-fs/${filename}`, (0, $5dd12ecabd972271$export$c564cdbbe6da493)(content));\n },\n /* */ onExit: ()=>{\n setInputType(\"finished\");\n }\n });\nconst $d19a0378e1073758$export$877ebb39146e6928 = (onExit)=>(event)=>{\n if (event.reason.name === \"ExitStatus\" || event.reason.message === \"Program terminated with exit(0)\") onExit();\n else console.error(\"Unhandled rejection (promise: \", event.promise, \", reason: \", event.reason, \").\");\n event.preventDefault();\n };\n\n\n\nconst $bb36c7040b61e80d$var$INITIAL_STATUS = {\n stage: \"loading\",\n details: [\n \"Preparing\"\n ]\n};\nconst $bb36c7040b61e80d$var$runMachine = ({ engine: Engine, wasmBinary: wasmBinary, storyfile: storyfile, handlers: handlers })=>{\n const { Dialog: Dialog, GlkOte: GlkOte, send: send } = (0, $f4aad693a7eb1cab$export$2e2bcd8739ae039)(handlers);\n const instance = new Engine();\n instance.init(storyfile, {\n Dialog: Dialog,\n GlkOte: GlkOte,\n Glk: {},\n wasmBinary: wasmBinary,\n arguments: [\n \"storyfile\"\n ]\n });\n instance.start();\n return {\n send: send,\n instance: instance\n };\n};\nfunction $bb36c7040b61e80d$export$2e2bcd8739ae039({ vmParts: { storyfile: storyfile, engine: engine, wasmBinary: wasmBinary }, onFullscreenRequest: onFullscreenRequest, setMenuOpen: setMenuOpen, singleWindow: singleWindow }) {\n const [status, setStatus] = (0, $70db777e8f6135ab$export$60241385465d0a34)($bb36c7040b61e80d$var$INITIAL_STATUS);\n const [windows, setWindows] = (0, $70db777e8f6135ab$export$60241385465d0a34)([]);\n const [currentWindowId, setCurrentWindowId] = (0, $70db777e8f6135ab$export$60241385465d0a34)(null);\n const [inputType, setInputType] = (0, $70db777e8f6135ab$export$60241385465d0a34)(null);\n const [inbox, setInbox] = (0, $70db777e8f6135ab$export$60241385465d0a34)([]);\n const [vm, setVm] = (0, $70db777e8f6135ab$export$60241385465d0a34)(null);\n const [sendMessage, setSendMessage] = (0, $70db777e8f6135ab$export$60241385465d0a34)(null);\n (0, $70db777e8f6135ab$export$6d9c69b0de29b591)(()=>{\n const handlers = (0, $d19a0378e1073758$export$fe1040197752eb59)({\n setStatus: setStatus,\n setWindows: setWindows,\n setCurrentWindowId: setCurrentWindowId,\n setInputType: setInputType,\n setInbox: setInbox\n });\n setVm($bb36c7040b61e80d$var$runMachine({\n engine: engine,\n wasmBinary: wasmBinary,\n storyfile: storyfile,\n handlers: handlers\n }));\n const rejectionHandler = (0, $d19a0378e1073758$export$877ebb39146e6928)(handlers.onExit);\n window.addEventListener(\"unhandledrejection\", rejectionHandler);\n return ()=>{\n setVm(null);\n window.removeEventListener(\"unhandledrejection\", rejectionHandler);\n };\n }, [\n storyfile,\n engine,\n wasmBinary\n ]);\n (0, $70db777e8f6135ab$export$6d9c69b0de29b591)(()=>{\n setSendMessage(()=>vm ? vm.send : null);\n return ()=>setSendMessage(null);\n }, [\n vm\n ]);\n const textWindow = (inbox)=>(currentWindow)=>{\n const props = {\n inbox: inbox,\n currentWindow: currentWindow\n };\n return ({\n buffer: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $62a526398d9e890e$export$2e2bcd8739ae039), {\n ...props\n }),\n grid: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $fc1a9d8e897a3f88$export$2e2bcd8739ae039), {\n ...props\n })\n })[currentWindow.type];\n };\n const byTop = (a, b)=>a.top - b.top;\n return status.stage !== \"ready\" ? /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $3f6f728901b29270$export$2e2bcd8739ae039), {\n ...status\n }) : /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"section\", {\n className: $e3c97f2521259165$export$d7f0ba9e5e132b36,\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"section\", {\n className: $e3c97f2521259165$export$c789db2c85949867,\n children: windows.sort(byTop).filter(singleWindow ? ({ id: id })=>id === currentWindowId : ()=>true).map(textWindow(inbox))\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $09c2ae0a56d4216f$export$2e2bcd8739ae039), {\n inputType: inputType,\n windows: windows,\n currentWindowId: currentWindowId,\n sendMessage: sendMessage,\n onFullscreenRequest: onFullscreenRequest,\n setMenuOpen: setMenuOpen\n })\n ]\n });\n}\n\n\n\nconst $f70ed90b8b4541bd$var$INITIAL_STATUS = {\n stage: \"loading\",\n details: [\n \"Loading\"\n ]\n};\nconst $f70ed90b8b4541bd$var$prepareVM = ({ url: url, setStatus: setStatus, setParts: setParts })=>{\n const st = (stage, details)=>(args)=>{\n setStatus({\n stage: stage,\n details: [\n details\n ]\n });\n return args;\n };\n const cleanUrl = (url)=>url.startsWith(\"blob:\") ? url.replace(/#(.*)$/g, \"\") : url;\n const fetchWasm = (wasmBinaryName)=>fetch(wasmBinaryName).then((response)=>response.arrayBuffer());\n const checkResponse = (response)=>{\n if (response.ok) return response;\n throw new Error(response.statusText);\n };\n return Promise.resolve(url).then(st(\"loading\", \"Downloading file\")).then(cleanUrl).then(fetch).then(checkResponse).then(st(\"loading\", \"Processing file\")).then((response)=>response.arrayBuffer()).then((arrayBuffer)=>new Uint8Array(arrayBuffer)).then(st(\"loading\", \"Downloading engine\")).then((storyfile)=>{\n let parts = (0, $f81570ea977e655c$export$1784a1ff765207b7)(url);\n return [\n storyfile,\n parts.engine,\n parts.wasmBinaryName\n ];\n }).then(([storyfile, engine, wasmBinaryName])=>Promise.all([\n storyfile,\n engine,\n fetchWasm(wasmBinaryName)\n ])).then(([storyfile, engine, wasmBinary])=>setParts({\n storyfile: storyfile,\n engine: engine,\n wasmBinary: wasmBinary\n })).then(st(\"loading\", \"Running\")).catch((e)=>{\n console.error(e);\n setStatus({\n stage: \"fail\",\n details: [\n e.message,\n url\n ]\n });\n });\n};\nfunction $f70ed90b8b4541bd$export$2e2bcd8739ae039({ url: url, singleWindow: singleWindow, onFullscreenRequest: onFullscreenRequest, setMenuOpen: setMenuOpen }) {\n const [status, setStatus] = (0, $70db777e8f6135ab$export$60241385465d0a34)($f70ed90b8b4541bd$var$INITIAL_STATUS);\n const [vmParts, setParts] = (0, $70db777e8f6135ab$export$60241385465d0a34)(null);\n (0, $70db777e8f6135ab$export$6d9c69b0de29b591)(()=>{\n setStatus($f70ed90b8b4541bd$var$INITIAL_STATUS);\n setParts(null);\n $f70ed90b8b4541bd$var$prepareVM({\n url: url,\n setStatus: setStatus,\n setParts: setParts\n });\n return ()=>setParts(null);\n }, [\n url\n ]);\n return vmParts ? /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $bb36c7040b61e80d$export$2e2bcd8739ae039), {\n vmParts: vmParts,\n onFullscreenRequest: onFullscreenRequest,\n setMenuOpen: setMenuOpen,\n singleWindow: singleWindow\n }) : /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $3f6f728901b29270$export$2e2bcd8739ae039), {\n ...status\n });\n}\n\n\n\n\n\n\nvar $121ad78bb5ad2711$export$d90360df408c8ceb;\nvar $121ad78bb5ad2711$export$b1e5508a851be14d;\nvar $121ad78bb5ad2711$export$428e7c787d57587d;\n$121ad78bb5ad2711$export$d90360df408c8ceb = `J9zJZG_appearance`;\n$121ad78bb5ad2711$export$b1e5508a851be14d = `J9zJZG_menu`;\n$121ad78bb5ad2711$export$428e7c787d57587d = `J9zJZG_navigation`;\n\n\nfunction $e1df641eca1adea7$export$2e2bcd8739ae039({ themeEngine: themeEngine, onFullscreenRequest: onFullscreenRequest, menuOpen: menuOpen, setMenuOpen: setMenuOpen }) {\n const dialog = (0, $70db777e8f6135ab$export$b8f5890fc79d6aca)(null);\n (0, $70db777e8f6135ab$export$6d9c69b0de29b591)(()=>{\n const dialogOpen = dialog.current.open;\n if (menuOpen && !dialogOpen) dialog.current.showModal();\n if (!menuOpen && dialogOpen) dialog.current.close();\n }, [\n menuOpen\n ]);\n (0, $70db777e8f6135ab$export$6d9c69b0de29b591)(()=>{\n const currentDialog = dialog.current;\n const closeHandler = ()=>{\n setMenuOpen(false);\n };\n currentDialog.addEventListener(\"close\", closeHandler);\n return ()=>currentDialog.removeEventListener(\"close\", closeHandler);\n }, [\n dialog,\n setMenuOpen\n ]);\n return /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"dialog\", {\n ref: dialog,\n className: $121ad78bb5ad2711$export$b1e5508a851be14d,\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"section\", {\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"button\", {\n tabIndex: 0,\n onClick: ()=>dialog.current.close(),\n children: \"Close this menu\"\n })\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n className: $121ad78bb5ad2711$export$d90360df408c8ceb,\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"button\", {\n onClick: ()=>{\n dialog.current.close();\n onFullscreenRequest();\n },\n children: \"Full screen\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"button\", {\n onClick: ()=>themeEngine.setRandomTheme(),\n children: \"Set a random theme\"\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"label\", {\n children: [\n \"Current theme:\",\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $17b050a6c4860540$export$2e2bcd8739ae039), {\n themeEngine: themeEngine\n })\n ]\n })\n ]\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n className: $121ad78bb5ad2711$export$428e7c787d57587d,\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $43f4290c2e1c8c6c$export$a6c7ac8248d6e38a), {\n href: \"/\",\n tabIndex: 0,\n children: \"ElseIfPlayer\"\n })\n })\n ]\n })\n });\n}\n\n\nconst $5b1dbd57077ad108$var$decode = (encodedUrl)=>decodeURIComponent(encodedUrl);\nfunction $5b1dbd57077ad108$export$2e2bcd8739ae039({ theme: theme, themeEngine: themeEngine, encodedUrl: encodedUrl, singleWindow: singleWindow }) {\n (0, $70db777e8f6135ab$export$6d9c69b0de29b591)(()=>{\n themeEngine.setTheme(theme);\n }, [\n theme,\n themeEngine\n ]);\n const [targetUrl, setTargetUrl] = (0, $70db777e8f6135ab$export$60241385465d0a34)($5b1dbd57077ad108$var$decode(encodedUrl));\n (0, $70db777e8f6135ab$export$6d9c69b0de29b591)(()=>{\n setTargetUrl($5b1dbd57077ad108$var$decode(encodedUrl));\n }, [\n encodedUrl\n ]);\n const [menuOpen, setMenuOpen] = (0, $70db777e8f6135ab$export$60241385465d0a34)(false);\n const onFullscreenRequest = ()=>{\n document.documentElement.requestFullscreen();\n };\n return /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"main\", {\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $e1df641eca1adea7$export$2e2bcd8739ae039), {\n themeEngine: themeEngine,\n onFullscreenRequest: onFullscreenRequest,\n menuOpen: menuOpen,\n setMenuOpen: setMenuOpen\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $f70ed90b8b4541bd$export$2e2bcd8739ae039), {\n url: targetUrl,\n onFullscreenRequest: onFullscreenRequest,\n setMenuOpen: setMenuOpen,\n singleWindow: singleWindow\n })\n ]\n });\n}\n\n\n\n\nfunction $30aba6731c147baf$export$2e2bcd8739ae039() {\n return /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"main\", {\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $3f6f728901b29270$export$2e2bcd8739ae039), {\n stage: \"fail\",\n details: [\n \"404\",\n \"Page Not Found\"\n ]\n })\n });\n}\n\n\nvar $765ad9f902f48a5c$exports = {};\n\n$parcel$export($765ad9f902f48a5c$exports, \"app\", function () { return $765ad9f902f48a5c$export$729c8b7179294ba; }, function (v) { return $765ad9f902f48a5c$export$729c8b7179294ba = v; });\n$parcel$export($765ad9f902f48a5c$exports, \"focus\", function () { return $765ad9f902f48a5c$export$d7ddd398f22d79ef; }, function (v) { return $765ad9f902f48a5c$export$d7ddd398f22d79ef = v; });\n$parcel$export($765ad9f902f48a5c$exports, \"games\", function () { return $765ad9f902f48a5c$export$79863f625c4e57; }, function (v) { return $765ad9f902f48a5c$export$79863f625c4e57 = v; });\n$parcel$export($765ad9f902f48a5c$exports, \"home\", function () { return $765ad9f902f48a5c$export$d12a05a2da93ee73; }, function (v) { return $765ad9f902f48a5c$export$d12a05a2da93ee73 = v; });\n$parcel$export($765ad9f902f48a5c$exports, \"play\", function () { return $765ad9f902f48a5c$export$899fbdb5fa08b653; }, function (v) { return $765ad9f902f48a5c$export$899fbdb5fa08b653 = v; });\n$parcel$export($765ad9f902f48a5c$exports, \"themes\", function () { return $765ad9f902f48a5c$export$d9a33280f07116d9; }, function (v) { return $765ad9f902f48a5c$export$d9a33280f07116d9 = v; });\nvar $765ad9f902f48a5c$export$729c8b7179294ba;\nvar $765ad9f902f48a5c$export$d7ddd398f22d79ef;\nvar $765ad9f902f48a5c$export$79863f625c4e57;\nvar $765ad9f902f48a5c$export$d12a05a2da93ee73;\nvar $765ad9f902f48a5c$export$899fbdb5fa08b653;\nvar $765ad9f902f48a5c$export$d9a33280f07116d9;\n$765ad9f902f48a5c$export$729c8b7179294ba = `X8uEDW_app`;\n$765ad9f902f48a5c$export$d7ddd398f22d79ef = `X8uEDW_focus`;\n$765ad9f902f48a5c$export$79863f625c4e57 = `X8uEDW_games`;\n$765ad9f902f48a5c$export$d12a05a2da93ee73 = `X8uEDW_home`;\n$765ad9f902f48a5c$export$899fbdb5fa08b653 = `X8uEDW_play`;\n$765ad9f902f48a5c$export$d9a33280f07116d9 = `X8uEDW_themes`;\n\n\nfunction $ba9f671985dcb1a6$export$2e2bcd8739ae039() {\n const themeEngine = (0, $31f868e32fe83e3e$export$818080cba8053148)();\n const [currentLocation] = (0, $a43cd3da5e11dd79$export$b37f3f4c9f6562f7)();\n const playerView = (themeEngine, singleWindow)=>function view(params) {\n return /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $5b1dbd57077ad108$export$2e2bcd8739ae039), {\n themeEngine: themeEngine,\n singleWindow: singleWindow,\n ...params\n });\n };\n return /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $43f4290c2e1c8c6c$export$55185c17a0fcbe46), {\n hook: (0, $a43cd3da5e11dd79$export$b37f3f4c9f6562f7),\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)(\"div\", {\n className: [\n $765ad9f902f48a5c$exports.app,\n $765ad9f902f48a5c$exports[(0, $a43cd3da5e11dd79$export$4fac2eeccfa4a8ca)(currentLocation)],\n themeEngine.currentTheme\n ].join(\" \"),\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $43f4290c2e1c8c6c$export$b5d5cf8927ab7262), {\n children: [\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $43f4290c2e1c8c6c$export$e7b0ac011bb776c6), {\n path: \"/\",\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $bf3b722837e02a56$export$2e2bcd8739ae039), {\n themeEngine: themeEngine\n })\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $43f4290c2e1c8c6c$export$e7b0ac011bb776c6), {\n path: \"/games/\",\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $82438f79b880153d$export$2e2bcd8739ae039), {})\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $43f4290c2e1c8c6c$export$e7b0ac011bb776c6), {\n path: \"/themes/\",\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $1d6a41ed2b8e0680$export$2e2bcd8739ae039), {\n themeEngine: themeEngine\n })\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $43f4290c2e1c8c6c$export$e7b0ac011bb776c6), {\n path: \"/play/:encodedUrl\",\n children: playerView(themeEngine, false)\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $43f4290c2e1c8c6c$export$e7b0ac011bb776c6), {\n path: \"/play/:encodedUrl/:theme\",\n children: playerView(themeEngine, false)\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $43f4290c2e1c8c6c$export$e7b0ac011bb776c6), {\n path: \"/focus/:encodedUrl\",\n children: playerView(themeEngine, true)\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $43f4290c2e1c8c6c$export$e7b0ac011bb776c6), {\n path: \"/focus/:encodedUrl/:theme\",\n children: playerView(themeEngine, true)\n }),\n /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $43f4290c2e1c8c6c$export$e7b0ac011bb776c6), {\n children: /*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $30aba6731c147baf$export$2e2bcd8739ae039), {})\n })\n ]\n })\n })\n });\n}\n\n\n(0, $adfd32792a864deb$export$b3890eb0ae9dca99)(/*#__PURE__*/ (0, $80ca9f09fe72d4b7$export$34b9dba7ce09269b)((0, $ba9f671985dcb1a6$export$2e2bcd8739ae039), {}), document.getElementById(\"root\"));\n\n\n//# sourceMappingURL=index.4a5edb74.js.map\n","import { render } from 'preact'\n\nimport '@fontsource/open-sans'\n\nimport './style/base.scss'\nimport './style/controls.scss'\n\nimport App from './App'\n\nrender(, document.getElementById('root'))\n","import{options as r}from\"preact\";export{Fragment}from\"preact\";var _=0;function o(o,e,n,t,f,l){var s,u,a={};for(u in e)\"ref\"==u?s=e[u]:a[u]=e[u];var i={type:o,props:a,key:n,ref:s,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--_,__source:f,__self:l};if(\"function\"==typeof o&&(s=o.defaultProps))for(u in s)void 0===a[u]&&(a[u]=s[u]);return r.vnode&&r.vnode(i),i}export{o as jsx,o as jsxDEV,o as jsxs};\n//# sourceMappingURL=jsxRuntime.module.js.map\n","import { options, Fragment } from 'preact';\n\n/** @typedef {import('preact').VNode} VNode */\n\nlet vnodeId = 0;\n\n/**\n * @fileoverview\n * This file exports various methods that implement Babel's \"automatic\" JSX runtime API:\n * - jsx(type, props, key)\n * - jsxs(type, props, key)\n * - jsxDEV(type, props, key, __source, __self)\n *\n * The implementation of createVNode here is optimized for performance.\n * Benchmarks: https://esbench.com/bench/5f6b54a0b4632100a7dcd2b3\n */\n\n/**\n * JSX.Element factory used by Babel's {runtime:\"automatic\"} JSX transform\n * @param {VNode['type']} type\n * @param {VNode['props']} props\n * @param {VNode['key']} [key]\n * @param {unknown} [isStaticChildren]\n * @param {unknown} [__source]\n * @param {unknown} [__self]\n */\nfunction createVNode(type, props, key, isStaticChildren, __source, __self) {\n\t// We'll want to preserve `ref` in props to get rid of the need for\n\t// forwardRef components in the future, but that should happen via\n\t// a separate PR.\n\tlet normalizedProps = {},\n\t\tref,\n\t\ti;\n\tfor (i in props) {\n\t\tif (i == 'ref') {\n\t\t\tref = props[i];\n\t\t} else {\n\t\t\tnormalizedProps[i] = props[i];\n\t\t}\n\t}\n\n\tconst vnode = {\n\t\ttype,\n\t\tprops: normalizedProps,\n\t\tkey,\n\t\tref,\n\t\t_children: null,\n\t\t_parent: null,\n\t\t_depth: 0,\n\t\t_dom: null,\n\t\t_nextDom: undefined,\n\t\t_component: null,\n\t\t_hydrating: null,\n\t\tconstructor: undefined,\n\t\t_original: --vnodeId,\n\t\t__source,\n\t\t__self\n\t};\n\n\t// If a Component VNode, check for and apply defaultProps.\n\t// Note: `type` is often a String, and can be `undefined` in development.\n\tif (typeof type === 'function' && (ref = type.defaultProps)) {\n\t\tfor (i in ref)\n\t\t\tif (typeof normalizedProps[i] === 'undefined') {\n\t\t\t\tnormalizedProps[i] = ref[i];\n\t\t\t}\n\t}\n\n\tif (options.vnode) options.vnode(vnode);\n\treturn vnode;\n}\n\nexport {\n\tcreateVNode as jsx,\n\tcreateVNode as jsxs,\n\tcreateVNode as jsxDEV,\n\tFragment\n};\n","var n,l,u,i,t,o,r,f,e,c={},s=[],a=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,v=Array.isArray;function h(n,l){for(var u in l)n[u]=l[u];return n}function p(n){var l=n.parentNode;l&&l.removeChild(n)}function y(l,u,i){var t,o,r,f={};for(r in u)\"key\"==r?t=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return d(l,f,t,o,null)}function d(n,i,t,o,r){var f={type:n,props:i,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null==r&&null!=l.vnode&&l.vnode(f),f}function _(){return{current:null}}function k(n){return n.children}function b(n,l){this.props=n,this.context=l}function g(n,l){if(null==l)return n.__?g(n.__,n.__.__k.indexOf(n)+1):null;for(var u;ll&&t.sort(f));x.__r=0}function P(n,l,u,i,t,o,r,f,e,a){var h,p,y,_,b,m,w,x=i&&i.__k||s,P=x.length;for(u.__k=[],h=0;h0?d(_.type,_.props,_.key,_.ref?_.ref:null,_.__v):_)){if(_.__=u,_.__b=u.__b+1,null===(y=x[h])||y&&_.key==y.key&&_.type===y.type)x[h]=void 0;else for(p=0;p=0;l--)if((u=n.__k[l])&&(i=A(u)))return i;return null}function H(n,l,u,i,t){var o;for(o in u)\"children\"===o||\"key\"===o||o in l||T(n,o,null,u[o],i);for(o in l)t&&\"function\"!=typeof l[o]||\"children\"===o||\"key\"===o||\"value\"===o||\"checked\"===o||u[o]===l[o]||T(n,o,l[o],u[o],i)}function I(n,l,u){\"-\"===l[0]?n.setProperty(l,null==u?\"\":u):n[l]=null==u?\"\":\"number\"!=typeof u||a.test(l)?u:u+\"px\"}function T(n,l,u,i,t){var o;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof i&&(n.style.cssText=i=\"\"),i)for(l in i)u&&l in u||I(n.style,l,\"\");if(u)for(l in u)i&&u[l]===i[l]||I(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])o=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?i||n.addEventListener(l,o?z:j,o):n.removeEventListener(l,o?z:j,o);else if(\"dangerouslySetInnerHTML\"!==l){if(t)l=l.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(\"width\"!==l&&\"height\"!==l&&\"href\"!==l&&\"list\"!==l&&\"form\"!==l&&\"tabIndex\"!==l&&\"download\"!==l&&\"rowSpan\"!==l&&\"colSpan\"!==l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null==u||!1===u&&\"-\"!==l[4]?n.removeAttribute(l):n.setAttribute(l,u))}}function j(n){return this.l[n.type+!1](l.event?l.event(n):n)}function z(n){return this.l[n.type+!0](l.event?l.event(n):n)}function L(n,u,i,t,o,r,f,e,c){var s,a,p,y,d,_,g,m,w,x,C,S,$,A,H,I=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,r=[e]),(s=l.__b)&&s(u);try{n:if(\"function\"==typeof I){if(m=u.props,w=(s=I.contextType)&&t[s.__c],x=s?w?w.props.value:s.__:t,i.__c?g=(a=u.__c=i.__c).__=a.__E:(\"prototype\"in I&&I.prototype.render?u.__c=a=new I(m,x):(u.__c=a=new b(m,x),a.constructor=I,a.render=B),w&&w.sub(a),a.props=m,a.state||(a.state={}),a.context=x,a.__n=t,p=a.__d=!0,a.__h=[],a._sb=[]),null==a.__s&&(a.__s=a.state),null!=I.getDerivedStateFromProps&&(a.__s==a.state&&(a.__s=h({},a.__s)),h(a.__s,I.getDerivedStateFromProps(m,a.__s))),y=a.props,d=a.state,a.__v=u,p)null==I.getDerivedStateFromProps&&null!=a.componentWillMount&&a.componentWillMount(),null!=a.componentDidMount&&a.__h.push(a.componentDidMount);else{if(null==I.getDerivedStateFromProps&&m!==y&&null!=a.componentWillReceiveProps&&a.componentWillReceiveProps(m,x),!a.__e&&null!=a.shouldComponentUpdate&&!1===a.shouldComponentUpdate(m,a.__s,x)||u.__v===i.__v){for(u.__v!==i.__v&&(a.props=m,a.state=a.__s,a.__d=!1),a.__e=!1,u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),C=0;C2&&(e.children=arguments.length>3?n.call(arguments,2):i),d(l.type,e,t||l.key,o||l.ref,null)}function G(n,l){var u={__c:l=\"__cC\"+e++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,w(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=s.slice,l={__e:function(n,l,u,i){for(var t,o,r;l=l.__;)if((t=l.__c)&&!t.__)try{if((o=t.constructor)&&null!=o.getDerivedStateFromError&&(t.setState(o.getDerivedStateFromError(n)),r=t.__d),null!=t.componentDidCatch&&(t.componentDidCatch(n,i||{}),r=t.__d),r)return t.__E=t}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},b.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=h({},this.state),\"function\"==typeof n&&(n=n(h({},u),this.props)),n&&h(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),w(this))},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),w(this))},b.prototype.render=k,t=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},x.__r=0,e=0;export{b as Component,k as Fragment,F as cloneElement,G as createContext,y as createElement,_ as createRef,y as h,E as hydrate,i as isValidElement,l as options,D as render,S as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","import { EMPTY_ARR } from './constants';\n\nexport const isArray = Array.isArray;\n\n/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O & P}\n */\nexport function assign(obj, props) {\n\t// @ts-ignore We change the type of `obj` to be `O & P`\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O & P} */ (obj);\n}\n\n/**\n * Remove a child node from its parent if attached. This is a workaround for\n * IE11 which doesn't support `Element.prototype.remove()`. Using this function\n * is smaller than including a dedicated polyfill.\n * @param {Node} node The node to remove\n */\nexport function removeNode(node) {\n\tlet parentNode = node.parentNode;\n\tif (parentNode) parentNode.removeChild(node);\n}\n\nexport const slice = EMPTY_ARR.slice;\n","import { _catchError } from './diff/catch-error';\n\n/**\n * The `option` object can potentially contain callback functions\n * that are called during various stages of our renderer. This is the\n * foundation on which all our addons like `preact/debug`, `preact/compat`,\n * and `preact/hooks` are based on. See the `Options` type in `internal.d.ts`\n * for a full list of available option hooks (most editors/IDEs allow you to\n * ctrl+click or cmd+click on mac the type definition below).\n * @type {import('./internal').Options}\n */\nconst options = {\n\t_catchError\n};\n\nexport default options;\n","import { slice } from './util';\nimport options from './options';\n\nlet vnodeId = 0;\n\n/**\n * Create an virtual node (used for JSX)\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n * constructor for this virtual node\n * @param {object | null | undefined} [props] The properties of the virtual node\n * @param {Array} [children] The children of the virtual node\n * @returns {import('./internal').VNode}\n */\nexport function createElement(type, props, children) {\n\tlet normalizedProps = {},\n\t\tkey,\n\t\tref,\n\t\ti;\n\tfor (i in props) {\n\t\tif (i == 'key') key = props[i];\n\t\telse if (i == 'ref') ref = props[i];\n\t\telse normalizedProps[i] = props[i];\n\t}\n\n\tif (arguments.length > 2) {\n\t\tnormalizedProps.children =\n\t\t\targuments.length > 3 ? slice.call(arguments, 2) : children;\n\t}\n\n\t// If a Component VNode, check for and apply defaultProps\n\t// Note: type may be undefined in development, must never error here.\n\tif (typeof type == 'function' && type.defaultProps != null) {\n\t\tfor (i in type.defaultProps) {\n\t\t\tif (normalizedProps[i] === undefined) {\n\t\t\t\tnormalizedProps[i] = type.defaultProps[i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn createVNode(type, normalizedProps, key, ref, null);\n}\n\n/**\n * Create a VNode (used internally by Preact)\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n * Constructor for this virtual node\n * @param {object | string | number | null} props The properties of this virtual node.\n * If this virtual node represents a text node, this is the text of the node (string or number).\n * @param {string | number | null} key The key for this virtual node, used when\n * diffing it against its children\n * @param {import('./internal').VNode[\"ref\"]} ref The ref property that will\n * receive a reference to its created child\n * @returns {import('./internal').VNode}\n */\nexport function createVNode(type, props, key, ref, original) {\n\t// V8 seems to be better at detecting type shapes if the object is allocated from the same call site\n\t// Do not inline into createElement and coerceToVNode!\n\tconst vnode = {\n\t\ttype,\n\t\tprops,\n\t\tkey,\n\t\tref,\n\t\t_children: null,\n\t\t_parent: null,\n\t\t_depth: 0,\n\t\t_dom: null,\n\t\t// _nextDom must be initialized to undefined b/c it will eventually\n\t\t// be set to dom.nextSibling which can return `null` and it is important\n\t\t// to be able to distinguish between an uninitialized _nextDom and\n\t\t// a _nextDom that has been set to `null`\n\t\t_nextDom: undefined,\n\t\t_component: null,\n\t\t_hydrating: null,\n\t\tconstructor: undefined,\n\t\t_original: original == null ? ++vnodeId : original\n\t};\n\n\t// Only invoke the vnode hook if this was *not* a direct copy:\n\tif (original == null && options.vnode != null) options.vnode(vnode);\n\n\treturn vnode;\n}\n\nexport function createRef() {\n\treturn { current: null };\n}\n\nexport function Fragment(props) {\n\treturn props.children;\n}\n\n/**\n * Check if a the argument is a valid Preact VNode.\n * @param {*} vnode\n * @returns {vnode is import('./internal').VNode}\n */\nexport const isValidElement = vnode =>\n\tvnode != null && vnode.constructor === undefined;\n","import { assign } from './util';\nimport { diff, commitRoot } from './diff/index';\nimport options from './options';\nimport { Fragment } from './create-element';\n\n/**\n * Base Component class. Provides `setState()` and `forceUpdate()`, which\n * trigger rendering\n * @param {object} props The initial component props\n * @param {object} context The initial context from parent components'\n * getChildContext\n */\nexport function Component(props, context) {\n\tthis.props = props;\n\tthis.context = context;\n}\n\n/**\n * Update component state and schedule a re-render.\n * @this {import('./internal').Component}\n * @param {object | ((s: object, p: object) => object)} update A hash of state\n * properties to update with new values or a function that given the current\n * state and props returns a new partial state\n * @param {() => void} [callback] A function to be called once component state is\n * updated\n */\nComponent.prototype.setState = function (update, callback) {\n\t// only clone state when copying to nextState the first time.\n\tlet s;\n\tif (this._nextState != null && this._nextState !== this.state) {\n\t\ts = this._nextState;\n\t} else {\n\t\ts = this._nextState = assign({}, this.state);\n\t}\n\n\tif (typeof update == 'function') {\n\t\t// Some libraries like `immer` mark the current state as readonly,\n\t\t// preventing us from mutating it, so we need to clone it. See #2716\n\t\tupdate = update(assign({}, s), this.props);\n\t}\n\n\tif (update) {\n\t\tassign(s, update);\n\t}\n\n\t// Skip update if updater function returned null\n\tif (update == null) return;\n\n\tif (this._vnode) {\n\t\tif (callback) {\n\t\t\tthis._stateCallbacks.push(callback);\n\t\t}\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Immediately perform a synchronous re-render of the component\n * @this {import('./internal').Component}\n * @param {() => void} [callback] A function to be called after component is\n * re-rendered\n */\nComponent.prototype.forceUpdate = function (callback) {\n\tif (this._vnode) {\n\t\t// Set render mode so that we can differentiate where the render request\n\t\t// is coming from. We need this because forceUpdate should never call\n\t\t// shouldComponentUpdate\n\t\tthis._force = true;\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Accepts `props` and `state`, and returns a new Virtual DOM tree to build.\n * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx).\n * @param {object} props Props (eg: JSX attributes) received from parent\n * element/component\n * @param {object} state The component's current state\n * @param {object} context Context object, as returned by the nearest\n * ancestor's `getChildContext()`\n * @returns {import('./index').ComponentChildren | void}\n */\nComponent.prototype.render = Fragment;\n\n/**\n * @param {import('./internal').VNode} vnode\n * @param {number | null} [childIndex]\n */\nexport function getDomSibling(vnode, childIndex) {\n\tif (childIndex == null) {\n\t\t// Use childIndex==null as a signal to resume the search from the vnode's sibling\n\t\treturn vnode._parent\n\t\t\t? getDomSibling(vnode._parent, vnode._parent._children.indexOf(vnode) + 1)\n\t\t\t: null;\n\t}\n\n\tlet sibling;\n\tfor (; childIndex < vnode._children.length; childIndex++) {\n\t\tsibling = vnode._children[childIndex];\n\n\t\tif (sibling != null && sibling._dom != null) {\n\t\t\t// Since updateParentDomPointers keeps _dom pointer correct,\n\t\t\t// we can rely on _dom to tell us if this subtree contains a\n\t\t\t// rendered DOM node, and what the first rendered DOM node is\n\t\t\treturn sibling._dom;\n\t\t}\n\t}\n\n\t// If we get here, we have not found a DOM node in this vnode's children.\n\t// We must resume from this vnode's sibling (in it's parent _children array)\n\t// Only climb up and search the parent if we aren't searching through a DOM\n\t// VNode (meaning we reached the DOM parent of the original vnode that began\n\t// the search)\n\treturn typeof vnode.type == 'function' ? getDomSibling(vnode) : null;\n}\n\n/**\n * Trigger in-place re-rendering of a component.\n * @param {import('./internal').Component} component The component to rerender\n */\nfunction renderComponent(component) {\n\tlet vnode = component._vnode,\n\t\toldDom = vnode._dom,\n\t\tparentDom = component._parentDom;\n\n\tif (parentDom) {\n\t\tlet commitQueue = [];\n\t\tconst oldVNode = assign({}, vnode);\n\t\toldVNode._original = vnode._original + 1;\n\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tvnode,\n\t\t\toldVNode,\n\t\t\tcomponent._globalContext,\n\t\t\tparentDom.ownerSVGElement !== undefined,\n\t\t\tvnode._hydrating != null ? [oldDom] : null,\n\t\t\tcommitQueue,\n\t\t\toldDom == null ? getDomSibling(vnode) : oldDom,\n\t\t\tvnode._hydrating\n\t\t);\n\t\tcommitRoot(commitQueue, vnode);\n\n\t\tif (vnode._dom != oldDom) {\n\t\t\tupdateParentDomPointers(vnode);\n\t\t}\n\t}\n}\n\n/**\n * @param {import('./internal').VNode} vnode\n */\nfunction updateParentDomPointers(vnode) {\n\tif ((vnode = vnode._parent) != null && vnode._component != null) {\n\t\tvnode._dom = vnode._component.base = null;\n\t\tfor (let i = 0; i < vnode._children.length; i++) {\n\t\t\tlet child = vnode._children[i];\n\t\t\tif (child != null && child._dom != null) {\n\t\t\t\tvnode._dom = vnode._component.base = child._dom;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn updateParentDomPointers(vnode);\n\t}\n}\n\n/**\n * The render queue\n * @type {Array}\n */\nlet rerenderQueue = [];\n\n/*\n * The value of `Component.debounce` must asynchronously invoke the passed in callback. It is\n * important that contributors to Preact can consistently reason about what calls to `setState`, etc.\n * do, and when their effects will be applied. See the links below for some further reading on designing\n * asynchronous APIs.\n * * [Designing APIs for Asynchrony](https://blog.izs.me/2013/08/designing-apis-for-asynchrony)\n * * [Callbacks synchronous and asynchronous](https://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/)\n */\n\nlet prevDebounce;\n\nconst defer =\n\ttypeof Promise == 'function'\n\t\t? Promise.prototype.then.bind(Promise.resolve())\n\t\t: setTimeout;\n\n/**\n * Enqueue a rerender of a component\n * @param {import('./internal').Component} c The component to rerender\n */\nexport function enqueueRender(c) {\n\tif (\n\t\t(!c._dirty &&\n\t\t\t(c._dirty = true) &&\n\t\t\trerenderQueue.push(c) &&\n\t\t\t!process._rerenderCount++) ||\n\t\tprevDebounce !== options.debounceRendering\n\t) {\n\t\tprevDebounce = options.debounceRendering;\n\t\t(prevDebounce || defer)(process);\n\t}\n}\n\n/**\n * @param {import('./internal').Component} a\n * @param {import('./internal').Component} b\n */\nconst depthSort = (a, b) => a._vnode._depth - b._vnode._depth;\n\n/** Flush the render queue by rerendering all queued components */\nfunction process() {\n\tlet c;\n\trerenderQueue.sort(depthSort);\n\t// Don't update `renderCount` yet. Keep its value non-zero to prevent unnecessary\n\t// process() calls from getting scheduled while `queue` is still being consumed.\n\twhile ((c = rerenderQueue.shift())) {\n\t\tif (c._dirty) {\n\t\t\tlet renderQueueLength = rerenderQueue.length;\n\t\t\trenderComponent(c);\n\t\t\tif (rerenderQueue.length > renderQueueLength) {\n\t\t\t\t// When i.e. rerendering a provider additional new items can be injected, we want to\n\t\t\t\t// keep the order from top to bottom with those new items so we can handle them in a\n\t\t\t\t// single pass\n\t\t\t\trerenderQueue.sort(depthSort);\n\t\t\t}\n\t\t}\n\t}\n\tprocess._rerenderCount = 0;\n}\n\nprocess._rerenderCount = 0;\n","import { enqueueRender } from './component';\n\nexport let i = 0;\n\nexport function createContext(defaultValue, contextId) {\n\tcontextId = '__cC' + i++;\n\n\tconst context = {\n\t\t_id: contextId,\n\t\t_defaultValue: defaultValue,\n\t\t/** @type {import('./internal').FunctionComponent} */\n\t\tConsumer(props, contextValue) {\n\t\t\t// return props.children(\n\t\t\t// \tcontext[contextId] ? context[contextId].props.value : defaultValue\n\t\t\t// );\n\t\t\treturn props.children(contextValue);\n\t\t},\n\t\t/** @type {import('./internal').FunctionComponent} */\n\t\tProvider(props) {\n\t\t\tif (!this.getChildContext) {\n\t\t\t\t/** @type {import('./internal').Component[]} */\n\t\t\t\tlet subs = [];\n\t\t\t\tlet ctx = {};\n\t\t\t\tctx[contextId] = this;\n\n\t\t\t\tthis.getChildContext = () => ctx;\n\n\t\t\t\tthis.shouldComponentUpdate = function (_props) {\n\t\t\t\t\tif (this.props.value !== _props.value) {\n\t\t\t\t\t\t// I think the forced value propagation here was only needed when `options.debounceRendering` was being bypassed:\n\t\t\t\t\t\t// https://github.com/preactjs/preact/commit/4d339fb803bea09e9f198abf38ca1bf8ea4b7771#diff-54682ce380935a717e41b8bfc54737f6R358\n\t\t\t\t\t\t// In those cases though, even with the value corrected, we're double-rendering all nodes.\n\t\t\t\t\t\t// It might be better to just tell folks not to use force-sync mode.\n\t\t\t\t\t\t// Currently, using `useContext()` in a class component will overwrite its `this.context` value.\n\t\t\t\t\t\t// subs.some(c => {\n\t\t\t\t\t\t// \tc.context = _props.value;\n\t\t\t\t\t\t// \tenqueueRender(c);\n\t\t\t\t\t\t// });\n\n\t\t\t\t\t\t// subs.some(c => {\n\t\t\t\t\t\t// \tc.context[contextId] = _props.value;\n\t\t\t\t\t\t// \tenqueueRender(c);\n\t\t\t\t\t\t// });\n\t\t\t\t\t\tsubs.some(c => {\n\t\t\t\t\t\t\tc._force = true;\n\t\t\t\t\t\t\tenqueueRender(c);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tthis.sub = c => {\n\t\t\t\t\tsubs.push(c);\n\t\t\t\t\tlet old = c.componentWillUnmount;\n\t\t\t\t\tc.componentWillUnmount = () => {\n\t\t\t\t\t\tsubs.splice(subs.indexOf(c), 1);\n\t\t\t\t\t\tif (old) old.call(c);\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn props.children;\n\t\t}\n\t};\n\n\t// Devtools needs access to the context object when it\n\t// encounters a Provider. This is necessary to support\n\t// setting `displayName` on the context object instead\n\t// of on the component itself. See:\n\t// https://reactjs.org/docs/context.html#contextdisplayname\n\n\treturn (context.Provider._contextRef = context.Consumer.contextType =\n\t\tcontext);\n}\n","export const EMPTY_OBJ = {};\nexport const EMPTY_ARR = [];\nexport const IS_NON_DIMENSIONAL =\n\t/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;\n","import { diff, unmount, applyRef } from './index';\nimport { createVNode, Fragment } from '../create-element';\nimport { EMPTY_OBJ, EMPTY_ARR } from '../constants';\nimport { getDomSibling } from '../component';\nimport { isArray } from '../util';\n\n/**\n * Diff the children of a virtual node\n * @param {import('../internal').PreactElement} parentDom The DOM element whose\n * children are being diffed\n * @param {import('../internal').ComponentChildren[]} renderResult\n * @param {import('../internal').VNode} newParentVNode The new virtual\n * node whose children should be diff'ed against oldParentVNode\n * @param {import('../internal').VNode} oldParentVNode The old virtual\n * node whose children should be diff'ed against newParentVNode\n * @param {object} globalContext The current context object - modified by getChildContext\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').PreactElement} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n */\nexport function diffChildren(\n\tparentDom,\n\trenderResult,\n\tnewParentVNode,\n\toldParentVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating\n) {\n\tlet i, j, oldVNode, childVNode, newDom, firstChildDom, refs;\n\n\t// This is a compression of oldParentVNode!=null && oldParentVNode != EMPTY_OBJ && oldParentVNode._children || EMPTY_ARR\n\t// as EMPTY_OBJ._children should be `undefined`.\n\tlet oldChildren = (oldParentVNode && oldParentVNode._children) || EMPTY_ARR;\n\n\tlet oldChildrenLength = oldChildren.length;\n\n\tnewParentVNode._children = [];\n\tfor (i = 0; i < renderResult.length; i++) {\n\t\tchildVNode = renderResult[i];\n\n\t\tif (\n\t\t\tchildVNode == null ||\n\t\t\ttypeof childVNode == 'boolean' ||\n\t\t\ttypeof childVNode == 'function'\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = null;\n\t\t}\n\t\t// If this newVNode is being reused (e.g.

    ) in the same diff,\n\t\t// or we are rendering a component (e.g. setState) copy the oldVNodes so it can have\n\t\t// it's own DOM & etc. pointers\n\t\telse if (\n\t\t\ttypeof childVNode == 'string' ||\n\t\t\ttypeof childVNode == 'number' ||\n\t\t\t// eslint-disable-next-line valid-typeof\n\t\t\ttypeof childVNode == 'bigint'\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tnull,\n\t\t\t\tchildVNode,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tchildVNode\n\t\t\t);\n\t\t} else if (isArray(childVNode)) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tFragment,\n\t\t\t\t{ children: childVNode },\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if (childVNode._depth > 0) {\n\t\t\t// VNode is already in use, clone it. This can happen in the following\n\t\t\t// scenario:\n\t\t\t// const reuse =
    \n\t\t\t//
    {reuse}{reuse}
    \n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tchildVNode.type,\n\t\t\t\tchildVNode.props,\n\t\t\t\tchildVNode.key,\n\t\t\t\tchildVNode.ref ? childVNode.ref : null,\n\t\t\t\tchildVNode._original\n\t\t\t);\n\t\t} else {\n\t\t\tchildVNode = newParentVNode._children[i] = childVNode;\n\t\t}\n\n\t\t// Terser removes the `continue` here and wraps the loop body\n\t\t// in a `if (childVNode) { ... } condition\n\t\tif (childVNode == null) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tchildVNode._parent = newParentVNode;\n\t\tchildVNode._depth = newParentVNode._depth + 1;\n\n\t\t// Check if we find a corresponding element in oldChildren.\n\t\t// If found, delete the array item by setting to `undefined`.\n\t\t// We use `undefined`, as `null` is reserved for empty placeholders\n\t\t// (holes).\n\t\toldVNode = oldChildren[i];\n\n\t\tif (\n\t\t\toldVNode === null ||\n\t\t\t(oldVNode &&\n\t\t\t\tchildVNode.key == oldVNode.key &&\n\t\t\t\tchildVNode.type === oldVNode.type)\n\t\t) {\n\t\t\toldChildren[i] = undefined;\n\t\t} else {\n\t\t\t// Either oldVNode === undefined or oldChildrenLength > 0,\n\t\t\t// so after this loop oldVNode == null or oldVNode is a valid value.\n\t\t\tfor (j = 0; j < oldChildrenLength; j++) {\n\t\t\t\toldVNode = oldChildren[j];\n\t\t\t\t// If childVNode is unkeyed, we only match similarly unkeyed nodes, otherwise we match by key.\n\t\t\t\t// We always match by type (in either case).\n\t\t\t\tif (\n\t\t\t\t\toldVNode &&\n\t\t\t\t\tchildVNode.key == oldVNode.key &&\n\t\t\t\t\tchildVNode.type === oldVNode.type\n\t\t\t\t) {\n\t\t\t\t\toldChildren[j] = undefined;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\toldVNode = null;\n\t\t\t}\n\t\t}\n\n\t\toldVNode = oldVNode || EMPTY_OBJ;\n\n\t\t// Morph the old element into the new one, but don't append it to the dom yet\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tchildVNode,\n\t\t\toldVNode,\n\t\t\tglobalContext,\n\t\t\tisSvg,\n\t\t\texcessDomChildren,\n\t\t\tcommitQueue,\n\t\t\toldDom,\n\t\t\tisHydrating\n\t\t);\n\n\t\tnewDom = childVNode._dom;\n\n\t\tif ((j = childVNode.ref) && oldVNode.ref != j) {\n\t\t\tif (!refs) refs = [];\n\t\t\tif (oldVNode.ref) refs.push(oldVNode.ref, null, childVNode);\n\t\t\trefs.push(j, childVNode._component || newDom, childVNode);\n\t\t}\n\n\t\tif (newDom != null) {\n\t\t\tif (firstChildDom == null) {\n\t\t\t\tfirstChildDom = newDom;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\ttypeof childVNode.type == 'function' &&\n\t\t\t\tchildVNode._children === oldVNode._children\n\t\t\t) {\n\t\t\t\tchildVNode._nextDom = oldDom = reorderChildren(\n\t\t\t\t\tchildVNode,\n\t\t\t\t\toldDom,\n\t\t\t\t\tparentDom\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\toldDom = placeChild(\n\t\t\t\t\tparentDom,\n\t\t\t\t\tchildVNode,\n\t\t\t\t\toldVNode,\n\t\t\t\t\toldChildren,\n\t\t\t\t\tnewDom,\n\t\t\t\t\toldDom\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (typeof newParentVNode.type == 'function') {\n\t\t\t\t// Because the newParentVNode is Fragment-like, we need to set it's\n\t\t\t\t// _nextDom property to the nextSibling of its last child DOM node.\n\t\t\t\t//\n\t\t\t\t// `oldDom` contains the correct value here because if the last child\n\t\t\t\t// is a Fragment-like, then oldDom has already been set to that child's _nextDom.\n\t\t\t\t// If the last child is a DOM VNode, then oldDom will be set to that DOM\n\t\t\t\t// node's nextSibling.\n\t\t\t\tnewParentVNode._nextDom = oldDom;\n\t\t\t}\n\t\t} else if (\n\t\t\toldDom &&\n\t\t\toldVNode._dom == oldDom &&\n\t\t\toldDom.parentNode != parentDom\n\t\t) {\n\t\t\t// The above condition is to handle null placeholders. See test in placeholder.test.js:\n\t\t\t// `efficiently replace null placeholders in parent rerenders`\n\t\t\toldDom = getDomSibling(oldVNode);\n\t\t}\n\t}\n\n\tnewParentVNode._dom = firstChildDom;\n\n\t// Remove remaining oldChildren if there are any.\n\tfor (i = oldChildrenLength; i--; ) {\n\t\tif (oldChildren[i] != null) {\n\t\t\tif (\n\t\t\t\ttypeof newParentVNode.type == 'function' &&\n\t\t\t\toldChildren[i]._dom != null &&\n\t\t\t\toldChildren[i]._dom == newParentVNode._nextDom\n\t\t\t) {\n\t\t\t\t// If the newParentVNode.__nextDom points to a dom node that is about to\n\t\t\t\t// be unmounted, then get the next sibling of that vnode and set\n\t\t\t\t// _nextDom to it\n\t\t\t\tnewParentVNode._nextDom = getLastDom(oldParentVNode).nextSibling;\n\t\t\t}\n\n\t\t\tunmount(oldChildren[i], oldChildren[i]);\n\t\t}\n\t}\n\n\t// Set refs only after unmount\n\tif (refs) {\n\t\tfor (i = 0; i < refs.length; i++) {\n\t\t\tapplyRef(refs[i], refs[++i], refs[++i]);\n\t\t}\n\t}\n}\n\nfunction reorderChildren(childVNode, oldDom, parentDom) {\n\t// Note: VNodes in nested suspended trees may be missing _children.\n\tlet c = childVNode._children;\n\tlet tmp = 0;\n\tfor (; c && tmp < c.length; tmp++) {\n\t\tlet vnode = c[tmp];\n\t\tif (vnode) {\n\t\t\t// We typically enter this code path on sCU bailout, where we copy\n\t\t\t// oldVNode._children to newVNode._children. If that is the case, we need\n\t\t\t// to update the old children's _parent pointer to point to the newVNode\n\t\t\t// (childVNode here).\n\t\t\tvnode._parent = childVNode;\n\n\t\t\tif (typeof vnode.type == 'function') {\n\t\t\t\toldDom = reorderChildren(vnode, oldDom, parentDom);\n\t\t\t} else {\n\t\t\t\toldDom = placeChild(parentDom, vnode, vnode, c, vnode._dom, oldDom);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn oldDom;\n}\n\n/**\n * Flatten and loop through the children of a virtual node\n * @param {import('../index').ComponentChildren} children The unflattened\n * children of a virtual node\n * @returns {import('../internal').VNode[]}\n */\nexport function toChildArray(children, out) {\n\tout = out || [];\n\tif (children == null || typeof children == 'boolean') {\n\t} else if (isArray(children)) {\n\t\tchildren.some(child => {\n\t\t\ttoChildArray(child, out);\n\t\t});\n\t} else {\n\t\tout.push(children);\n\t}\n\treturn out;\n}\n\nfunction placeChild(\n\tparentDom,\n\tchildVNode,\n\toldVNode,\n\toldChildren,\n\tnewDom,\n\toldDom\n) {\n\tlet nextDom;\n\tif (childVNode._nextDom !== undefined) {\n\t\t// Only Fragments or components that return Fragment like VNodes will\n\t\t// have a non-undefined _nextDom. Continue the diff from the sibling\n\t\t// of last DOM child of this child VNode\n\t\tnextDom = childVNode._nextDom;\n\n\t\t// Eagerly cleanup _nextDom. We don't need to persist the value because\n\t\t// it is only used by `diffChildren` to determine where to resume the diff after\n\t\t// diffing Components and Fragments. Once we store it the nextDOM local var, we\n\t\t// can clean up the property\n\t\tchildVNode._nextDom = undefined;\n\t} else if (\n\t\toldVNode == null ||\n\t\tnewDom != oldDom ||\n\t\tnewDom.parentNode == null\n\t) {\n\t\touter: if (oldDom == null || oldDom.parentNode !== parentDom) {\n\t\t\tparentDom.appendChild(newDom);\n\t\t\tnextDom = null;\n\t\t} else {\n\t\t\t// `j= 0; i--) {\n\t\t\tlet child = vnode._children[i];\n\t\t\tif (child) {\n\t\t\t\tlet lastDom = getLastDom(child);\n\t\t\t\tif (lastDom) {\n\t\t\t\t\treturn lastDom;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn null;\n}\n","import { IS_NON_DIMENSIONAL } from '../constants';\nimport options from '../options';\n\n/**\n * Diff the old and new properties of a VNode and apply changes to the DOM node\n * @param {import('../internal').PreactElement} dom The DOM node to apply\n * changes to\n * @param {object} newProps The new props\n * @param {object} oldProps The old props\n * @param {boolean} isSvg Whether or not this node is an SVG node\n * @param {boolean} hydrate Whether or not we are in hydration mode\n */\nexport function diffProps(dom, newProps, oldProps, isSvg, hydrate) {\n\tlet i;\n\n\tfor (i in oldProps) {\n\t\tif (i !== 'children' && i !== 'key' && !(i in newProps)) {\n\t\t\tsetProperty(dom, i, null, oldProps[i], isSvg);\n\t\t}\n\t}\n\n\tfor (i in newProps) {\n\t\tif (\n\t\t\t(!hydrate || typeof newProps[i] == 'function') &&\n\t\t\ti !== 'children' &&\n\t\t\ti !== 'key' &&\n\t\t\ti !== 'value' &&\n\t\t\ti !== 'checked' &&\n\t\t\toldProps[i] !== newProps[i]\n\t\t) {\n\t\t\tsetProperty(dom, i, newProps[i], oldProps[i], isSvg);\n\t\t}\n\t}\n}\n\nfunction setStyle(style, key, value) {\n\tif (key[0] === '-') {\n\t\tstyle.setProperty(key, value == null ? '' : value);\n\t} else if (value == null) {\n\t\tstyle[key] = '';\n\t} else if (typeof value != 'number' || IS_NON_DIMENSIONAL.test(key)) {\n\t\tstyle[key] = value;\n\t} else {\n\t\tstyle[key] = value + 'px';\n\t}\n}\n\n/**\n * Set a property value on a DOM node\n * @param {import('../internal').PreactElement} dom The DOM node to modify\n * @param {string} name The name of the property to set\n * @param {*} value The value to set the property to\n * @param {*} oldValue The old value the property had\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node or not\n */\nexport function setProperty(dom, name, value, oldValue, isSvg) {\n\tlet useCapture;\n\n\to: if (name === 'style') {\n\t\tif (typeof value == 'string') {\n\t\t\tdom.style.cssText = value;\n\t\t} else {\n\t\t\tif (typeof oldValue == 'string') {\n\t\t\t\tdom.style.cssText = oldValue = '';\n\t\t\t}\n\n\t\t\tif (oldValue) {\n\t\t\t\tfor (name in oldValue) {\n\t\t\t\t\tif (!(value && name in value)) {\n\t\t\t\t\t\tsetStyle(dom.style, name, '');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (value) {\n\t\t\t\tfor (name in value) {\n\t\t\t\t\tif (!oldValue || value[name] !== oldValue[name]) {\n\t\t\t\t\t\tsetStyle(dom.style, name, value[name]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n\telse if (name[0] === 'o' && name[1] === 'n') {\n\t\tuseCapture = name !== (name = name.replace(/Capture$/, ''));\n\n\t\t// Infer correct casing for DOM built-in events:\n\t\tif (name.toLowerCase() in dom) name = name.toLowerCase().slice(2);\n\t\telse name = name.slice(2);\n\n\t\tif (!dom._listeners) dom._listeners = {};\n\t\tdom._listeners[name + useCapture] = value;\n\n\t\tif (value) {\n\t\t\tif (!oldValue) {\n\t\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\t\tdom.addEventListener(name, handler, useCapture);\n\t\t\t}\n\t\t} else {\n\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\tdom.removeEventListener(name, handler, useCapture);\n\t\t}\n\t} else if (name !== 'dangerouslySetInnerHTML') {\n\t\tif (isSvg) {\n\t\t\t// Normalize incorrect prop usage for SVG:\n\t\t\t// - xlink:href / xlinkHref --> href (xlink:href was removed from SVG and isn't needed)\n\t\t\t// - className --> class\n\t\t\tname = name.replace(/xlink(H|:h)/, 'h').replace(/sName$/, 's');\n\t\t} else if (\n\t\t\tname !== 'width' &&\n\t\t\tname !== 'height' &&\n\t\t\tname !== 'href' &&\n\t\t\tname !== 'list' &&\n\t\t\tname !== 'form' &&\n\t\t\t// Default value in browsers is `-1` and an empty string is\n\t\t\t// cast to `0` instead\n\t\t\tname !== 'tabIndex' &&\n\t\t\tname !== 'download' &&\n\t\t\tname !== 'rowSpan' &&\n\t\t\tname !== 'colSpan' &&\n\t\t\tname in dom\n\t\t) {\n\t\t\ttry {\n\t\t\t\tdom[name] = value == null ? '' : value;\n\t\t\t\t// labelled break is 1b smaller here than a return statement (sorry)\n\t\t\t\tbreak o;\n\t\t\t} catch (e) {}\n\t\t}\n\n\t\t// aria- and data- attributes have no boolean representation.\n\t\t// A `false` value is different from the attribute not being\n\t\t// present, so we can't remove it. For non-boolean aria\n\t\t// attributes we could treat false as a removal, but the\n\t\t// amount of exceptions would cost too many bytes. On top of\n\t\t// that other frameworks generally stringify `false`.\n\n\t\tif (typeof value === 'function') {\n\t\t\t// never serialize functions as attribute values\n\t\t} else if (value != null && (value !== false || name[4] === '-')) {\n\t\t\tdom.setAttribute(name, value);\n\t\t} else {\n\t\t\tdom.removeAttribute(name);\n\t\t}\n\t}\n}\n\n/**\n * Proxy an event to hooked event handlers\n * @param {Event} e The event object from the browser\n * @private\n */\nfunction eventProxy(e) {\n\treturn this._listeners[e.type + false](options.event ? options.event(e) : e);\n}\n\nfunction eventProxyCapture(e) {\n\treturn this._listeners[e.type + true](options.event ? options.event(e) : e);\n}\n","import { EMPTY_OBJ } from '../constants';\nimport { Component, getDomSibling } from '../component';\nimport { Fragment } from '../create-element';\nimport { diffChildren } from './children';\nimport { diffProps, setProperty } from './props';\nimport { assign, isArray, removeNode, slice } from '../util';\nimport options from '../options';\n\n/**\n * Diff two virtual nodes and apply proper changes to the DOM\n * @param {import('../internal').PreactElement} parentDom The parent of the DOM element\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object. Modified by getChildContext\n * @param {boolean} isSvg Whether or not this element is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').PreactElement} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} [isHydrating] Whether or not we are in hydration\n */\nexport function diff(\n\tparentDom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating\n) {\n\tlet tmp,\n\t\tnewType = newVNode.type;\n\n\t// When passing through createElement it assigns the object\n\t// constructor as undefined. This to prevent JSON-injection.\n\tif (newVNode.constructor !== undefined) return null;\n\n\t// If the previous diff bailed out, resume creating/hydrating.\n\tif (oldVNode._hydrating != null) {\n\t\tisHydrating = oldVNode._hydrating;\n\t\toldDom = newVNode._dom = oldVNode._dom;\n\t\t// if we resume, we want the tree to be \"unlocked\"\n\t\tnewVNode._hydrating = null;\n\t\texcessDomChildren = [oldDom];\n\t}\n\n\tif ((tmp = options._diff)) tmp(newVNode);\n\n\ttry {\n\t\touter: if (typeof newType == 'function') {\n\t\t\tlet c, isNew, oldProps, oldState, snapshot, clearProcessingException;\n\t\t\tlet newProps = newVNode.props;\n\n\t\t\t// Necessary for createContext api. Setting this property will pass\n\t\t\t// the context value as `this.context` just for this component.\n\t\t\ttmp = newType.contextType;\n\t\t\tlet provider = tmp && globalContext[tmp._id];\n\t\t\tlet componentContext = tmp\n\t\t\t\t? provider\n\t\t\t\t\t? provider.props.value\n\t\t\t\t\t: tmp._defaultValue\n\t\t\t\t: globalContext;\n\n\t\t\t// Get component and set it to `c`\n\t\t\tif (oldVNode._component) {\n\t\t\t\tc = newVNode._component = oldVNode._component;\n\t\t\t\tclearProcessingException = c._processingException = c._pendingError;\n\t\t\t} else {\n\t\t\t\t// Instantiate the new component\n\t\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\t\t// @ts-ignore The check above verifies that newType is suppose to be constructed\n\t\t\t\t\tnewVNode._component = c = new newType(newProps, componentContext); // eslint-disable-line new-cap\n\t\t\t\t} else {\n\t\t\t\t\t// @ts-ignore Trust me, Component implements the interface we want\n\t\t\t\t\tnewVNode._component = c = new Component(newProps, componentContext);\n\t\t\t\t\tc.constructor = newType;\n\t\t\t\t\tc.render = doRender;\n\t\t\t\t}\n\t\t\t\tif (provider) provider.sub(c);\n\n\t\t\t\tc.props = newProps;\n\t\t\t\tif (!c.state) c.state = {};\n\t\t\t\tc.context = componentContext;\n\t\t\t\tc._globalContext = globalContext;\n\t\t\t\tisNew = c._dirty = true;\n\t\t\t\tc._renderCallbacks = [];\n\t\t\t\tc._stateCallbacks = [];\n\t\t\t}\n\n\t\t\t// Invoke getDerivedStateFromProps\n\t\t\tif (c._nextState == null) {\n\t\t\t\tc._nextState = c.state;\n\t\t\t}\n\n\t\t\tif (newType.getDerivedStateFromProps != null) {\n\t\t\t\tif (c._nextState == c.state) {\n\t\t\t\t\tc._nextState = assign({}, c._nextState);\n\t\t\t\t}\n\n\t\t\t\tassign(\n\t\t\t\t\tc._nextState,\n\t\t\t\t\tnewType.getDerivedStateFromProps(newProps, c._nextState)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\toldProps = c.props;\n\t\t\toldState = c.state;\n\t\t\tc._vnode = newVNode;\n\n\t\t\t// Invoke pre-render lifecycle methods\n\t\t\tif (isNew) {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tc.componentWillMount != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillMount();\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidMount != null) {\n\t\t\t\t\tc._renderCallbacks.push(c.componentDidMount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tnewProps !== oldProps &&\n\t\t\t\t\tc.componentWillReceiveProps != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillReceiveProps(newProps, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(!c._force &&\n\t\t\t\t\t\tc.shouldComponentUpdate != null &&\n\t\t\t\t\t\tc.shouldComponentUpdate(\n\t\t\t\t\t\t\tnewProps,\n\t\t\t\t\t\t\tc._nextState,\n\t\t\t\t\t\t\tcomponentContext\n\t\t\t\t\t\t) === false) ||\n\t\t\t\t\tnewVNode._original === oldVNode._original\n\t\t\t\t) {\n\t\t\t\t\t// More info about this here: https://gist.github.com/JoviDeCroock/bec5f2ce93544d2e6070ef8e0036e4e8\n\t\t\t\t\tif (newVNode._original !== oldVNode._original) {\n\t\t\t\t\t\t// When we are dealing with a bail because of sCU we have to update\n\t\t\t\t\t\t// the props, state and dirty-state.\n\t\t\t\t\t\t// when we are dealing with strict-equality we don't as the child could still\n\t\t\t\t\t\t// be dirtied see #3883\n\t\t\t\t\t\tc.props = newProps;\n\t\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t\t\tc._dirty = false;\n\t\t\t\t\t}\n\n\t\t\t\t\t// In cases of bailing due to strict-equality we have to reset force as well\n\t\t\t\t\tc._force = false;\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t\t\tnewVNode._children.forEach(vnode => {\n\t\t\t\t\t\tif (vnode) vnode._parent = newVNode;\n\t\t\t\t\t});\n\n\t\t\t\t\tfor (let i = 0; i < c._stateCallbacks.length; i++) {\n\t\t\t\t\t\tc._renderCallbacks.push(c._stateCallbacks[i]);\n\t\t\t\t\t}\n\t\t\t\t\tc._stateCallbacks = [];\n\n\t\t\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\t\t\tcommitQueue.push(c);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\n\t\t\t\tif (c.componentWillUpdate != null) {\n\t\t\t\t\tc.componentWillUpdate(newProps, c._nextState, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidUpdate != null) {\n\t\t\t\t\tc._renderCallbacks.push(() => {\n\t\t\t\t\t\tc.componentDidUpdate(oldProps, oldState, snapshot);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tc.context = componentContext;\n\t\t\tc.props = newProps;\n\t\t\tc._parentDom = parentDom;\n\n\t\t\tlet renderHook = options._render,\n\t\t\t\tcount = 0;\n\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\tc.state = c._nextState;\n\t\t\t\tc._dirty = false;\n\n\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\tfor (let i = 0; i < c._stateCallbacks.length; i++) {\n\t\t\t\t\tc._renderCallbacks.push(c._stateCallbacks[i]);\n\t\t\t\t}\n\t\t\t\tc._stateCallbacks = [];\n\t\t\t} else {\n\t\t\t\tdo {\n\t\t\t\t\tc._dirty = false;\n\t\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\t\t// Handle setState called in render, see #2553\n\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t} while (c._dirty && ++count < 25);\n\t\t\t}\n\n\t\t\t// Handle setState called in render, see #2553\n\t\t\tc.state = c._nextState;\n\n\t\t\tif (c.getChildContext != null) {\n\t\t\t\tglobalContext = assign(assign({}, globalContext), c.getChildContext());\n\t\t\t}\n\n\t\t\tif (!isNew && c.getSnapshotBeforeUpdate != null) {\n\t\t\t\tsnapshot = c.getSnapshotBeforeUpdate(oldProps, oldState);\n\t\t\t}\n\n\t\t\tlet isTopLevelFragment =\n\t\t\t\ttmp != null && tmp.type === Fragment && tmp.key == null;\n\t\t\tlet renderResult = isTopLevelFragment ? tmp.props.children : tmp;\n\n\t\t\tdiffChildren(\n\t\t\t\tparentDom,\n\t\t\t\tisArray(renderResult) ? renderResult : [renderResult],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\toldDom,\n\t\t\t\tisHydrating\n\t\t\t);\n\n\t\t\tc.base = newVNode._dom;\n\n\t\t\t// We successfully rendered this VNode, unset any stored hydration/bailout state:\n\t\t\tnewVNode._hydrating = null;\n\n\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\tcommitQueue.push(c);\n\t\t\t}\n\n\t\t\tif (clearProcessingException) {\n\t\t\t\tc._pendingError = c._processingException = null;\n\t\t\t}\n\n\t\t\tc._force = false;\n\t\t} else if (\n\t\t\texcessDomChildren == null &&\n\t\t\tnewVNode._original === oldVNode._original\n\t\t) {\n\t\t\tnewVNode._children = oldVNode._children;\n\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t} else {\n\t\t\tnewVNode._dom = diffElementNodes(\n\t\t\t\toldVNode._dom,\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\tisHydrating\n\t\t\t);\n\t\t}\n\n\t\tif ((tmp = options.diffed)) tmp(newVNode);\n\t} catch (e) {\n\t\tnewVNode._original = null;\n\t\t// if hydrating or creating initial tree, bailout preserves DOM:\n\t\tif (isHydrating || excessDomChildren != null) {\n\t\t\tnewVNode._dom = oldDom;\n\t\t\tnewVNode._hydrating = !!isHydrating;\n\t\t\texcessDomChildren[excessDomChildren.indexOf(oldDom)] = null;\n\t\t\t// ^ could possibly be simplified to:\n\t\t\t// excessDomChildren.length = 0;\n\t\t}\n\t\toptions._catchError(e, newVNode, oldVNode);\n\t}\n}\n\n/**\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').VNode} root\n */\nexport function commitRoot(commitQueue, root) {\n\tif (options._commit) options._commit(root, commitQueue);\n\n\tcommitQueue.some(c => {\n\t\ttry {\n\t\t\t// @ts-ignore Reuse the commitQueue variable here so the type changes\n\t\t\tcommitQueue = c._renderCallbacks;\n\t\t\tc._renderCallbacks = [];\n\t\t\tcommitQueue.some(cb => {\n\t\t\t\t// @ts-ignore See above ts-ignore on commitQueue\n\t\t\t\tcb.call(c);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t});\n}\n\n/**\n * Diff two virtual nodes representing DOM element\n * @param {import('../internal').PreactElement} dom The DOM element representing\n * the virtual nodes being diffed\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {*} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @returns {import('../internal').PreactElement}\n */\nfunction diffElementNodes(\n\tdom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\tisHydrating\n) {\n\tlet oldProps = oldVNode.props;\n\tlet newProps = newVNode.props;\n\tlet nodeType = newVNode.type;\n\tlet i = 0;\n\n\t// Tracks entering and exiting SVG namespace when descending through the tree.\n\tif (nodeType === 'svg') isSvg = true;\n\n\tif (excessDomChildren != null) {\n\t\tfor (; i < excessDomChildren.length; i++) {\n\t\t\tconst child = excessDomChildren[i];\n\n\t\t\t// if newVNode matches an element in excessDomChildren or the `dom`\n\t\t\t// argument matches an element in excessDomChildren, remove it from\n\t\t\t// excessDomChildren so it isn't later removed in diffChildren\n\t\t\tif (\n\t\t\t\tchild &&\n\t\t\t\t'setAttribute' in child === !!nodeType &&\n\t\t\t\t(nodeType ? child.localName === nodeType : child.nodeType === 3)\n\t\t\t) {\n\t\t\t\tdom = child;\n\t\t\t\texcessDomChildren[i] = null;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (dom == null) {\n\t\tif (nodeType === null) {\n\t\t\t// @ts-ignore createTextNode returns Text, we expect PreactElement\n\t\t\treturn document.createTextNode(newProps);\n\t\t}\n\n\t\tif (isSvg) {\n\t\t\tdom = document.createElementNS(\n\t\t\t\t'http://www.w3.org/2000/svg',\n\t\t\t\t// @ts-ignore We know `newVNode.type` is a string\n\t\t\t\tnodeType\n\t\t\t);\n\t\t} else {\n\t\t\tdom = document.createElement(\n\t\t\t\t// @ts-ignore We know `newVNode.type` is a string\n\t\t\t\tnodeType,\n\t\t\t\tnewProps.is && newProps\n\t\t\t);\n\t\t}\n\n\t\t// we created a new parent, so none of the previously attached children can be reused:\n\t\texcessDomChildren = null;\n\t\t// we are creating a new node, so we can assume this is a new subtree (in case we are hydrating), this deopts the hydrate\n\t\tisHydrating = false;\n\t}\n\n\tif (nodeType === null) {\n\t\t// During hydration, we still have to split merged text from SSR'd HTML.\n\t\tif (oldProps !== newProps && (!isHydrating || dom.data !== newProps)) {\n\t\t\tdom.data = newProps;\n\t\t}\n\t} else {\n\t\t// If excessDomChildren was not null, repopulate it with the current element's children:\n\t\texcessDomChildren = excessDomChildren && slice.call(dom.childNodes);\n\n\t\toldProps = oldVNode.props || EMPTY_OBJ;\n\n\t\tlet oldHtml = oldProps.dangerouslySetInnerHTML;\n\t\tlet newHtml = newProps.dangerouslySetInnerHTML;\n\n\t\t// During hydration, props are not diffed at all (including dangerouslySetInnerHTML)\n\t\t// @TODO we should warn in debug mode when props don't match here.\n\t\tif (!isHydrating) {\n\t\t\t// But, if we are in a situation where we are using existing DOM (e.g. replaceNode)\n\t\t\t// we should read the existing DOM attributes to diff them\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\toldProps = {};\n\t\t\t\tfor (i = 0; i < dom.attributes.length; i++) {\n\t\t\t\t\toldProps[dom.attributes[i].name] = dom.attributes[i].value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (newHtml || oldHtml) {\n\t\t\t\t// Avoid re-applying the same '__html' if it did not changed between re-render\n\t\t\t\tif (\n\t\t\t\t\t!newHtml ||\n\t\t\t\t\t((!oldHtml || newHtml.__html != oldHtml.__html) &&\n\t\t\t\t\t\tnewHtml.__html !== dom.innerHTML)\n\t\t\t\t) {\n\t\t\t\t\tdom.innerHTML = (newHtml && newHtml.__html) || '';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdiffProps(dom, newProps, oldProps, isSvg, isHydrating);\n\n\t\t// If the new vnode didn't have dangerouslySetInnerHTML, diff its children\n\t\tif (newHtml) {\n\t\t\tnewVNode._children = [];\n\t\t} else {\n\t\t\ti = newVNode.props.children;\n\t\t\tdiffChildren(\n\t\t\t\tdom,\n\t\t\t\tisArray(i) ? i : [i],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg && nodeType !== 'foreignObject',\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\texcessDomChildren\n\t\t\t\t\t? excessDomChildren[0]\n\t\t\t\t\t: oldVNode._children && getDomSibling(oldVNode, 0),\n\t\t\t\tisHydrating\n\t\t\t);\n\n\t\t\t// Remove children that are not part of any vnode.\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\tfor (i = excessDomChildren.length; i--; ) {\n\t\t\t\t\tif (excessDomChildren[i] != null) removeNode(excessDomChildren[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// (as above, don't diff props during hydration)\n\t\tif (!isHydrating) {\n\t\t\tif (\n\t\t\t\t'value' in newProps &&\n\t\t\t\t(i = newProps.value) !== undefined &&\n\t\t\t\t// #2756 For the -element the initial value is 0,\n\t\t\t\t// despite the attribute not being present. When the attribute\n\t\t\t\t// is missing the progress bar is treated as indeterminate.\n\t\t\t\t// To fix that we'll always update it when it is 0 for progress elements\n\t\t\t\t(i !== dom.value ||\n\t\t\t\t\t(nodeType === 'progress' && !i) ||\n\t\t\t\t\t// This is only for IE 11 to fix \n )\n}\n","import { Link } from 'wouter-preact'\n\nimport GameEntry from\n '~/src/components/GameEntry/GameEntry'\n\nimport top2019 from './top2019'\n\nimport * as s from './GamesView.module.scss'\n\nconst tutorialGame = {\n name: 'The Dreamhold',\n ifdb: 'https://ifdb.org/viewgame?id=3myqnrs64nbtwdaz',\n url: 'https://mirror.ifarchive.org/if-archive/games/zcode/dreamhold.z8',\n}\n\nexport default function GamesView () {\n return (\n
    \n

    \n \n IFDB\n Games\n

    \n\n

    \n Choose one or \n go back.\n

    \n\n
    \n

    \n Tutorial\n

    \n\n

    \n If you are not familiar with Interactive Fiction,\n you should start with this tutorial game\n by Andrew Plotkin:\n

    \n\n
      \n
    • \n \n
    • \n
    \n
    \n\n

    \n Interactive Fiction Top 50 of All Time\n

    \n\n

    \n \n Every four years , Victor Gijsbers puts\n together a list of the top 50 IF games of all time.\n\n Here is an almost complete and slightly rearranged version of the \n list from 2019:\n

    \n\n
      \n {top2019.map((game) => (\n
    1. \n \n
    2. \n ))}\n
    \n\n
    \n )\n}\n","import { Link } from 'wouter-preact'\n\nimport {\n buildPlayLinkHref,\n} from '~/src/routing'\n\nexport default function GameEntry ({ name, ifdb, url }) {\n return (\n
    \n

    {name}

    \n \n IFDB page\n \n | \n \n Play\n \n
    \n )\n}\n","export default [\n [\n 'Lost Pig',\n 'https://ifdb.org/viewgame?id=mohwfk47yjzii14w',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/LostPig.z8',\n ],\n [\n /* Check with cheap-glk */\n 'Counterfeit Monkey',\n 'https://ifdb.org/viewgame?id=aearuuxv83plclpl',\n 'https://mirror.ifarchive.org/if-archive/games/glulx/CounterfeitMonkey.gblorb',\n ],\n [\n /* Works. Check inputs */\n 'Anchorhead',\n 'https://ifdb.org/viewgame?id=op0uw1gn1tjqmjt7',\n 'https://ifarchive.org/if-archive/games/zcode/anchor.z8',\n ],\n /* [\n '80 DAYS',\n 'https://ifdb.org/viewgame?id=du51t0qrhjqlnbij',\n 'INKLEWRITER'\n ], */\n [\n 'Galatea',\n 'https://ifdb.org/viewgame?id=urxrv27t7qtu52lb',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/Galatea.zblorb',\n ],\n [\n /* Works. Check inputs */\n 'Photopia',\n 'https://ifdb.org/viewgame?id=ju778uv5xaswnlpl',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/photopia.z5',\n ],\n [\n 'Spider and Web',\n 'https://ifdb.org/viewgame?id=2xyccw3pe0uovfad',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/Tangle.z5',\n ],\n /* [\n 'Trinity',\n 'https://ifdb.org/viewgame?id=j18kjz80hxjtyayw',\n 'ZIP'\n ], */\n /* [\n 'Hadean Lands',\n 'https://ifdb.org/viewgame?id=u58d0mlbfwcorfi',\n 'COMMERCIAL'\n ], */\n /* [\n 'Superluminal Vagrant Twin',\n 'https://ifdb.org/viewgame?id=5xzoz5wimz4xxha',\n 'CORS https://v6p9d9t4.ssl.hwcdn.net/html/177384/Superluminal%20Vagrant%20Twin%20Webpage/files/Superluminal%20Vagrant%20Twin.gblorb'\n ], */\n /* [\n 'Birdland',\n 'https://ifdb.org/viewgame?id=ap1651hvjldbuugj',\n 'TWINE'\n ], */\n [\n 'Slouching Towards Bedlam',\n 'https://ifdb.org/viewgame?id=032krqe6bjn5au78',\n 'https://mirror.ifarchive.org/if-archive/games/competition2003/zcode/slouch/slouch.z5',\n ],\n [\n 'Curses!',\n 'https://ifdb.org/viewgame?id=plvzam05bmz3enh8',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/curses.z5',\n ],\n /* [\n 'howling dogs',\n 'https://ifdb.org/viewgame?id=mxj7xp4nffia9rbj',\n 'TWINE'\n ], */\n [\n 'Violet',\n 'https://ifdb.org/viewgame?id=4glrrfh7wrp9zz7b',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/Violet.zblorb',\n ],\n [\n 'The Wizard Sniffer',\n 'https://ifdb.org/viewgame?id=uq18rw9gt8j58da',\n 'https://ifarchive.org/if-archive/games/competition2017/The%20Wizard%20Sniffer/The_Wizard_Sniffer.gblorb',\n ],\n /* [\n 'Eat Me',\n 'https://ifdb.org/viewgame?id=yutkd9u0oeog4br1',\n 'ZIP https://ifarchive.org/if-archive/games/competition2017/Eat%20Me/Eat%20Me/Gblorb.zip'\n ], */\n /* [\n 'Horse Master',\n 'https://ifdb.org/viewgame?id=ogkcvv9l1q0aatpd',\n 'TWINE'\n ], */\n /* [\n 'Mentula Macanus: Apocolocyntosis',\n 'https://ifdb.org/viewgame?id=etul31tqgl3n22nl'\n 'ZIP'\n ], */\n [\n 'Shade',\n 'https://ifdb.org/viewgame?id=hsfc7fnl40k4a30q',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/shade.z5',\n ],\n [\n 'Vespers',\n 'https://ifdb.org/viewgame?id=6dj2vguyiagrhvc2',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/vespers.z8',\n ],\n /* [\n 'Will Not Let Me Go',\n 'https://ifdb.org/viewgame?id=67r2qc21m5nzexv1',\n 'TWINE'\n ], */\n /* [\n 'Bee',\n 'https://ifdb.org/viewgame?id=8pe83e92v4nvabic',\n 'VARYTALE'\n ], */\n /* [\n 'Creatures Such As We',\n 'https://ifdb.org/viewgame?id=8l9cdcd1tbt77hfl',\n 'TWINE'\n ], */\n /* [\n 'Kerkerkruip',\n 'https://ifdb.org/viewgame?id=f7zdhxmiraht53d1',\n 'CORS https://downloads.kerkerkruip.org/Kerkerkruip-latest.gblorb'\n ], */\n /* [\n 'Midnight. Swordfight.',\n 'https://ifdb.org/viewgame?id=2cuwjlvpybg8oaf0',\n 'CORS https://www.castleprincessdragon.com/InteractiveFiction/MS/MidnightSwordfight.gblorb'\n ], */\n [\n 'Savoir-Faire',\n 'https://ifdb.org/viewgame?id=p0cizeb3kiwzlm2p',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/Savoir-Faire.zblorb',\n ],\n /* [\n 'With Those We Love Alive',\n 'https://ifdb.org/viewgame?id=445d989vuwlh4cvz',\n 'TWINE'\n ], */\n [\n 'Aisle',\n 'https://ifdb.org/viewgame?id=j49crlvd62mhwuzu',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/Aisle.z5',\n ],\n /* [\n 'Blue Lacuna',\n 'https://ifdb.org/viewgame?id=ez2mcyx4zi98qlkh',\n 'ZIP'\n ], */\n [\n 'Gun Mute',\n 'https://ifdb.org/viewgame?id=xwedbibfksczn7eq',\n 'https://mirror.ifarchive.org/if-archive/games/tads/GunMute.t3',\n ],\n /* [\n 'The King of Shreds and Patches',\n 'https://ifdb.org/viewgame?id=9ntef9expou18abv',\n 'ZIP'\n ], */\n /* [\n 'A Mind Forever Voyaging',\n 'https://ifdb.org/viewgame?id=4h62dvooeg9ajtfa',\n 'CORS'\n ], */\n /* [\n 'SPY INTRIGUE',\n 'https://ifdb.org/viewgame?id=zz6i7irfr70nvp7a',\n 'TWINE'\n ], */\n /* [\n 'Wishbringer',\n 'https://ifdb.org/viewgame?id=z02joykzh66wfhcl',\n 'CORS'\n ], */\n [\n 'A Beauty Cold and Austere',\n 'https://ifdb.org/viewgame?id=y9y7jozi0l76bb82',\n 'https://ifarchive.org/if-archive/games/competition2017/A%20Beauty%20Cold%20and%20Austere/A_Beauty_Cold_and_Austere.gblorb',\n ],\n /* [\n 'Cactus Blue Motel',\n 'https://ifdb.org/viewgame?id=7e699ifb6u3767yr',\n 'TWINE'\n ], */\n [\n 'Coloratura',\n 'https://ifdb.org/viewgame?id=g0fl99ovcrq2sqzk',\n 'https://mirror.ifarchive.org/if-archive/games/competition2013/glulx/coloratura/Coloratura.gblorb',\n ],\n /* [\n 'Harmonia',\n 'https://ifdb.org/viewgame?id=bkyia4k48od1ila',\n 'TWINE'\n ], */\n [\n 'Lime Ergot',\n 'https://ifdb.org/viewgame?id=b8mb4fcwmf1hrxl',\n 'https://mirror.ifarchive.org/if-archive/games/glulx/Lime_Ergot.gblorb',\n ],\n [\n 'Rameses',\n 'https://ifdb.org/viewgame?id=0stz0hr7a98bp9mp',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/rameses.zblorb',\n ],\n /* [\n 'Spellbreaker',\n 'https://ifdb.org/viewgame?id=wqsmrahzozosu3r',\n 'CORS'\n ], */\n /* [\n 'Suspended',\n 'https://ifdb.org/viewgame?id=t47hei9uq10xoar8',\n 'CORS'\n ], */\n [\n 'The Wand',\n 'https://ifdb.org/viewgame?id=2jil5vbxmbv8riv1',\n 'https://ifarchive.org/if-archive/games/glulx/Wand.ulx',\n ],\n /* [\n 'Zork I',\n 'https://ifdb.org/viewgame?id=0dbnusxunq7fw5ro',\n 'ZIP'\n ], */\n [\n '1893: A World\\'s Fair Mystery',\n 'https://ifdb.org/viewgame?id=00e0t7swrris5pg6',\n 'https://mirror.ifarchive.org/if-archive/games/tads/1893.gam',\n ],\n [\n 'Adventure',\n 'https://ifdb.org/viewgame?id=fft6pu91j85y4acv',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/Advent.z5',\n ],\n [\n 'Alias \\'The Magpie\\'',\n 'https://ifdb.org/viewgame?id=yspn49v69hzc8rtb',\n 'https://ifarchive.org/if-archive/games/competition2018/Alias%20The%20Magpie/Alias%20%27The%20Magpie%27.gblorb',\n ],\n /* [\n 'De Baron',\n 'https://ifdb.org/viewgame?id=weac28l51hiqfzxz',\n 'ZIP'\n ], */\n /* [\n 'Bogeyman',\n 'https://ifdb.org/viewgame?id=ltwvgb2lubkx82yi',\n 'TWINE'\n ], */\n [\n 'Cragne Manor',\n 'https://ifdb.org/viewgame?id=4x7nltu8p851tn4x',\n 'https://mirror.ifarchive.org/if-archive/games/glulx/cragne.gblorb',\n ],\n [\n 'The Edifice',\n 'https://ifdb.org/viewgame?id=4tb9soabrb4apqzd',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/edifice.z5',\n ],\n [\n 'Endless, Nameless',\n 'https://ifdb.org/viewgame?id=7vtm1rq16hh3xch',\n 'https://ifarchive.org/if-archive/games/zcode/nameless.z8',\n ],\n [\n 'Everybody Dies',\n 'https://ifdb.org/viewgame?id=lyblvftb8xtlo0a1',\n 'https://mirror.ifarchive.org/if-archive/games/competition2008/glulx/everybodydies/EverybodyDies.gblorb',\n ],\n /* [\n 'Fallen London',\n 'https://ifdb.org/viewgame?id=y9m60ythcj2xn9r',\n 'STORYNEXUS'\n ], */\n [\n 'Foo Foo',\n 'https://ifdb.org/viewgame?id=ec6x9y8qcmsrxob9',\n 'https://ifarchive.org/if-archive/games/springthing/2016/FooFoo.gblorb',\n ],\n [\n 'The Gostak',\n 'https://ifdb.org/viewgame?id=w5s3sv43s3p98v45',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/gostak.z5',\n ],\n /* [\n 'The Hitchhiker\\'s Guide to the Galaxy',\n 'https://ifdb.org/viewgame?id=ouv80gvsl32xlion',\n 'CORS https://www.douglasadams.com/creations/hhgg.z3'\n ], */\n /* [\n 'Hoist Sail for the Heliopause and Home',\n 'https://ifdb.org/viewgame?id=ykccumi5xc5rltev',\n 'CORS https://eblong.com/zarf/ftp/Heliopause.zblorb'\n ], */\n /* [\n 'Human Errors',\n 'https://ifdb.org/viewgame?id=14oexa2wyym73glu',\n 'TWINE'\n ], */\n [\n 'Inside the Facility',\n 'https://ifdb.org/viewgame?id=stsdri5zh7a4i5my',\n 'https://ifarchive.org/if-archive/games/competition2016/Inside%20the%20Facility/Facility.z8',\n ],\n /* [\n 'Junior Arithmancer',\n 'https://ifdb.org/viewgame?id=pw1rbjt1t4n4n87s',\n 'https://ifarchive.org/if-archive/games/competition2018/Junior%20Arithmancer/Junior_Arithmancer.gblorb',\n ], */\n [\n 'Make It Good',\n 'https://ifdb.org/viewgame?id=jdrbw1htq4ah8q57',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/MakeItGood.z8',\n ],\n [\n 'Sub Rosa',\n 'https://ifdb.org/viewgame?id=73nvz9yui87ub3sd',\n 'https://mirror.ifarchive.org/if-archive/games/glulx/Sub_Rosa.gblorb',\n ],\n [\n 'Suveh Nux',\n 'https://ifdb.org/viewgame?id=xkai23ry99qdxce3',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/suvehnux.z5',\n ],\n /* [\n 'their angelical understanding',\n 'https://ifdb.org/viewgame?id=zpmfvbgolvfwbid',\n 'TWINE'\n ], */\n /* [\n 'Toby\\'s Nose',\n 'https://ifdb.org/viewgame?id=xf5y04yekcrqtnc',\n 'CORS https://www.castleprincessdragon.com/InteractiveFiction/TobysNose/Toby\\'s%20Nose.gblorb'\n ], */\n [\n 'Varicella',\n 'https://ifdb.org/viewgame?id=ywwlr3tpxnktjasd',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/vgame.z8',\n ],\n].map(([name, ifdb, url]) => ({ name, ifdb, url }))\n",".games {\n .tutorial {\n margin-block: 64px;\n }\n\n h4 {\n margin: 0;\n }\n\n li {\n margin-bottom: 1em;\n }\n}\n","import { Link } from 'wouter-preact'\n\nimport * as s from './ThemesView.module.scss'\n\nconst Preview = (themeEngine, theme) =>\n
    \n
    \n
    \n > look\n
    \n

    \n
    \n {theme}\n
    \n
    \n Observe a vibrant demonstration of colors at work,\n showcasing their versatile usage right before your eyes.\n
    \n

    \n
    \n \n
    \n\nexport default function ThemesView ({ themeEngine }) {\n const themes = themeEngine\n .themes\n .map((theme) => Preview(themeEngine, theme))\n\n return (\n
    \n

    \n Themes Page\n

    \n\n

    \n Choose one or \n go back.\n

    \n\n
    \n

    \n Current Theme\n

    \n
    \n
    \n > look\n
    \n

    \n
    \n Selected: {themeEngine.currentTheme}\n
    \n
    \n You can set random one with the button below\n or choose any theme from the list.\n
    \n

    \n
    \n \n
    \n\n

    \n Theme List\n

    \n
    \n {themes}\n
    \n
    \n )\n}\n",".themes {\n --current-border: var(--main-color);\n\n .themePreview {\n border: 2px solid var(--current-border);\n padding: calc(2 * var(--inner-padding));\n margin-bottom: 32px;\n\n background-color: var(--bg-color);\n color: var(--main-color);\n\n &.current {\n padding: 0;\n border: none;\n margin-block: 64px;\n }\n\n .output {\n border: 2px solid var(--main-color);\n padding: var(--inner-padding);\n margin-bottom: 8px;\n\n .message.subheader {\n font-weight: bold;\n color: var(--accent-color);\n text-transform: capitalize;\n }\n\n .message.input {\n color: var(--input-color);\n }\n }\n\n button {\n width: 100%;\n }\n }\n}\n","import { useState, useEffect } from 'preact/hooks'\n\nimport UrlPlayer from '~/src/components/Player/UrlPlayer'\nimport MenuOverlay from '~/src/components/Player/MenuOverlay/MenuOverlay'\n\nconst decode = (encodedUrl) => decodeURIComponent(encodedUrl)\n\nexport default function PlayerView ({\n theme, themeEngine, encodedUrl, singleWindow,\n}) {\n useEffect(() => {\n themeEngine.setTheme(theme)\n }, [theme, themeEngine])\n\n const [targetUrl, setTargetUrl] = useState(decode(encodedUrl))\n\n useEffect(() => {\n setTargetUrl(decode(encodedUrl))\n }, [encodedUrl])\n\n const [menuOpen, setMenuOpen] = useState(false)\n\n const onFullscreenRequest = () => {\n document.documentElement.requestFullscreen()\n }\n\n return (\n
    \n \n \n
    \n )\n}\n","import { useState, useEffect } from 'preact/hooks'\n\nimport { engineByFilename } from './common/engines'\n\nimport Player from './Player'\nimport Status from './Status/Status'\n\nconst INITIAL_STATUS = {\n stage: 'loading',\n details: ['Loading'],\n}\n\nconst prepareVM = ({ url, setStatus, setParts }) => {\n const st = (stage, details) => (args) => {\n setStatus({ stage, details: [details] })\n return args\n }\n\n const cleanUrl = (url) =>\n url.startsWith('blob:')\n ? url.replace(/#(.*)$/g, '')\n : url\n\n const fetchWasm = (wasmBinaryName) =>\n fetch(wasmBinaryName)\n .then((response) => response.arrayBuffer())\n\n const checkResponse = (response) => {\n if (response.ok) return response\n throw new Error(response.statusText)\n }\n\n return Promise.resolve(url)\n .then(st('loading', 'Downloading file'))\n .then(cleanUrl)\n .then(fetch)\n .then(checkResponse)\n .then(st('loading', 'Processing file'))\n .then((response) => response.arrayBuffer())\n .then((arrayBuffer) => new Uint8Array(arrayBuffer))\n .then(st('loading', 'Downloading engine'))\n .then((storyfile) => {\n let parts = engineByFilename(url)\n return [storyfile, parts.engine, parts.wasmBinaryName]\n })\n .then(([storyfile, engine, wasmBinaryName]) => Promise.all([\n storyfile, engine, fetchWasm(wasmBinaryName),\n ]))\n .then(([storyfile, engine, wasmBinary]) => setParts({\n storyfile, engine, wasmBinary,\n }))\n .then(st('loading', 'Running'))\n .catch((e) => {\n console.error(e)\n setStatus({ stage: 'fail', details: [e.message, url] })\n })\n}\n\nexport default function UrlPlayer ({\n url, singleWindow, onFullscreenRequest, setMenuOpen,\n}) {\n const [status, setStatus] = useState(INITIAL_STATUS)\n const [vmParts, setParts] = useState(null)\n\n useEffect(() => {\n setStatus(INITIAL_STATUS)\n setParts(null)\n\n prepareVM({ url, setStatus, setParts })\n\n return () => setParts(null)\n }, [url])\n\n return vmParts\n ? ()\n : ()\n}\n","import bocfel from 'emglken/src/bocfel.js'\nimport git from 'emglken/src/git.js'\nimport hugo from 'emglken/src/hugo.js'\nimport tads from 'emglken/src/tads.js'\nimport scare from 'emglken/src/scare.js'\n\nconst formats = [\n {\n id: 'bocfel',\n extensions: /z([3458]|blorb)$/,\n engine: bocfel,\n },\n {\n id: 'git',\n extensions: /(gblorb|ulx)$/,\n engine: git,\n },\n {\n id: 'hugo',\n extensions: /hex$/,\n engine: hugo,\n },\n {\n id: 'scare',\n extensions: /taf$/,\n engine: scare,\n },\n {\n id: 'tads',\n extensions: /(gam|t3)$/,\n engine: tads,\n },\n]\n\nexport const engineByFilename = (filename) => {\n const format = formats.find((x) =>\n x.extensions.test(filename))\n\n if (format) {\n return {\n ...format,\n /* @see staticFiles in package.json */\n wasmBinaryName: `emglken/${format.id}-core.wasm`,\n }\n }\n throw new Error('Unsupported file type')\n}\n","/*\n\nEmglken port of Bocfel\n======================\n\nCopyright (c) 2021 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/\n\nimport EmglkenVM from './vm.js'\nimport BocfelCore from '../build/bocfel-core.js'\n\nexport default class Bocfel extends EmglkenVM\n{\n default_options()\n {\n return {\n vmcore: BocfelCore,\n }\n }\n}","/*\n\nEmglken VM\n==========\n\nCopyright (c) 2022 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/\n\nimport EmglkenFS from './emglkenfs.js'\n\nconst base_options = {\n arguments: ['storyfile'],\n}\n\nexport default class EmglkenVM\n{\n // Store the data and options\n init(data, options)\n {\n this.data = data\n this.options = Object.assign({}, base_options, this.default_options(), options)\n }\n\n // Start GlkOte and the vmcore\n async start()\n {\n const encoder = new TextEncoder()\n let buffer = ''\n\n const Module = {\n arguments: this.options.show_help ? ['-help'] : this.options.arguments,\n emglken_stdin_buffers: [],\n emglken_stdin_ready() {},\n // Fake locateFile so that Lectrote doesn't get tripped up on import.meta.url not being handled in CJS properly\n locateFile() {},\n print: data =>\n {\n if (buffer === '' && data !== '' && !data.startsWith('{'))\n {\n console.log(data)\n }\n else\n {\n buffer += data\n if (data.endsWith('}'))\n {\n let obj\n try { obj = JSON.parse(buffer) } catch (e) {}\n if (obj) {\n buffer = ''\n // Store the usage of a fileref prompt request\n if (obj.specialinput && obj.specialinput.type === 'fileref_prompt')\n {\n this.last_fr_usage = obj.specialinput.filetype\n }\n this.options.GlkOte.update(obj)\n }\n }\n }\n },\n preRun: () =>\n {\n const FS = Module.FS\n this.EFS = new EmglkenFS(this)\n FS.mkdir('/emglken')\n FS.mount(this.EFS, {}, '/emglken')\n FS.chdir('/emglken')\n },\n wasmBinary: this.options.wasmBinary,\n }\n this.Module = Module\n\n this.options.accept = data => {\n if (data.type === 'specialresponse' && data.response === 'fileref_prompt' && data.value)\n {\n // electrofs.js returns a full path, so register it with EmglkenFS, and return a fake filename\n if (this.EFS.streaming)\n {\n data.value = this.EFS.register_filename(data.value.filename, this.last_fr_usage)\n }\n // Convert a dialog.js provided fileref into something Remglk can understand\n else\n {\n data.value = data.value.filename\n }\n }\n\n const json_data = JSON.stringify(data)\n const buffer = encoder.encode(json_data)\n Module.emglken_stdin_buffers.push(buffer)\n Module.emglken_stdin_ready()\n }\n\n await this.options.vmcore(Module)\n this.options.GlkOte.init(this.options)\n }\n}","/*\n\nEmglken File System\n===================\n\nCopyright (c) 2020 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/\n\nconst DIR_MODE = 16895 // 040777\nconst FILE_MODE = 33206 // 100666\nconst SEEK_SET = 0\nconst SEEK_CUR = 1\nconst SEEK_END = 2\n\n// WASI error codes\n// See https://github.com/WebAssembly/wasi-libc/blob/master/libc-bottom-half/headers/public/wasi/api.h\nconst EINVAL = 28\nconst ENOENT = 44\n\n// Convert Linux flags to Glk flags\nconst filemode_Write = 1\nconst filemode_Read = 2\nconst filemode_ReadWrite = 3\nconst filemode_WriteAppend = 5\nfunction convert_flags(flags)\n{\n // O_APPEND => filemode_WriteAppend\n if (flags & 0x400)\n {\n return filemode_WriteAppend\n }\n // O_WRONLY => filemode_Write\n if (flags & 1)\n {\n return filemode_Write\n }\n // O_RDWR => filemode_ReadWrite\n if (flags & 2)\n {\n return filemode_ReadWrite\n }\n // O_RDONLY => filemode_Read\n return filemode_Read\n}\n\nexport default class EmglkenFS\n{\n constructor(VM)\n {\n this.dialog = VM.options.Dialog\n this.streaming = this.dialog.streaming\n this.FS = VM.Module.FS\n this.VM = VM\n\n this.filename_map = {}\n this.filename_counter = 0\n }\n\n close(stream)\n {\n if (stream.name === 'storyfile')\n {}\n else\n {\n if (this.streaming)\n {\n stream.fstream.fclose()\n }\n else\n {\n if (stream.fmode !== filemode_Read)\n {\n this.dialog.file_write(stream.fref, stream.data)\n }\n }\n }\n }\n\n createNode(parent, name, mode/*, dev*/)\n {\n const FS = this.FS\n if (!FS.isDir(mode) && !FS.isFile(mode))\n {\n throw new FS.ErrnoError(EINVAL)\n }\n const node = FS.createNode(parent, name, mode)\n node.node_ops = this\n node.stream_ops = this\n node.timestamp = Date.now()\n return node\n }\n\n getattr(node)\n {\n // At present only the size of the storyfile will be returned, as needed by Bocfel\n const size = node.name === 'storyfile' ? this.VM.data.length : 0\n\n // Not sure what to return here, so only return stuff some of it\n return {\n atime: new Date(node.timestamp),\n ctime: new Date(node.timestamp),\n dev: 1,\n gid: 0,\n ino: node.id,\n mode: node.mode,\n mtime: new Date(node.timestamp),\n nlink: 1,\n rdev: node.rdev,\n size,\n uid: 0,\n }\n }\n\n // Get a Dialog ref for non-streaming Dialogs\n get_dialog_ref(filename)\n {\n let [name, usage] = filename.split('.')\n\n // RemGlk sends usages starting with 'glk', but Dialog wants them without\n usage = usage.replace('glk', '')\n\n // Retrieve the game ID if opening a savefile\n let gameid = ''\n if (usage === 'save')\n {\n gameid = this.VM.Module.AsciiToString(this.VM.Module._gidispatch_get_game_id())\n }\n\n return this.dialog.file_construct_ref(name, usage, gameid)\n }\n\n llseek(stream, offset, whence)\n {\n let position = offset\n if (whence === SEEK_CUR)\n {\n position += stream.position\n }\n else if (whence === SEEK_END)\n {\n if (stream.name === 'storyfile')\n {\n position += stream.data.length\n }\n else\n {\n if (this.streaming)\n {\n const curpos = stream.fstream.ftell()\n stream.fstream.fseek(0, SEEK_END)\n position += stream.fstream.ftell()\n stream.fstream.fseek(curpos, SEEK_SET)\n }\n else\n {\n position += stream.data.length\n }\n }\n }\n if (position < 0)\n {\n throw new this.FS.ErrnoError(EINVAL)\n }\n return position\n }\n\n lookup(parent, name)\n {\n if (name !== 'storyfile')\n {\n const realname = this.filename_map[name] || name\n if (!this.dialog.file_ref_exists(this.streaming ? {filename: realname} : this.get_dialog_ref(realname)))\n {\n throw new this.FS.ErrnoError(ENOENT)\n }\n }\n return this.createNode(parent, name, FILE_MODE)\n }\n\n mknod(parent, name, mode/*, dev*/)\n {\n return this.createNode(parent, name, mode)\n }\n\n mmap()\n {\n throw new Error('EmglkenFS.mmap')\n }\n\n mount()\n {\n return this.createNode(null, '/', DIR_MODE, 0)\n }\n\n msync()\n {\n throw new Error('EmglkenFS.msync')\n }\n\n open(stream)\n {\n stream.name = stream.node.name\n if (stream.name === 'storyfile')\n {\n stream.data = this.VM.data\n }\n else\n {\n const fmode = convert_flags(stream.flags)\n const realname = this.filename_map[stream.name] || stream.name\n if (this.streaming)\n {\n stream.fstream = this.dialog.file_fopen(fmode, {filename: realname})\n }\n else\n {\n stream.fref = this.get_dialog_ref(realname)\n stream.fmode = fmode\n\n // Read the content if not overwriting\n stream.data = null\n if (fmode !== filemode_Write)\n {\n stream.data = this.dialog.file_read(stream.fref)\n }\n\n // If no file and not reading, create a blank file\n if (stream.data == null) {\n stream.data = new Uint8Array(0)\n if (fmode !== filemode_Read)\n {\n this.dialog.file_write(stream.fref, '', true)\n }\n }\n //stream.position = fmode === filemode_WriteAppend ? data.length : 0\n }\n }\n }\n\n read(stream, buffer, offset, length, position)\n {\n if (length === 0)\n {\n return 0\n }\n if (stream.name === 'storyfile')\n {\n const size = Math.min(stream.data.length - position, length)\n buffer.set(stream.data.subarray(position, position + size), offset)\n return size\n }\n else\n {\n if (this.streaming)\n {\n stream.fstream.fseek(position, SEEK_SET)\n const buf = stream.fstream.BufferClass.from(buffer.buffer, offset, length)\n return stream.fstream.fread(buf, length)\n }\n else\n {\n const size = Math.min(stream.data.length - position, length)\n buffer.set(stream.data.subarray(position, position + size), offset)\n return size\n }\n }\n }\n\n readdir()\n {\n throw new Error('EmglkenFS.readdir')\n }\n\n readlink()\n {\n throw new this.FS.ErrnoError(EINVAL)\n }\n\n // electrofs.js will give a full system path, which we can't handle. So store the full path and return a fake file name\n register_filename(filename, usage)\n {\n const suffix = usage === 'save' ? '.glksave' : (usage === 'data' ? '.glkdata' : '.txt')\n if (!/\\.(glkdata|glksave|txt)$/.test(filename))\n {\n filename = filename + suffix\n }\n\n if (this.filename_map[filename])\n {\n return this.filename_map[filename]\n }\n\n const fakename = 'emglken_fake_file_' + this.filename_counter++\n this.filename_map[filename] = fakename\n this.filename_map[fakename + suffix] = filename\n return fakename\n }\n\n rename()\n {\n throw new Error('EmglkenFS.rename')\n }\n\n rmdir()\n {\n throw new Error('EmglkenFS.rmdir')\n }\n\n setattr(/*node, attr*/)\n {\n // I don't think we need to do anything here?\n // Maybe truncate a file?\n }\n\n symlink()\n {\n throw new Error('EmglkenFS.symlink')\n }\n\n unlink(parent, name)\n {\n const realname = this.filename_map[name] || name\n this.dialog.file_remove_ref(this.get_dialog_ref(realname))\n }\n\n write(stream, buffer, offset, length, position)\n {\n if (stream.name === 'storyfile')\n {\n throw new Error('EmglkenFS.write: cannot write to storyfile')\n }\n if (this.streaming)\n {\n stream.fstream.fseek(position, SEEK_SET)\n const buf = stream.fstream.BufferClass.from(buffer).subarray(offset, offset + length)\n return stream.fstream.fwrite(buf, length)\n }\n else\n {\n position = position || stream.position\n const end_of_write = length + position\n if (end_of_write > stream.data.length)\n {\n const old_data = stream.data\n stream.data = new Uint8Array(end_of_write)\n stream.data.set(old_data)\n }\n stream.data.set(buffer.subarray(offset, offset + length), position)\n return length\n }\n }\n}","\nvar Module = (() => {\n var _scriptDir = import.meta.url;\n \n return (\nfunction(Module = {}) {\n\nvar Module = typeof Module != \"undefined\" ? Module : {};\n\nvar readyPromiseResolve, readyPromiseReject;\n\nModule[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n});\n\nvar moduleOverrides = Object.assign({}, Module);\n\nvar arguments_ = [];\n\nvar thisProgram = \"./this.program\";\n\nvar quit_ = (status, toThrow) => {\n throw toThrow;\n};\n\nvar ENVIRONMENT_IS_WEB = true;\n\nvar ENVIRONMENT_IS_WORKER = false;\n\nvar scriptDirectory = \"\";\n\nfunction locateFile(path) {\n if (Module[\"locateFile\"]) {\n return Module[\"locateFile\"](path, scriptDirectory);\n }\n return scriptDirectory + path;\n}\n\nvar read_, readAsync, readBinary, setWindowTitle;\n\nif (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) {\n scriptDirectory = self.location.href;\n } else if (typeof document != \"undefined\" && document.currentScript) {\n scriptDirectory = document.currentScript.src;\n }\n if (_scriptDir) {\n scriptDirectory = _scriptDir;\n }\n if (scriptDirectory.indexOf(\"blob:\") !== 0) {\n scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n } else {\n scriptDirectory = \"\";\n }\n {\n read_ = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) {\n readBinary = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n }\n readAsync = (url, onload, onerror) => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = () => {\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n }\n setWindowTitle = title => document.title = title;\n} else {}\n\nvar out = Module[\"print\"] || console.log.bind(console);\n\nvar err = Module[\"printErr\"] || console.warn.bind(console);\n\nObject.assign(Module, moduleOverrides);\n\nmoduleOverrides = null;\n\nif (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n\nif (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n\nif (Module[\"quit\"]) quit_ = Module[\"quit\"];\n\nvar wasmBinary;\n\nif (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n\nvar noExitRuntime = Module[\"noExitRuntime\"] || false;\n\nif (typeof WebAssembly != \"object\") {\n abort(\"no native wasm support detected\");\n}\n\nvar wasmMemory;\n\nvar ABORT = false;\n\nvar EXITSTATUS;\n\nfunction assert(condition, text) {\n if (!condition) {\n abort(text);\n }\n}\n\nvar UTF8Decoder = new TextDecoder(\"utf8\");\n\nfunction UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n}\n\nfunction UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n}\n\nfunction stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for (var i = 0; i < str.length; ++i) {\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n}\n\nfunction stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n}\n\nfunction lengthBytesUTF8(str) {\n var len = 0;\n for (var i = 0; i < str.length; ++i) {\n var c = str.charCodeAt(i);\n if (c <= 127) {\n len++;\n } else if (c <= 2047) {\n len += 2;\n } else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else {\n len += 3;\n }\n }\n return len;\n}\n\nvar HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n\nfunction updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n}\n\nvar wasmTable;\n\nvar __ATPRERUN__ = [];\n\nvar __ATINIT__ = [];\n\nvar __ATMAIN__ = [];\n\nvar __ATEXIT__ = [];\n\nvar __ATPOSTRUN__ = [];\n\nvar runtimeInitialized = false;\n\nvar runtimeExited = false;\n\nvar runtimeKeepaliveCounter = 0;\n\nfunction keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n}\n\nfunction preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [ Module[\"preRun\"] ];\n while (Module[\"preRun\"].length) {\n addOnPreRun(Module[\"preRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPRERUN__);\n}\n\nfunction initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n}\n\nfunction preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n}\n\nfunction exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n}\n\nfunction postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [ Module[\"postRun\"] ];\n while (Module[\"postRun\"].length) {\n addOnPostRun(Module[\"postRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n}\n\nfunction addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n}\n\nfunction addOnInit(cb) {\n __ATINIT__.unshift(cb);\n}\n\nfunction addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n}\n\nvar runDependencies = 0;\n\nvar runDependencyWatcher = null;\n\nvar dependenciesFulfilled = null;\n\nfunction getUniqueRunDependency(id) {\n return id;\n}\n\nfunction addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n}\n\nfunction removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n}\n\nfunction abort(what) {\n if (Module[\"onAbort\"]) {\n Module[\"onAbort\"](what);\n }\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n}\n\nvar dataURIPrefix = \"data:application/octet-stream;base64,\";\n\nfunction isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n}\n\nvar wasmBinaryFile;\n\nif (Module[\"locateFile\"]) {\n wasmBinaryFile = \"bocfel-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) {\n wasmBinaryFile = locateFile(wasmBinaryFile);\n }\n} else {\n wasmBinaryFile = new URL(\"bocfel-core.wasm\", import.meta.url).href;\n}\n\nfunction getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) {\n return new Uint8Array(wasmBinary);\n }\n if (readBinary) {\n return readBinary(file);\n }\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n}\n\nfunction getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) {\n throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n }\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n}\n\nfunction instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n}\n\nfunction instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n } else {\n return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n}\n\nfunction createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"da\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"na\"];\n addOnInit(Module[\"asm\"][\"ea\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) {\n try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n}\n\nvar tempDouble;\n\nvar tempI64;\n\nfunction __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async () => {\n if (!Module.emglken_stdin_buffers.length) {\n await new Promise(resolve => {\n Module.emglken_stdin_ready = resolve;\n });\n }\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) {\n HEAPU8.set(input, buffer);\n } else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n}\n\nfunction ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n}\n\nfunction callRuntimeCallbacks(callbacks) {\n while (callbacks.length > 0) {\n callbacks.shift()(Module);\n }\n}\n\nvar exceptionCaught = [];\n\nfunction exception_addRef(info) {\n info.add_ref();\n}\n\nvar uncaughtExceptionCount = 0;\n\nfunction ___cxa_begin_catch(ptr) {\n var info = new ExceptionInfo(ptr);\n if (!info.get_caught()) {\n info.set_caught(true);\n uncaughtExceptionCount--;\n }\n info.set_rethrown(false);\n exceptionCaught.push(info);\n exception_addRef(info);\n return info.get_exception_ptr();\n}\n\nvar exceptionLast = 0;\n\nfunction exception_decRef(info) {\n if (info.release_ref() && !info.get_rethrown()) {\n var destructor = info.get_destructor();\n if (destructor) {\n (a1 => dynCall_ii.apply(null, [ destructor, a1 ]))(info.excPtr);\n }\n ___cxa_free_exception(info.excPtr);\n }\n}\n\nfunction ___cxa_end_catch() {\n _setThrew(0);\n var info = exceptionCaught.pop();\n exception_decRef(info);\n exceptionLast = 0;\n}\n\nfunction ExceptionInfo(excPtr) {\n this.excPtr = excPtr;\n this.ptr = excPtr - 24;\n this.set_type = function(type) {\n HEAPU32[this.ptr + 4 >> 2] = type;\n };\n this.get_type = function() {\n return HEAPU32[this.ptr + 4 >> 2];\n };\n this.set_destructor = function(destructor) {\n HEAPU32[this.ptr + 8 >> 2] = destructor;\n };\n this.get_destructor = function() {\n return HEAPU32[this.ptr + 8 >> 2];\n };\n this.set_refcount = function(refcount) {\n HEAP32[this.ptr >> 2] = refcount;\n };\n this.set_caught = function(caught) {\n caught = caught ? 1 : 0;\n HEAP8[this.ptr + 12 >> 0] = caught;\n };\n this.get_caught = function() {\n return HEAP8[this.ptr + 12 >> 0] != 0;\n };\n this.set_rethrown = function(rethrown) {\n rethrown = rethrown ? 1 : 0;\n HEAP8[this.ptr + 13 >> 0] = rethrown;\n };\n this.get_rethrown = function() {\n return HEAP8[this.ptr + 13 >> 0] != 0;\n };\n this.init = function(type, destructor) {\n this.set_adjusted_ptr(0);\n this.set_type(type);\n this.set_destructor(destructor);\n this.set_refcount(0);\n this.set_caught(false);\n this.set_rethrown(false);\n };\n this.add_ref = function() {\n var value = HEAP32[this.ptr >> 2];\n HEAP32[this.ptr >> 2] = value + 1;\n };\n this.release_ref = function() {\n var prev = HEAP32[this.ptr >> 2];\n HEAP32[this.ptr >> 2] = prev - 1;\n return prev === 1;\n };\n this.set_adjusted_ptr = function(adjustedPtr) {\n HEAPU32[this.ptr + 16 >> 2] = adjustedPtr;\n };\n this.get_adjusted_ptr = function() {\n return HEAPU32[this.ptr + 16 >> 2];\n };\n this.get_exception_ptr = function() {\n var isPointer = ___cxa_is_pointer_type(this.get_type());\n if (isPointer) {\n return HEAPU32[this.excPtr >> 2];\n }\n var adjusted = this.get_adjusted_ptr();\n if (adjusted !== 0) return adjusted;\n return this.excPtr;\n };\n}\n\nfunction ___resumeException(ptr) {\n if (!exceptionLast) {\n exceptionLast = ptr;\n }\n throw ptr;\n}\n\nfunction ___cxa_find_matching_catch() {\n var thrown = exceptionLast;\n if (!thrown) {\n setTempRet0(0);\n return 0;\n }\n var info = new ExceptionInfo(thrown);\n info.set_adjusted_ptr(thrown);\n var thrownType = info.get_type();\n if (!thrownType) {\n setTempRet0(0);\n return thrown;\n }\n for (var i = 0; i < arguments.length; i++) {\n var caughtType = arguments[i];\n if (caughtType === 0 || caughtType === thrownType) {\n break;\n }\n var adjusted_ptr_addr = info.ptr + 16;\n if (___cxa_can_catch(caughtType, thrownType, adjusted_ptr_addr)) {\n setTempRet0(caughtType);\n return thrown;\n }\n }\n setTempRet0(thrownType);\n return thrown;\n}\n\nvar ___cxa_find_matching_catch_2 = ___cxa_find_matching_catch;\n\nvar ___cxa_find_matching_catch_3 = ___cxa_find_matching_catch;\n\nvar ___cxa_find_matching_catch_4 = ___cxa_find_matching_catch;\n\nvar ___cxa_find_matching_catch_5 = ___cxa_find_matching_catch;\n\nvar ___cxa_find_matching_catch_6 = ___cxa_find_matching_catch;\n\nvar ___cxa_find_matching_catch_7 = ___cxa_find_matching_catch;\n\nfunction ___cxa_rethrow() {\n var info = exceptionCaught.pop();\n if (!info) {\n abort(\"no exception to throw\");\n }\n var ptr = info.excPtr;\n if (!info.get_rethrown()) {\n exceptionCaught.push(info);\n info.set_rethrown(true);\n info.set_caught(false);\n uncaughtExceptionCount++;\n }\n exceptionLast = ptr;\n throw ptr;\n}\n\nfunction ___cxa_throw(ptr, type, destructor) {\n var info = new ExceptionInfo(ptr);\n info.init(type, destructor);\n exceptionLast = ptr;\n uncaughtExceptionCount++;\n throw ptr;\n}\n\nfunction ___cxa_uncaught_exceptions() {\n return uncaughtExceptionCount;\n}\n\nvar PATH = {\n isAbs: path => path.charAt(0) === \"/\",\n splitPath: filename => {\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot) => {\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === \".\") {\n parts.splice(i, 1);\n } else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) {\n for (;up; up--) {\n parts.unshift(\"..\");\n }\n }\n return parts;\n },\n normalize: path => {\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter(p => !!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) {\n path = \".\";\n }\n if (path && trailingSlash) {\n path += \"/\";\n }\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: path => {\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) {\n return \".\";\n }\n if (dir) {\n dir = dir.substr(0, dir.length - 1);\n }\n return root + dir;\n },\n basename: path => {\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r) => {\n return PATH.normalize(l + \"/\" + r);\n }\n};\n\nfunction getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return () => {\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return () => abort(\"randomDevice\");\n}\n\nvar PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") {\n throw new TypeError(\"Arguments to path.resolve must be strings\");\n } else if (!path) {\n return \"\";\n }\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter(p => !!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to) => {\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for (;start < arr.length; start++) {\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for (;end >= 0; end--) {\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push(\"..\");\n }\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n};\n\nfunction intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n}\n\nvar TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) {\n throw new FS.ErrnoError(43);\n }\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) {\n throw new FS.ErrnoError(60);\n }\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) {\n throw new FS.ErrnoError(60);\n }\n try {\n for (var i = 0; i < length; i++) {\n stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n }\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) {\n result += \"\\n\";\n }\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) {\n result += \"\\n\";\n }\n }\n if (!result) {\n return null;\n }\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n};\n\nfunction mmapAlloc(size) {\n abort();\n}\n\nvar MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16384 | 511, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {\n throw new FS.ErrnoError(63);\n }\n if (!MEMFS.ops_table) {\n MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n }\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1024 * 1024;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) {\n node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n }\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) {\n attr.size = 4096;\n } else if (FS.isFile(node.mode)) {\n attr.size = node.usedBytes;\n } else if (FS.isLink(node.mode)) {\n attr.size = node.link.length;\n } else {\n attr.size = 0;\n }\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) {\n node.mode = attr.mode;\n }\n if (attr.timestamp !== undefined) {\n node.timestamp = attr.timestamp;\n }\n if (attr.size !== undefined) {\n MEMFS.resizeFileStorage(node, attr.size);\n }\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for (var i in new_node.contents) {\n throw new FS.ErrnoError(55);\n }\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for (var i in node.contents) {\n throw new FS.ErrnoError(55);\n }\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [ \".\", \"..\" ];\n for (var key in node.contents) {\n if (!node.contents.hasOwnProperty(key)) {\n continue;\n }\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) {\n buffer.set(contents.subarray(position, position + size), offset);\n } else {\n for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];\n }\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) {\n canOwn = false;\n }\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n } else {\n for (var i = 0; i < length; i++) {\n node.contents[position + i] = buffer[offset + i];\n }\n }\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) {\n position += stream.position;\n } else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) {\n position += stream.node.usedBytes;\n }\n }\n if (position < 0) {\n throw new FS.ErrnoError(28);\n }\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) {\n contents = contents.subarray(position, position + length);\n } else {\n contents = Array.prototype.slice.call(contents, position, position + length);\n }\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n};\n\nfunction asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, arrayBuffer => {\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, event => {\n if (onerror) {\n onerror();\n } else {\n throw 'Loading data file \"' + url + '\" failed.';\n }\n });\n if (dep) addRunDependency(dep);\n}\n\nvar FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {}) => {\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) {\n throw new FS.ErrnoError(32);\n }\n var parts = path.split(\"/\").filter(p => !!p);\n var current = FS.root;\n var current_path = \"/\";\n for (var i = 0; i < parts.length; i++) {\n var islast = i === parts.length - 1;\n if (islast && opts.parent) {\n break;\n }\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) {\n current = current.mounted.root;\n }\n }\n if (!islast || opts.follow) {\n var count = 0;\n while (FS.isLink(current.mode)) {\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) {\n throw new FS.ErrnoError(32);\n }\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: node => {\n var path;\n while (true) {\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name) => {\n var hash = 0;\n for (var i = 0; i < name.length; i++) {\n hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n }\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) {\n FS.nameTable[hash] = node.name_next;\n } else {\n var current = FS.nameTable[hash];\n while (current) {\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name) => {\n var errCode = FS.mayLookup(parent);\n if (errCode) {\n throw new FS.ErrnoError(errCode, parent);\n }\n var hash = FS.hashName(parent.id, name);\n for (var node = FS.nameTable[hash]; node; node = node.name_next) {\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) {\n return node;\n }\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev) => {\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: node => {\n FS.hashRemoveNode(node);\n },\n isRoot: node => {\n return node === node.parent;\n },\n isMountpoint: node => {\n return !!node.mounted;\n },\n isFile: mode => {\n return (mode & 61440) === 32768;\n },\n isDir: mode => {\n return (mode & 61440) === 16384;\n },\n isLink: mode => {\n return (mode & 61440) === 40960;\n },\n isChrdev: mode => {\n return (mode & 61440) === 8192;\n },\n isBlkdev: mode => {\n return (mode & 61440) === 24576;\n },\n isFIFO: mode => {\n return (mode & 61440) === 4096;\n },\n isSocket: mode => {\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: str => {\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") {\n throw new Error(\"Unknown file open mode: \" + str);\n }\n return flags;\n },\n flagsToPermissionString: flag => {\n var perms = [ \"r\", \"w\", \"rw\" ][flag & 3];\n if (flag & 512) {\n perms += \"w\";\n }\n return perms;\n },\n nodePermissions: (node, perms) => {\n if (FS.ignorePermissions) {\n return 0;\n }\n if (perms.includes(\"r\") && !(node.mode & 292)) {\n return 2;\n } else if (perms.includes(\"w\") && !(node.mode & 146)) {\n return 2;\n } else if (perms.includes(\"x\") && !(node.mode & 73)) {\n return 2;\n }\n return 0;\n },\n mayLookup: dir => {\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name) => {\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir) => {\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) {\n return errCode;\n }\n if (isdir) {\n if (!FS.isDir(node.mode)) {\n return 54;\n }\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {\n return 10;\n }\n } else {\n if (FS.isDir(node.mode)) {\n return 31;\n }\n }\n return 0;\n },\n mayOpen: (node, flags) => {\n if (!node) {\n return 44;\n }\n if (FS.isLink(node.mode)) {\n return 32;\n } else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) {\n return 31;\n }\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => {\n for (var fd = fd_start; fd <= fd_end; fd++) {\n if (!FS.streams[fd]) {\n return fd;\n }\n }\n throw new FS.ErrnoError(33);\n },\n getStream: fd => FS.streams[fd],\n createStream: (stream, fd_start, fd_end) => {\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: fd => {\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: stream => {\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n },\n llseek: () => {\n throw new FS.ErrnoError(70);\n }\n },\n major: dev => dev >> 8,\n minor: dev => dev & 255,\n makedev: (ma, mi) => ma << 8 | mi,\n registerDevice: (dev, ops) => {\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: dev => FS.devices[dev],\n getMounts: mount => {\n var mounts = [];\n var check = [ mount ];\n while (check.length) {\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback) => {\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) {\n err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n }\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) {\n doCallback(null);\n }\n }\n mounts.forEach(mount => {\n if (!mount.type.syncfs) {\n return done(null);\n }\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint) => {\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) {\n throw new FS.ErrnoError(10);\n } else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n if (!FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) {\n FS.root = mountRoot;\n } else if (node) {\n node.mounted = mount;\n if (node.mount) {\n node.mount.mounts.push(mount);\n }\n }\n return mountRoot;\n },\n unmount: mountpoint => {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) {\n throw new FS.ErrnoError(28);\n }\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach(hash => {\n var current = FS.nameTable[hash];\n while (current) {\n var next = current.name_next;\n if (mounts.includes(current.mount)) {\n FS.destroyNode(current);\n }\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name) => {\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev) => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.mayCreate(parent, name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.mknod) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode) => {\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode) => {\n mode = mode !== undefined ? mode : 511;\n mode &= 511 | 512;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode) => {\n var dirs = path.split(\"/\");\n var d = \"\";\n for (var i = 0; i < dirs.length; ++i) {\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev) => {\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath) => {\n if (!PATH_FS.resolve(oldpath)) {\n throw new FS.ErrnoError(44);\n }\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.symlink) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path) => {\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) {\n throw new FS.ErrnoError(75);\n }\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(28);\n }\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(55);\n }\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) {\n return;\n }\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!old_dir.node_ops.rename) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {\n throw new FS.ErrnoError(10);\n }\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally {\n FS.hashAddNode(old_node);\n }\n },\n rmdir: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.rmdir) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) {\n throw new FS.ErrnoError(54);\n }\n return node.node_ops.readdir(node);\n },\n unlink: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.unlink) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: path => {\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) {\n throw new FS.ErrnoError(44);\n }\n if (!link.node_ops.readlink) {\n throw new FS.ErrnoError(28);\n }\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow) => {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (!node.node_ops.getattr) {\n throw new FS.ErrnoError(63);\n }\n return node.node_ops.getattr(node);\n },\n lstat: path => {\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & ~4095,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode) => {\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid) => {\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len) => {\n if (len < 0) {\n throw new FS.ErrnoError(28);\n }\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isDir(node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!FS.isFile(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(28);\n }\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime) => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode) => {\n if (path === \"\") {\n throw new FS.ErrnoError(44);\n }\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) {\n mode = mode & 4095 | 32768;\n } else {\n mode = 0;\n }\n var node;\n if (typeof path == \"object\") {\n node = path;\n } else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) {\n throw new FS.ErrnoError(20);\n }\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (FS.isChrdev(node.mode)) {\n flags &= ~512;\n }\n if (flags & 65536 && !FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n if (flags & 512 && !created) {\n FS.truncate(node, 0);\n }\n flags &= ~(128 | 512 | 131072);\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) {\n FS.readFiles[path] = 1;\n }\n }\n return stream;\n },\n close: stream => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) {\n stream.stream_ops.close(stream);\n }\n } catch (e) {\n throw e;\n } finally {\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: stream => {\n return stream.fd === null;\n },\n llseek: (stream, offset, whence) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (!stream.seekable || !stream.stream_ops.llseek) {\n throw new FS.ErrnoError(70);\n }\n if (whence != 0 && whence != 1 && whence != 2) {\n throw new FS.ErrnoError(28);\n }\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.read) {\n throw new FS.ErrnoError(28);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.write) {\n throw new FS.ErrnoError(28);\n }\n if (stream.seekable && stream.flags & 1024) {\n FS.llseek(stream, 0, 2);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (offset < 0 || length <= 0) {\n throw new FS.ErrnoError(28);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (!stream.stream_ops.allocate) {\n throw new FS.ErrnoError(138);\n }\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags) => {\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {\n throw new FS.ErrnoError(2);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(2);\n }\n if (!stream.stream_ops.mmap) {\n throw new FS.ErrnoError(43);\n }\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags) => {\n if (!stream.stream_ops.msync) {\n return 0;\n }\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: stream => 0,\n ioctl: (stream, cmd, arg) => {\n if (!stream.stream_ops.ioctl) {\n throw new FS.ErrnoError(59);\n }\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {}) => {\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") {\n throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n }\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") {\n ret = UTF8ArrayToString(buf, 0);\n } else if (opts.encoding === \"binary\") {\n ret = buf;\n }\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {}) => {\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) {\n FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n } else {\n throw new Error(\"Unsupported data type\");\n }\n FS.close(stream);\n },\n cwd: () => FS.currentPath,\n chdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) {\n throw new FS.ErrnoError(44);\n }\n if (!FS.isDir(lookup.node.mode)) {\n throw new FS.ErrnoError(54);\n }\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: () => {\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: () => {\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: () => 0,\n write: (stream, buffer, offset, length, pos) => length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: () => {\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: () => {\n var node = FS.createNode(proc_self, \"fd\", 16384 | 511, 73);\n node.node_ops = {\n lookup: (parent, name) => {\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: () => stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: () => {\n if (Module[\"stdin\"]) {\n FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n }\n if (Module[\"stdout\"]) {\n FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n }\n if (Module[\"stderr\"]) {\n FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n } else {\n FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n }\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: () => {\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [ 44 ].forEach(code => {\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: () => {\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error) => {\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: () => {\n FS.init.initialized = false;\n _fflush(0);\n for (var i = 0; i < FS.streams.length; i++) {\n var stream = FS.streams[i];\n if (!stream) {\n continue;\n }\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite) => {\n var mode = 0;\n if (canRead) mode |= 292 | 73;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink) => {\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) {\n return null;\n }\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink) => {\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite) => {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while (parts.length) {\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn) => {\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: stream => {\n stream.seekable = false;\n },\n close: stream => {\n if (output && output.buffer && output.buffer.length) {\n output(10);\n }\n },\n read: (stream, buffer, offset, length, pos) => {\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos) => {\n for (var i = 0; i < length; i++) {\n try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: obj => {\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n if (typeof XMLHttpRequest != \"undefined\") {\n 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.\");\n } else if (read_) {\n try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n } else {\n throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n }\n },\n createLazyFile: (parent, name, url, canRead, canWrite) => {\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) {\n return undefined;\n }\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1024 * 1024;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to) => {\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n }\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) {\n return new Uint8Array(xhr.response || []);\n }\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter(chunkNum => {\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") {\n lazyArray.chunks[chunkNum] = doXHR(start, end);\n }\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else {\n var properties = {\n isDevice: false,\n url: url\n };\n }\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) {\n node.contents = properties.contents;\n } else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach(key => {\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents[position + i];\n }\n } else {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents.get(position + i);\n }\n }\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position) => {\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags) => {\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => {\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) {\n FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n }\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => {\n if (onerror) onerror();\n removeRunDependency(dep);\n })) {\n return;\n }\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") {\n asyncLoad(url, byteArray => processData(byteArray), onerror);\n } else {\n processData(url);\n }\n },\n indexedDB: () => {\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: () => {\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = () => {\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = () => {\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n try {\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var getRequest = files.get(path);\n getRequest.onsuccess = () => {\n if (FS.analyzePath(path).exists) {\n FS.unlink(path);\n }\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n};\n\nvar SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) {\n return path;\n }\n var dir;\n if (dirfd === -100) {\n dir = FS.cwd();\n } else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) {\n throw new FS.ErrnoError(44);\n }\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {\n return -54;\n }\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n 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) ], \n HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n 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) ], \n HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (flags & 2) {\n return 0;\n }\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n};\n\nfunction ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & ~7) {\n return -28;\n }\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) {\n return -44;\n }\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) {\n return -2;\n }\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n}\n\nfunction ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (cmd) {\n case 0:\n {\n var arg = SYSCALLS.get();\n if (arg < 0) {\n return -28;\n }\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n }\n\n case 1:\n case 2:\n return 0;\n\n case 3:\n return stream.flags;\n\n case 4:\n {\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n }\n\n case 5:\n {\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n }\n\n case 6:\n case 7:\n return 0;\n\n case 16:\n case 8:\n return -28;\n\n case 9:\n setErrNo(28);\n return -1;\n\n default:\n {\n return -28;\n }\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (op) {\n case 21509:\n case 21505:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21519:\n {\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n }\n\n case 21520:\n {\n if (!stream.tty) return -59;\n return -28;\n }\n\n case 21531:\n {\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n }\n\n case 21523:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21524:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nvar nowIsMonotonic = true;\n\nfunction __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n}\n\nfunction readI53FromI64(ptr) {\n return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296;\n}\n\nfunction __isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nvar __MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ];\n\nvar __MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ];\n\nfunction __yday_from_date(date) {\n var isLeapYear = __isLeapYear(date.getFullYear());\n var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday;\n}\n\nfunction __localtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n HEAP32[tmPtr + 32 >> 2] = dst;\n}\n\nfunction allocateUTF8(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = _malloc(size);\n if (ret) stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction __tzset_js(timezone, daylight, tzname) {\n var currentYear = new Date().getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;\n HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);\n function extractZone(date) {\n var match = date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return match ? match[1] : \"GMT\";\n }\n var winterName = extractZone(winter);\n var summerName = extractZone(summer);\n var winterNamePtr = allocateUTF8(winterName);\n var summerNamePtr = allocateUTF8(summerName);\n if (summerOffset < winterOffset) {\n HEAPU32[tzname >> 2] = winterNamePtr;\n HEAPU32[tzname + 4 >> 2] = summerNamePtr;\n } else {\n HEAPU32[tzname >> 2] = summerNamePtr;\n HEAPU32[tzname + 4 >> 2] = winterNamePtr;\n }\n}\n\nfunction _abort() {\n abort(\"\");\n}\n\nfunction _emscripten_date_now() {\n return Date.now();\n}\n\nvar _emscripten_get_now;\n\n_emscripten_get_now = () => performance.now();\n\nfunction _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\n\nfunction emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n}\n\nfunction _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) {\n return false;\n }\n let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\n for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) {\n return true;\n }\n }\n return false;\n}\n\nvar ENV = {};\n\nfunction getExecutableName() {\n return thisProgram || \"./this.program\";\n}\n\nfunction getEnvStrings() {\n if (!getEnvStrings.strings) {\n var lang = (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\";\n var env = {\n \"USER\": \"web_user\",\n \"LOGNAME\": \"web_user\",\n \"PATH\": \"/\",\n \"PWD\": \"/\",\n \"HOME\": \"/home/web_user\",\n \"LANG\": lang,\n \"_\": getExecutableName()\n };\n for (var x in ENV) {\n if (ENV[x] === undefined) delete env[x]; else env[x] = ENV[x];\n }\n var strings = [];\n for (var x in env) {\n strings.push(x + \"=\" + env[x]);\n }\n getEnvStrings.strings = strings;\n }\n return getEnvStrings.strings;\n}\n\nfunction writeAsciiToMemory(str, buffer, dontAddNull) {\n for (var i = 0; i < str.length; ++i) {\n HEAP8[buffer++ >> 0] = str.charCodeAt(i);\n }\n if (!dontAddNull) HEAP8[buffer >> 0] = 0;\n}\n\nfunction _environ_get(__environ, environ_buf) {\n var bufSize = 0;\n getEnvStrings().forEach(function(string, i) {\n var ptr = environ_buf + bufSize;\n HEAPU32[__environ + i * 4 >> 2] = ptr;\n writeAsciiToMemory(string, ptr);\n bufSize += string.length + 1;\n });\n return 0;\n}\n\nfunction _environ_sizes_get(penviron_count, penviron_buf_size) {\n var strings = getEnvStrings();\n HEAPU32[penviron_count >> 2] = strings.length;\n var bufSize = 0;\n strings.forEach(function(string) {\n bufSize += string.length + 1;\n });\n HEAPU32[penviron_buf_size >> 2] = bufSize;\n return 0;\n}\n\nfunction _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n}\n\nfunction exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) {\n exitRuntime();\n }\n _proc_exit(status);\n}\n\nvar _exit = exitJS;\n\nfunction _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n}\n\nfunction _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n 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) ], \n HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction _llvm_eh_typeid_for(type) {\n return type;\n}\n\nfunction __arraySum(array, index) {\n var sum = 0;\n for (var i = 0; i <= index; sum += array[i++]) {}\n return sum;\n}\n\nvar __MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];\n\nvar __MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];\n\nfunction __addDays(date, days) {\n var newDate = new Date(date.getTime());\n while (days > 0) {\n var leap = __isLeapYear(newDate.getFullYear());\n var currentMonth = newDate.getMonth();\n var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];\n if (days > daysInCurrentMonth - newDate.getDate()) {\n days -= daysInCurrentMonth - newDate.getDate() + 1;\n newDate.setDate(1);\n if (currentMonth < 11) {\n newDate.setMonth(currentMonth + 1);\n } else {\n newDate.setMonth(0);\n newDate.setFullYear(newDate.getFullYear() + 1);\n }\n } else {\n newDate.setDate(newDate.getDate() + days);\n return newDate;\n }\n }\n return newDate;\n}\n\nfunction writeArrayToMemory(array, buffer) {\n HEAP8.set(array, buffer);\n}\n\nfunction _strftime(s, maxsize, format, tm) {\n var tm_zone = HEAP32[tm + 40 >> 2];\n var date = {\n tm_sec: HEAP32[tm >> 2],\n tm_min: HEAP32[tm + 4 >> 2],\n tm_hour: HEAP32[tm + 8 >> 2],\n tm_mday: HEAP32[tm + 12 >> 2],\n tm_mon: HEAP32[tm + 16 >> 2],\n tm_year: HEAP32[tm + 20 >> 2],\n tm_wday: HEAP32[tm + 24 >> 2],\n tm_yday: HEAP32[tm + 28 >> 2],\n tm_isdst: HEAP32[tm + 32 >> 2],\n tm_gmtoff: HEAP32[tm + 36 >> 2],\n tm_zone: tm_zone ? UTF8ToString(tm_zone) : \"\"\n };\n var pattern = UTF8ToString(format);\n var EXPANSION_RULES_1 = {\n \"%c\": \"%a %b %d %H:%M:%S %Y\",\n \"%D\": \"%m/%d/%y\",\n \"%F\": \"%Y-%m-%d\",\n \"%h\": \"%b\",\n \"%r\": \"%I:%M:%S %p\",\n \"%R\": \"%H:%M\",\n \"%T\": \"%H:%M:%S\",\n \"%x\": \"%m/%d/%y\",\n \"%X\": \"%H:%M:%S\",\n \"%Ec\": \"%c\",\n \"%EC\": \"%C\",\n \"%Ex\": \"%m/%d/%y\",\n \"%EX\": \"%H:%M:%S\",\n \"%Ey\": \"%y\",\n \"%EY\": \"%Y\",\n \"%Od\": \"%d\",\n \"%Oe\": \"%e\",\n \"%OH\": \"%H\",\n \"%OI\": \"%I\",\n \"%Om\": \"%m\",\n \"%OM\": \"%M\",\n \"%OS\": \"%S\",\n \"%Ou\": \"%u\",\n \"%OU\": \"%U\",\n \"%OV\": \"%V\",\n \"%Ow\": \"%w\",\n \"%OW\": \"%W\",\n \"%Oy\": \"%y\"\n };\n for (var rule in EXPANSION_RULES_1) {\n pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_1[rule]);\n }\n var WEEKDAYS = [ \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\" ];\n var MONTHS = [ \"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\" ];\n function leadingSomething(value, digits, character) {\n var str = typeof value == \"number\" ? value.toString() : value || \"\";\n while (str.length < digits) {\n str = character[0] + str;\n }\n return str;\n }\n function leadingNulls(value, digits) {\n return leadingSomething(value, digits, \"0\");\n }\n function compareByDay(date1, date2) {\n function sgn(value) {\n return value < 0 ? -1 : value > 0 ? 1 : 0;\n }\n var compare;\n if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {\n if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) {\n compare = sgn(date1.getDate() - date2.getDate());\n }\n }\n return compare;\n }\n function getFirstWeekStartDate(janFourth) {\n switch (janFourth.getDay()) {\n case 0:\n return new Date(janFourth.getFullYear() - 1, 11, 29);\n\n case 1:\n return janFourth;\n\n case 2:\n return new Date(janFourth.getFullYear(), 0, 3);\n\n case 3:\n return new Date(janFourth.getFullYear(), 0, 2);\n\n case 4:\n return new Date(janFourth.getFullYear(), 0, 1);\n\n case 5:\n return new Date(janFourth.getFullYear() - 1, 11, 31);\n\n case 6:\n return new Date(janFourth.getFullYear() - 1, 11, 30);\n }\n }\n function getWeekBasedYear(date) {\n var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);\n var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);\n var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);\n var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);\n var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);\n if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {\n if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {\n return thisDate.getFullYear() + 1;\n }\n return thisDate.getFullYear();\n }\n return thisDate.getFullYear() - 1;\n }\n var EXPANSION_RULES_2 = {\n \"%a\": function(date) {\n return WEEKDAYS[date.tm_wday].substring(0, 3);\n },\n \"%A\": function(date) {\n return WEEKDAYS[date.tm_wday];\n },\n \"%b\": function(date) {\n return MONTHS[date.tm_mon].substring(0, 3);\n },\n \"%B\": function(date) {\n return MONTHS[date.tm_mon];\n },\n \"%C\": function(date) {\n var year = date.tm_year + 1900;\n return leadingNulls(year / 100 | 0, 2);\n },\n \"%d\": function(date) {\n return leadingNulls(date.tm_mday, 2);\n },\n \"%e\": function(date) {\n return leadingSomething(date.tm_mday, 2, \" \");\n },\n \"%g\": function(date) {\n return getWeekBasedYear(date).toString().substring(2);\n },\n \"%G\": function(date) {\n return getWeekBasedYear(date);\n },\n \"%H\": function(date) {\n return leadingNulls(date.tm_hour, 2);\n },\n \"%I\": function(date) {\n var twelveHour = date.tm_hour;\n if (twelveHour == 0) twelveHour = 12; else if (twelveHour > 12) twelveHour -= 12;\n return leadingNulls(twelveHour, 2);\n },\n \"%j\": function(date) {\n return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);\n },\n \"%m\": function(date) {\n return leadingNulls(date.tm_mon + 1, 2);\n },\n \"%M\": function(date) {\n return leadingNulls(date.tm_min, 2);\n },\n \"%n\": function() {\n return \"\\n\";\n },\n \"%p\": function(date) {\n if (date.tm_hour >= 0 && date.tm_hour < 12) {\n return \"AM\";\n }\n return \"PM\";\n },\n \"%S\": function(date) {\n return leadingNulls(date.tm_sec, 2);\n },\n \"%t\": function() {\n return \"\\t\";\n },\n \"%u\": function(date) {\n return date.tm_wday || 7;\n },\n \"%U\": function(date) {\n var days = date.tm_yday + 7 - date.tm_wday;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%V\": function(date) {\n var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7) / 7);\n if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) {\n val++;\n }\n if (!val) {\n val = 52;\n var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;\n if (dec31 == 4 || dec31 == 5 && __isLeapYear(date.tm_year % 400 - 1)) {\n val++;\n }\n } else if (val == 53) {\n var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;\n if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) val = 1;\n }\n return leadingNulls(val, 2);\n },\n \"%w\": function(date) {\n return date.tm_wday;\n },\n \"%W\": function(date) {\n var days = date.tm_yday + 7 - (date.tm_wday + 6) % 7;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%y\": function(date) {\n return (date.tm_year + 1900).toString().substring(2);\n },\n \"%Y\": function(date) {\n return date.tm_year + 1900;\n },\n \"%z\": function(date) {\n var off = date.tm_gmtoff;\n var ahead = off >= 0;\n off = Math.abs(off) / 60;\n off = off / 60 * 100 + off % 60;\n return (ahead ? \"+\" : \"-\") + String(\"0000\" + off).slice(-4);\n },\n \"%Z\": function(date) {\n return date.tm_zone;\n },\n \"%%\": function() {\n return \"%\";\n }\n };\n pattern = pattern.replace(/%%/g, \"\\0\\0\");\n for (var rule in EXPANSION_RULES_2) {\n if (pattern.includes(rule)) {\n pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_2[rule](date));\n }\n }\n pattern = pattern.replace(/\\0\\0/g, \"%\");\n var bytes = intArrayFromString(pattern, false);\n if (bytes.length > maxsize) {\n return 0;\n }\n writeArrayToMemory(bytes, s);\n return bytes.length - 1;\n}\n\nfunction _strftime_l(s, maxsize, format, tm, loc) {\n return _strftime(s, maxsize, format, tm);\n}\n\nfunction handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") {\n return EXITSTATUS;\n }\n quit_(1, e);\n}\n\nfunction allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n}\n\nfunction maybeExit() {\n if (!keepRuntimeAlive()) {\n try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n}\n\nfunction callUserCallback(func) {\n if (runtimeExited || ABORT) {\n return;\n }\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n}\n\nfunction runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n}\n\nfunction runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n}\n\nvar Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [ \"invoke_*\", \"emscripten_sleep\", \"emscripten_wget\", \"emscripten_wget_data\", \"emscripten_idb_load\", \"emscripten_idb_store\", \"emscripten_idb_delete\", \"emscripten_idb_exists\", \"emscripten_idb_load_blob\", \"emscripten_idb_store_blob\", \"SDL_Delay\", \"emscripten_scan_registers\", \"emscripten_lazy_load_code\", \"emscripten_fiber_swap\", \"__load_secondary_module\", \"fd_sync\", \"__wasi_fd_sync\", \"_emval_await\", \"_dlopen_js\", \"__asyncjs__*\" ];\n for (var x in imports) {\n (function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") {\n var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n }\n })(x);\n }\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for (var x in exports) {\n (function(x) {\n var original = exports[x];\n if (typeof original == \"function\") {\n ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally {\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n } else {\n ret[x] = original;\n }\n })(x);\n }\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") {\n Fibers.trampoline();\n }\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject) => {\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0) => {\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) {\n return;\n }\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(() => _asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.resume();\n }\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) {\n throw asyncWasmReturnValue;\n }\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.pause();\n }\n runAndAbortIfError(() => _asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach(func => callUserCallback(func));\n } else {\n abort(\"invalid state: \" + Asyncify.state);\n }\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep(wakeUp => {\n startAsync().then(wakeUp);\n });\n }\n};\n\nfunction AsciiToString(ptr) {\n var str = \"\";\n while (1) {\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n}\n\nvar FSNode = function(parent, name, mode, rdev) {\n if (!parent) {\n parent = this;\n }\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n};\n\nvar readMode = 292 | 73;\n\nvar writeMode = 146;\n\nObject.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n});\n\nFS.FSNode = FSNode;\n\nFS.staticInit();\n\nvar wasmImports = {\n \"S\": __asyncjs__emglken_fill_stdin_buffer,\n \"k\": ___cxa_begin_catch,\n \"n\": ___cxa_end_catch,\n \"a\": ___cxa_find_matching_catch_2,\n \"d\": ___cxa_find_matching_catch_3,\n \"m\": ___cxa_find_matching_catch_4,\n \"s\": ___cxa_find_matching_catch_5,\n \"x\": ___cxa_find_matching_catch_6,\n \"ca\": ___cxa_find_matching_catch_7,\n \"K\": ___cxa_rethrow,\n \"o\": ___cxa_throw,\n \"ba\": ___cxa_uncaught_exceptions,\n \"g\": ___resumeException,\n \"aa\": ___syscall_faccessat,\n \"J\": ___syscall_fcntl64,\n \"$\": ___syscall_getcwd,\n \"_\": ___syscall_ioctl,\n \"Z\": ___syscall_openat,\n \"V\": __emscripten_get_now_is_monotonic,\n \"U\": __localtime_js,\n \"T\": __tzset_js,\n \"D\": _abort,\n \"B\": _emscripten_date_now,\n \"R\": _emscripten_memcpy_big,\n \"Q\": _emscripten_resize_heap,\n \"Y\": _environ_get,\n \"X\": _environ_sizes_get,\n \"C\": _exit,\n \"I\": _fd_close,\n \"W\": _fd_read,\n \"P\": _fd_seek,\n \"H\": _fd_write,\n \"G\": invoke_diii,\n \"F\": invoke_fiii,\n \"q\": invoke_i,\n \"b\": invoke_ii,\n \"c\": invoke_iii,\n \"e\": invoke_iiii,\n \"p\": invoke_iiiii,\n \"u\": invoke_iiiiii,\n \"w\": invoke_iiiiiii,\n \"E\": invoke_iiiiiiii,\n \"A\": invoke_iiiiiiiiiiii,\n \"O\": invoke_ji,\n \"N\": invoke_jiiii,\n \"h\": invoke_v,\n \"i\": invoke_vi,\n \"f\": invoke_vii,\n \"j\": invoke_viii,\n \"r\": invoke_viiii,\n \"t\": invoke_viiiii,\n \"v\": invoke_viiiiiii,\n \"y\": invoke_viiiiiiiiii,\n \"z\": invoke_viiiiiiiiiiiiiii,\n \"l\": _llvm_eh_typeid_for,\n \"M\": _strftime,\n \"L\": _strftime_l\n};\n\nvar asm = createWasm();\n\nvar ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"ea\"]).apply(null, arguments);\n};\n\nvar ___cxa_free_exception = function() {\n return (___cxa_free_exception = Module[\"asm\"][\"fa\"]).apply(null, arguments);\n};\n\nvar _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"ga\"]).apply(null, arguments);\n};\n\nvar ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"ha\"]).apply(null, arguments);\n};\n\nvar _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"ia\"]).apply(null, arguments);\n};\n\nvar _malloc = function() {\n return (_malloc = Module[\"asm\"][\"ja\"]).apply(null, arguments);\n};\n\nvar _free = function() {\n return (_free = Module[\"asm\"][\"ka\"]).apply(null, arguments);\n};\n\nvar _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"la\"]).apply(null, arguments);\n};\n\nvar ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"ma\"]).apply(null, arguments);\n};\n\nvar _setThrew = function() {\n return (_setThrew = Module[\"asm\"][\"oa\"]).apply(null, arguments);\n};\n\nvar setTempRet0 = function() {\n return (setTempRet0 = Module[\"asm\"][\"pa\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n};\n\nvar stackSave = function() {\n return (stackSave = Module[\"asm\"][\"qa\"]).apply(null, arguments);\n};\n\nvar stackRestore = function() {\n return (stackRestore = Module[\"asm\"][\"ra\"]).apply(null, arguments);\n};\n\nvar stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"sa\"]).apply(null, arguments);\n};\n\nvar ___cxa_can_catch = function() {\n return (___cxa_can_catch = Module[\"asm\"][\"ta\"]).apply(null, arguments);\n};\n\nvar ___cxa_is_pointer_type = function() {\n return (___cxa_is_pointer_type = Module[\"asm\"][\"ua\"]).apply(null, arguments);\n};\n\nvar dynCall_ii = Module[\"dynCall_ii\"] = function() {\n return (dynCall_ii = Module[\"dynCall_ii\"] = Module[\"asm\"][\"va\"]).apply(null, arguments);\n};\n\nvar dynCall_iiii = Module[\"dynCall_iiii\"] = function() {\n return (dynCall_iiii = Module[\"dynCall_iiii\"] = Module[\"asm\"][\"wa\"]).apply(null, arguments);\n};\n\nvar dynCall_viii = Module[\"dynCall_viii\"] = function() {\n return (dynCall_viii = Module[\"dynCall_viii\"] = Module[\"asm\"][\"xa\"]).apply(null, arguments);\n};\n\nvar dynCall_v = Module[\"dynCall_v\"] = function() {\n return (dynCall_v = Module[\"dynCall_v\"] = Module[\"asm\"][\"ya\"]).apply(null, arguments);\n};\n\nvar dynCall_vi = Module[\"dynCall_vi\"] = function() {\n return (dynCall_vi = Module[\"dynCall_vi\"] = Module[\"asm\"][\"za\"]).apply(null, arguments);\n};\n\nvar dynCall_iii = Module[\"dynCall_iii\"] = function() {\n return (dynCall_iii = Module[\"dynCall_iii\"] = Module[\"asm\"][\"Aa\"]).apply(null, arguments);\n};\n\nvar dynCall_vii = Module[\"dynCall_vii\"] = function() {\n return (dynCall_vii = Module[\"dynCall_vii\"] = Module[\"asm\"][\"Ba\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiii = Module[\"dynCall_iiiiii\"] = function() {\n return (dynCall_iiiiii = Module[\"dynCall_iiiiii\"] = Module[\"asm\"][\"Ca\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiii = Module[\"dynCall_iiiii\"] = function() {\n return (dynCall_iiiii = Module[\"dynCall_iiiii\"] = Module[\"asm\"][\"Da\"]).apply(null, arguments);\n};\n\nvar dynCall_i = Module[\"dynCall_i\"] = function() {\n return (dynCall_i = Module[\"dynCall_i\"] = Module[\"asm\"][\"Ea\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiii = Module[\"dynCall_iiiiiii\"] = function() {\n return (dynCall_iiiiiii = Module[\"dynCall_iiiiiii\"] = Module[\"asm\"][\"Fa\"]).apply(null, arguments);\n};\n\nvar dynCall_viiii = Module[\"dynCall_viiii\"] = function() {\n return (dynCall_viiii = Module[\"dynCall_viiii\"] = Module[\"asm\"][\"Ga\"]).apply(null, arguments);\n};\n\nvar dynCall_ji = Module[\"dynCall_ji\"] = function() {\n return (dynCall_ji = Module[\"dynCall_ji\"] = Module[\"asm\"][\"Ha\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiii = Module[\"dynCall_viiiii\"] = function() {\n return (dynCall_viiiii = Module[\"dynCall_viiiii\"] = Module[\"asm\"][\"Ia\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiii = Module[\"dynCall_iiiiiiii\"] = function() {\n return (dynCall_iiiiiiii = Module[\"dynCall_iiiiiiii\"] = Module[\"asm\"][\"Ja\"]).apply(null, arguments);\n};\n\nvar dynCall_jiiii = Module[\"dynCall_jiiii\"] = function() {\n return (dynCall_jiiii = Module[\"dynCall_jiiii\"] = Module[\"asm\"][\"Ka\"]).apply(null, arguments);\n};\n\nvar dynCall_fiii = Module[\"dynCall_fiii\"] = function() {\n return (dynCall_fiii = Module[\"dynCall_fiii\"] = Module[\"asm\"][\"La\"]).apply(null, arguments);\n};\n\nvar dynCall_diii = Module[\"dynCall_diii\"] = function() {\n return (dynCall_diii = Module[\"dynCall_diii\"] = Module[\"asm\"][\"Ma\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiiii = Module[\"dynCall_viiiiiii\"] = function() {\n return (dynCall_viiiiiii = Module[\"dynCall_viiiiiii\"] = Module[\"asm\"][\"Na\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiii\"] = Module[\"asm\"][\"Oa\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiiiiiii = Module[\"dynCall_viiiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiiii = Module[\"dynCall_viiiiiiiiii\"] = Module[\"asm\"][\"Pa\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiiiiiiiiiiii = Module[\"dynCall_viiiiiiiiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiiiiiiiii = Module[\"dynCall_viiiiiiiiiiiiiii\"] = Module[\"asm\"][\"Qa\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"Ra\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"Sa\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"Ta\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"Ua\"]).apply(null, arguments);\n};\n\nvar ___start_em_js = Module[\"___start_em_js\"] = 52440;\n\nvar ___stop_em_js = Module[\"___stop_em_js\"] = 55125;\n\nfunction invoke_ii(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ii(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_iiii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n dynCall_viii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_v(index) {\n var sp = stackSave();\n try {\n dynCall_v(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_vi(index, a1) {\n var sp = stackSave();\n try {\n dynCall_vi(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iii(index, a1, a2) {\n var sp = stackSave();\n try {\n return dynCall_iii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_vii(index, a1, a2) {\n var sp = stackSave();\n try {\n dynCall_vii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiii(index, a1, a2, a3, a4, a5) {\n var sp = stackSave();\n try {\n return dynCall_iiiiii(index, a1, a2, a3, a4, a5);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n return dynCall_iiiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiii(index, a1, a2, a3, a4, a5, a6);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n dynCall_viiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiii(index, a1, a2, a3, a4, a5) {\n var sp = stackSave();\n try {\n dynCall_viiiii(index, a1, a2, a3, a4, a5);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_fiii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_fiii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_diii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_diii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_i(index) {\n var sp = stackSave();\n try {\n return dynCall_i(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n var sp = stackSave();\n try {\n dynCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_ji(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ji(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_jiiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n return dynCall_jiiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nModule[\"AsciiToString\"] = AsciiToString;\n\nModule[\"FS\"] = FS;\n\nvar calledRun;\n\ndependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n};\n\nfunction callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach(arg => {\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n}\n\nfunction run(args = arguments_) {\n if (runDependencies > 0) {\n return;\n }\n preRun();\n if (runDependencies > 0) {\n return;\n }\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else {\n doRun();\n }\n}\n\nif (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [ Module[\"preInit\"] ];\n while (Module[\"preInit\"].length > 0) {\n Module[\"preInit\"].pop()();\n }\n}\n\nvar shouldRunNow = true;\n\nif (Module[\"noInitialRun\"]) shouldRunNow = false;\n\nrun();\n\n\n return Module.ready\n}\n\n);\n})();\nexport default Module;","module.exports = new __parcel__URL__(require('./helpers/bundle-manifest').resolve(\"4QCNJ\")).toString();","/*\n\nEmglken port of Git\n===================\n\nCopyright (c) 2020 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/\n\nimport EmglkenVM from './vm.js'\nimport GitCore from '../build/git-core.js'\n\nexport default class Git extends EmglkenVM\n{\n default_options()\n {\n return {\n vmcore: GitCore,\n }\n }\n}","\nvar Module = (() => {\n var _scriptDir = import.meta.url;\n \n return (\nfunction(Module = {}) {\n\nvar Module = typeof Module != \"undefined\" ? Module : {};\n\nvar readyPromiseResolve, readyPromiseReject;\n\nModule[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n});\n\nvar moduleOverrides = Object.assign({}, Module);\n\nvar arguments_ = [];\n\nvar thisProgram = \"./this.program\";\n\nvar quit_ = (status, toThrow) => {\n throw toThrow;\n};\n\nvar ENVIRONMENT_IS_WEB = true;\n\nvar ENVIRONMENT_IS_WORKER = false;\n\nvar scriptDirectory = \"\";\n\nfunction locateFile(path) {\n if (Module[\"locateFile\"]) {\n return Module[\"locateFile\"](path, scriptDirectory);\n }\n return scriptDirectory + path;\n}\n\nvar read_, readAsync, readBinary, setWindowTitle;\n\nif (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) {\n scriptDirectory = self.location.href;\n } else if (typeof document != \"undefined\" && document.currentScript) {\n scriptDirectory = document.currentScript.src;\n }\n if (_scriptDir) {\n scriptDirectory = _scriptDir;\n }\n if (scriptDirectory.indexOf(\"blob:\") !== 0) {\n scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n } else {\n scriptDirectory = \"\";\n }\n {\n read_ = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) {\n readBinary = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n }\n readAsync = (url, onload, onerror) => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = () => {\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n }\n setWindowTitle = title => document.title = title;\n} else {}\n\nvar out = Module[\"print\"] || console.log.bind(console);\n\nvar err = Module[\"printErr\"] || console.warn.bind(console);\n\nObject.assign(Module, moduleOverrides);\n\nmoduleOverrides = null;\n\nif (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n\nif (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n\nif (Module[\"quit\"]) quit_ = Module[\"quit\"];\n\nvar wasmBinary;\n\nif (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n\nvar noExitRuntime = Module[\"noExitRuntime\"] || false;\n\nif (typeof WebAssembly != \"object\") {\n abort(\"no native wasm support detected\");\n}\n\nvar wasmMemory;\n\nvar ABORT = false;\n\nvar EXITSTATUS;\n\nfunction assert(condition, text) {\n if (!condition) {\n abort(text);\n }\n}\n\nvar UTF8Decoder = new TextDecoder(\"utf8\");\n\nfunction UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n}\n\nfunction UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n}\n\nfunction stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for (var i = 0; i < str.length; ++i) {\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n}\n\nfunction stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n}\n\nfunction lengthBytesUTF8(str) {\n var len = 0;\n for (var i = 0; i < str.length; ++i) {\n var c = str.charCodeAt(i);\n if (c <= 127) {\n len++;\n } else if (c <= 2047) {\n len += 2;\n } else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else {\n len += 3;\n }\n }\n return len;\n}\n\nvar HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n\nfunction updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n}\n\nvar wasmTable;\n\nvar __ATPRERUN__ = [];\n\nvar __ATINIT__ = [];\n\nvar __ATMAIN__ = [];\n\nvar __ATEXIT__ = [];\n\nvar __ATPOSTRUN__ = [];\n\nvar runtimeInitialized = false;\n\nvar runtimeExited = false;\n\nvar runtimeKeepaliveCounter = 0;\n\nfunction keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n}\n\nfunction preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [ Module[\"preRun\"] ];\n while (Module[\"preRun\"].length) {\n addOnPreRun(Module[\"preRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPRERUN__);\n}\n\nfunction initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n}\n\nfunction preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n}\n\nfunction exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n}\n\nfunction postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [ Module[\"postRun\"] ];\n while (Module[\"postRun\"].length) {\n addOnPostRun(Module[\"postRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n}\n\nfunction addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n}\n\nfunction addOnInit(cb) {\n __ATINIT__.unshift(cb);\n}\n\nfunction addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n}\n\nvar runDependencies = 0;\n\nvar runDependencyWatcher = null;\n\nvar dependenciesFulfilled = null;\n\nfunction getUniqueRunDependency(id) {\n return id;\n}\n\nfunction addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n}\n\nfunction removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n}\n\nfunction abort(what) {\n if (Module[\"onAbort\"]) {\n Module[\"onAbort\"](what);\n }\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n}\n\nvar dataURIPrefix = \"data:application/octet-stream;base64,\";\n\nfunction isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n}\n\nvar wasmBinaryFile;\n\nif (Module[\"locateFile\"]) {\n wasmBinaryFile = \"git-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) {\n wasmBinaryFile = locateFile(wasmBinaryFile);\n }\n} else {\n wasmBinaryFile = new URL(\"git-core.wasm\", import.meta.url).href;\n}\n\nfunction getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) {\n return new Uint8Array(wasmBinary);\n }\n if (readBinary) {\n return readBinary(file);\n }\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n}\n\nfunction getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) {\n throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n }\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n}\n\nfunction instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n}\n\nfunction instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n } else {\n return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n}\n\nfunction createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"E\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"N\"];\n addOnInit(Module[\"asm\"][\"F\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) {\n try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n}\n\nvar tempDouble;\n\nvar tempI64;\n\nfunction emglken_common_buffer_transformer(buf, len, numchars, func, dont_reduce) {\n const index = buf >> 2;\n const utf32 = HEAPU32.subarray(index, index + numchars);\n const data = dont_reduce ? utf32 : utf32.reduce((prev, ch) => prev + String.fromCodePoint(ch), \"\");\n const new_str = func(data);\n const newbuf = Uint32Array.from(new_str, ch => ch.codePointAt(0));\n const newlen = newbuf.length;\n HEAPU32.set(newbuf.subarray(0, Math.min(len, newlen)), index);\n return newlen;\n}\n\nfunction glk_buffer_to_lower_case_uni(buf, len, numchars) {\n return emglken_common_buffer_transformer(buf, len, numchars, str => str.toLowerCase());\n}\n\nfunction glk_buffer_to_upper_case_uni(buf, len, numchars) {\n return emglken_common_buffer_transformer(buf, len, numchars, str => str.toUpperCase());\n}\n\nfunction glk_buffer_to_title_case_uni(buf, len, numchars, lowerrest) {\n return emglken_common_buffer_transformer(buf, len, numchars, utf32 => utf32.reduce((prev, ch, index) => {\n const special_cases = {\n \"ß\": \"Ss\",\n \"DŽ\": \"Dž\",\n \"Dž\": \"Dž\",\n \"dž\": \"Dž\",\n \"LJ\": \"Lj\",\n \"Lj\": \"Lj\",\n \"lj\": \"Lj\",\n \"NJ\": \"Nj\",\n \"Nj\": \"Nj\",\n \"nj\": \"Nj\",\n \"DZ\": \"Dz\",\n \"Dz\": \"Dz\",\n \"dz\": \"Dz\",\n \"և\": \"Եւ\",\n \"ᾲ\": \"Ὰͅ\",\n \"ᾳ\": \"ᾼ\",\n \"ᾴ\": \"Άͅ\",\n \"ᾷ\": \"ᾼ͂\",\n \"ᾼ\": \"ᾼ\",\n \"ῂ\": \"Ὴͅ\",\n \"ῃ\": \"ῌ\",\n \"ῄ\": \"Ήͅ\",\n \"ῇ\": \"ῌ͂\",\n \"ῌ\": \"ῌ\",\n \"ῲ\": \"Ὼͅ\",\n \"ῳ\": \"ῼ\",\n \"ῴ\": \"Ώͅ\",\n \"ῷ\": \"ῼ͂\",\n \"ῼ\": \"ῼ\",\n \"ff\": \"Ff\",\n \"fi\": \"Fi\",\n \"fl\": \"Fl\",\n \"ffi\": \"Ffi\",\n \"ffl\": \"Ffl\",\n \"ſt\": \"St\",\n \"st\": \"St\",\n \"ﬓ\": \"Մն\",\n \"ﬔ\": \"Մե\",\n \"ﬕ\": \"Մի\",\n \"ﬖ\": \"Վն\",\n \"ﬗ\": \"Մխ\"\n };\n const slightly_less_special_cases = [ \"ᾈᾉᾊᾋᾌᾍᾎᾏ\", \"ᾘᾙᾚᾛᾜᾝᾞᾟ\", \"ᾨᾩᾪᾫᾬᾭᾮᾯ\" ];\n let thischar = String.fromCodePoint(ch);\n if (index === 0) {\n if (special_cases[thischar]) {\n thischar = special_cases[thischar];\n } else if (ch >= 8064 && ch < 8112) {\n thischar = slightly_less_special_cases[(ch - 8064) / 16 | 0][ch % 8];\n } else {\n thischar = thischar.toUpperCase();\n }\n } else if (lowerrest) {\n thischar = thischar.toLowerCase();\n }\n return prev + thischar;\n }, \"\"), 1);\n}\n\nfunction glk_buffer_canon_decompose_uni(buf, len, numchars) {\n return emglken_common_buffer_transformer(buf, len, numchars, str => str.normalize(\"NFD\"));\n}\n\nfunction glk_buffer_canon_normalize_uni(buf, len, numchars) {\n return emglken_common_buffer_transformer(buf, len, numchars, str => str.normalize(\"NFC\"));\n}\n\nfunction __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async () => {\n if (!Module.emglken_stdin_buffers.length) {\n await new Promise(resolve => {\n Module.emglken_stdin_ready = resolve;\n });\n }\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) {\n HEAPU8.set(input, buffer);\n } else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n}\n\nfunction ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n}\n\nfunction callRuntimeCallbacks(callbacks) {\n while (callbacks.length > 0) {\n callbacks.shift()(Module);\n }\n}\n\nvar PATH = {\n isAbs: path => path.charAt(0) === \"/\",\n splitPath: filename => {\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot) => {\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === \".\") {\n parts.splice(i, 1);\n } else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) {\n for (;up; up--) {\n parts.unshift(\"..\");\n }\n }\n return parts;\n },\n normalize: path => {\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter(p => !!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) {\n path = \".\";\n }\n if (path && trailingSlash) {\n path += \"/\";\n }\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: path => {\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) {\n return \".\";\n }\n if (dir) {\n dir = dir.substr(0, dir.length - 1);\n }\n return root + dir;\n },\n basename: path => {\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r) => {\n return PATH.normalize(l + \"/\" + r);\n }\n};\n\nfunction getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return () => {\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return () => abort(\"randomDevice\");\n}\n\nvar PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") {\n throw new TypeError(\"Arguments to path.resolve must be strings\");\n } else if (!path) {\n return \"\";\n }\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter(p => !!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to) => {\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for (;start < arr.length; start++) {\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for (;end >= 0; end--) {\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push(\"..\");\n }\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n};\n\nfunction intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n}\n\nvar TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) {\n throw new FS.ErrnoError(43);\n }\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) {\n throw new FS.ErrnoError(60);\n }\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) {\n throw new FS.ErrnoError(60);\n }\n try {\n for (var i = 0; i < length; i++) {\n stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n }\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) {\n result += \"\\n\";\n }\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) {\n result += \"\\n\";\n }\n }\n if (!result) {\n return null;\n }\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n};\n\nfunction mmapAlloc(size) {\n abort();\n}\n\nvar MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16384 | 511, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {\n throw new FS.ErrnoError(63);\n }\n if (!MEMFS.ops_table) {\n MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n }\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1024 * 1024;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) {\n node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n }\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) {\n attr.size = 4096;\n } else if (FS.isFile(node.mode)) {\n attr.size = node.usedBytes;\n } else if (FS.isLink(node.mode)) {\n attr.size = node.link.length;\n } else {\n attr.size = 0;\n }\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) {\n node.mode = attr.mode;\n }\n if (attr.timestamp !== undefined) {\n node.timestamp = attr.timestamp;\n }\n if (attr.size !== undefined) {\n MEMFS.resizeFileStorage(node, attr.size);\n }\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for (var i in new_node.contents) {\n throw new FS.ErrnoError(55);\n }\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for (var i in node.contents) {\n throw new FS.ErrnoError(55);\n }\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [ \".\", \"..\" ];\n for (var key in node.contents) {\n if (!node.contents.hasOwnProperty(key)) {\n continue;\n }\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) {\n buffer.set(contents.subarray(position, position + size), offset);\n } else {\n for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];\n }\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) {\n canOwn = false;\n }\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n } else {\n for (var i = 0; i < length; i++) {\n node.contents[position + i] = buffer[offset + i];\n }\n }\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) {\n position += stream.position;\n } else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) {\n position += stream.node.usedBytes;\n }\n }\n if (position < 0) {\n throw new FS.ErrnoError(28);\n }\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) {\n contents = contents.subarray(position, position + length);\n } else {\n contents = Array.prototype.slice.call(contents, position, position + length);\n }\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n};\n\nfunction asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, arrayBuffer => {\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, event => {\n if (onerror) {\n onerror();\n } else {\n throw 'Loading data file \"' + url + '\" failed.';\n }\n });\n if (dep) addRunDependency(dep);\n}\n\nvar FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {}) => {\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) {\n throw new FS.ErrnoError(32);\n }\n var parts = path.split(\"/\").filter(p => !!p);\n var current = FS.root;\n var current_path = \"/\";\n for (var i = 0; i < parts.length; i++) {\n var islast = i === parts.length - 1;\n if (islast && opts.parent) {\n break;\n }\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) {\n current = current.mounted.root;\n }\n }\n if (!islast || opts.follow) {\n var count = 0;\n while (FS.isLink(current.mode)) {\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) {\n throw new FS.ErrnoError(32);\n }\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: node => {\n var path;\n while (true) {\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name) => {\n var hash = 0;\n for (var i = 0; i < name.length; i++) {\n hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n }\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) {\n FS.nameTable[hash] = node.name_next;\n } else {\n var current = FS.nameTable[hash];\n while (current) {\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name) => {\n var errCode = FS.mayLookup(parent);\n if (errCode) {\n throw new FS.ErrnoError(errCode, parent);\n }\n var hash = FS.hashName(parent.id, name);\n for (var node = FS.nameTable[hash]; node; node = node.name_next) {\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) {\n return node;\n }\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev) => {\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: node => {\n FS.hashRemoveNode(node);\n },\n isRoot: node => {\n return node === node.parent;\n },\n isMountpoint: node => {\n return !!node.mounted;\n },\n isFile: mode => {\n return (mode & 61440) === 32768;\n },\n isDir: mode => {\n return (mode & 61440) === 16384;\n },\n isLink: mode => {\n return (mode & 61440) === 40960;\n },\n isChrdev: mode => {\n return (mode & 61440) === 8192;\n },\n isBlkdev: mode => {\n return (mode & 61440) === 24576;\n },\n isFIFO: mode => {\n return (mode & 61440) === 4096;\n },\n isSocket: mode => {\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: str => {\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") {\n throw new Error(\"Unknown file open mode: \" + str);\n }\n return flags;\n },\n flagsToPermissionString: flag => {\n var perms = [ \"r\", \"w\", \"rw\" ][flag & 3];\n if (flag & 512) {\n perms += \"w\";\n }\n return perms;\n },\n nodePermissions: (node, perms) => {\n if (FS.ignorePermissions) {\n return 0;\n }\n if (perms.includes(\"r\") && !(node.mode & 292)) {\n return 2;\n } else if (perms.includes(\"w\") && !(node.mode & 146)) {\n return 2;\n } else if (perms.includes(\"x\") && !(node.mode & 73)) {\n return 2;\n }\n return 0;\n },\n mayLookup: dir => {\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name) => {\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir) => {\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) {\n return errCode;\n }\n if (isdir) {\n if (!FS.isDir(node.mode)) {\n return 54;\n }\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {\n return 10;\n }\n } else {\n if (FS.isDir(node.mode)) {\n return 31;\n }\n }\n return 0;\n },\n mayOpen: (node, flags) => {\n if (!node) {\n return 44;\n }\n if (FS.isLink(node.mode)) {\n return 32;\n } else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) {\n return 31;\n }\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => {\n for (var fd = fd_start; fd <= fd_end; fd++) {\n if (!FS.streams[fd]) {\n return fd;\n }\n }\n throw new FS.ErrnoError(33);\n },\n getStream: fd => FS.streams[fd],\n createStream: (stream, fd_start, fd_end) => {\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: fd => {\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: stream => {\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n },\n llseek: () => {\n throw new FS.ErrnoError(70);\n }\n },\n major: dev => dev >> 8,\n minor: dev => dev & 255,\n makedev: (ma, mi) => ma << 8 | mi,\n registerDevice: (dev, ops) => {\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: dev => FS.devices[dev],\n getMounts: mount => {\n var mounts = [];\n var check = [ mount ];\n while (check.length) {\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback) => {\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) {\n err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n }\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) {\n doCallback(null);\n }\n }\n mounts.forEach(mount => {\n if (!mount.type.syncfs) {\n return done(null);\n }\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint) => {\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) {\n throw new FS.ErrnoError(10);\n } else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n if (!FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) {\n FS.root = mountRoot;\n } else if (node) {\n node.mounted = mount;\n if (node.mount) {\n node.mount.mounts.push(mount);\n }\n }\n return mountRoot;\n },\n unmount: mountpoint => {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) {\n throw new FS.ErrnoError(28);\n }\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach(hash => {\n var current = FS.nameTable[hash];\n while (current) {\n var next = current.name_next;\n if (mounts.includes(current.mount)) {\n FS.destroyNode(current);\n }\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name) => {\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev) => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.mayCreate(parent, name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.mknod) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode) => {\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode) => {\n mode = mode !== undefined ? mode : 511;\n mode &= 511 | 512;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode) => {\n var dirs = path.split(\"/\");\n var d = \"\";\n for (var i = 0; i < dirs.length; ++i) {\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev) => {\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath) => {\n if (!PATH_FS.resolve(oldpath)) {\n throw new FS.ErrnoError(44);\n }\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.symlink) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path) => {\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) {\n throw new FS.ErrnoError(75);\n }\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(28);\n }\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(55);\n }\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) {\n return;\n }\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!old_dir.node_ops.rename) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {\n throw new FS.ErrnoError(10);\n }\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally {\n FS.hashAddNode(old_node);\n }\n },\n rmdir: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.rmdir) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) {\n throw new FS.ErrnoError(54);\n }\n return node.node_ops.readdir(node);\n },\n unlink: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.unlink) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: path => {\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) {\n throw new FS.ErrnoError(44);\n }\n if (!link.node_ops.readlink) {\n throw new FS.ErrnoError(28);\n }\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow) => {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (!node.node_ops.getattr) {\n throw new FS.ErrnoError(63);\n }\n return node.node_ops.getattr(node);\n },\n lstat: path => {\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & ~4095,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode) => {\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid) => {\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len) => {\n if (len < 0) {\n throw new FS.ErrnoError(28);\n }\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isDir(node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!FS.isFile(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(28);\n }\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime) => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode) => {\n if (path === \"\") {\n throw new FS.ErrnoError(44);\n }\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) {\n mode = mode & 4095 | 32768;\n } else {\n mode = 0;\n }\n var node;\n if (typeof path == \"object\") {\n node = path;\n } else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) {\n throw new FS.ErrnoError(20);\n }\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (FS.isChrdev(node.mode)) {\n flags &= ~512;\n }\n if (flags & 65536 && !FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n if (flags & 512 && !created) {\n FS.truncate(node, 0);\n }\n flags &= ~(128 | 512 | 131072);\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) {\n FS.readFiles[path] = 1;\n }\n }\n return stream;\n },\n close: stream => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) {\n stream.stream_ops.close(stream);\n }\n } catch (e) {\n throw e;\n } finally {\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: stream => {\n return stream.fd === null;\n },\n llseek: (stream, offset, whence) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (!stream.seekable || !stream.stream_ops.llseek) {\n throw new FS.ErrnoError(70);\n }\n if (whence != 0 && whence != 1 && whence != 2) {\n throw new FS.ErrnoError(28);\n }\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.read) {\n throw new FS.ErrnoError(28);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.write) {\n throw new FS.ErrnoError(28);\n }\n if (stream.seekable && stream.flags & 1024) {\n FS.llseek(stream, 0, 2);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (offset < 0 || length <= 0) {\n throw new FS.ErrnoError(28);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (!stream.stream_ops.allocate) {\n throw new FS.ErrnoError(138);\n }\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags) => {\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {\n throw new FS.ErrnoError(2);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(2);\n }\n if (!stream.stream_ops.mmap) {\n throw new FS.ErrnoError(43);\n }\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags) => {\n if (!stream.stream_ops.msync) {\n return 0;\n }\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: stream => 0,\n ioctl: (stream, cmd, arg) => {\n if (!stream.stream_ops.ioctl) {\n throw new FS.ErrnoError(59);\n }\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {}) => {\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") {\n throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n }\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") {\n ret = UTF8ArrayToString(buf, 0);\n } else if (opts.encoding === \"binary\") {\n ret = buf;\n }\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {}) => {\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) {\n FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n } else {\n throw new Error(\"Unsupported data type\");\n }\n FS.close(stream);\n },\n cwd: () => FS.currentPath,\n chdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) {\n throw new FS.ErrnoError(44);\n }\n if (!FS.isDir(lookup.node.mode)) {\n throw new FS.ErrnoError(54);\n }\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: () => {\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: () => {\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: () => 0,\n write: (stream, buffer, offset, length, pos) => length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: () => {\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: () => {\n var node = FS.createNode(proc_self, \"fd\", 16384 | 511, 73);\n node.node_ops = {\n lookup: (parent, name) => {\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: () => stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: () => {\n if (Module[\"stdin\"]) {\n FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n }\n if (Module[\"stdout\"]) {\n FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n }\n if (Module[\"stderr\"]) {\n FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n } else {\n FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n }\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: () => {\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [ 44 ].forEach(code => {\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: () => {\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error) => {\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: () => {\n FS.init.initialized = false;\n _fflush(0);\n for (var i = 0; i < FS.streams.length; i++) {\n var stream = FS.streams[i];\n if (!stream) {\n continue;\n }\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite) => {\n var mode = 0;\n if (canRead) mode |= 292 | 73;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink) => {\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) {\n return null;\n }\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink) => {\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite) => {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while (parts.length) {\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn) => {\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: stream => {\n stream.seekable = false;\n },\n close: stream => {\n if (output && output.buffer && output.buffer.length) {\n output(10);\n }\n },\n read: (stream, buffer, offset, length, pos) => {\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos) => {\n for (var i = 0; i < length; i++) {\n try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: obj => {\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n if (typeof XMLHttpRequest != \"undefined\") {\n 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.\");\n } else if (read_) {\n try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n } else {\n throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n }\n },\n createLazyFile: (parent, name, url, canRead, canWrite) => {\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) {\n return undefined;\n }\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1024 * 1024;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to) => {\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n }\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) {\n return new Uint8Array(xhr.response || []);\n }\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter(chunkNum => {\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") {\n lazyArray.chunks[chunkNum] = doXHR(start, end);\n }\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else {\n var properties = {\n isDevice: false,\n url: url\n };\n }\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) {\n node.contents = properties.contents;\n } else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach(key => {\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents[position + i];\n }\n } else {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents.get(position + i);\n }\n }\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position) => {\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags) => {\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => {\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) {\n FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n }\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => {\n if (onerror) onerror();\n removeRunDependency(dep);\n })) {\n return;\n }\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") {\n asyncLoad(url, byteArray => processData(byteArray), onerror);\n } else {\n processData(url);\n }\n },\n indexedDB: () => {\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: () => {\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = () => {\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = () => {\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n try {\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var getRequest = files.get(path);\n getRequest.onsuccess = () => {\n if (FS.analyzePath(path).exists) {\n FS.unlink(path);\n }\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n};\n\nvar SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) {\n return path;\n }\n var dir;\n if (dirfd === -100) {\n dir = FS.cwd();\n } else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) {\n throw new FS.ErrnoError(44);\n }\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {\n return -54;\n }\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n 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) ], \n HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n 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) ], \n HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (flags & 2) {\n return 0;\n }\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n};\n\nfunction ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & ~7) {\n return -28;\n }\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) {\n return -44;\n }\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) {\n return -2;\n }\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n}\n\nfunction ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (cmd) {\n case 0:\n {\n var arg = SYSCALLS.get();\n if (arg < 0) {\n return -28;\n }\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n }\n\n case 1:\n case 2:\n return 0;\n\n case 3:\n return stream.flags;\n\n case 4:\n {\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n }\n\n case 5:\n {\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n }\n\n case 6:\n case 7:\n return 0;\n\n case 16:\n case 8:\n return -28;\n\n case 9:\n setErrNo(28);\n return -1;\n\n default:\n {\n return -28;\n }\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (op) {\n case 21509:\n case 21505:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21519:\n {\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n }\n\n case 21520:\n {\n if (!stream.tty) return -59;\n return -28;\n }\n\n case 21531:\n {\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n }\n\n case 21523:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21524:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_stat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_unlinkat(dirfd, path, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (flags === 0) {\n FS.unlink(path);\n } else if (flags === 512) {\n FS.rmdir(path);\n } else {\n abort(\"Invalid flags passed to unlinkat\");\n }\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nvar nowIsMonotonic = true;\n\nfunction __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n}\n\nfunction __emscripten_throw_longjmp() {\n throw Infinity;\n}\n\nfunction readI53FromI64(ptr) {\n return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296;\n}\n\nfunction __gmtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getUTCSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getUTCHours();\n HEAP32[tmPtr + 12 >> 2] = date.getUTCDate();\n HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();\n var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);\n var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n}\n\nfunction __isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nvar __MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ];\n\nvar __MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ];\n\nfunction __yday_from_date(date) {\n var isLeapYear = __isLeapYear(date.getFullYear());\n var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday;\n}\n\nfunction __localtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n HEAP32[tmPtr + 32 >> 2] = dst;\n}\n\nfunction __mktime_js(tmPtr) {\n 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);\n var dst = HEAP32[tmPtr + 32 >> 2];\n var guessedOffset = date.getTimezoneOffset();\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dstOffset = Math.min(winterOffset, summerOffset);\n if (dst < 0) {\n HEAP32[tmPtr + 32 >> 2] = Number(summerOffset != winterOffset && dstOffset == guessedOffset);\n } else if (dst > 0 != (dstOffset == guessedOffset)) {\n var nonDstOffset = Math.max(winterOffset, summerOffset);\n var trueOffset = dst > 0 ? dstOffset : nonDstOffset;\n date.setTime(date.getTime() + (trueOffset - guessedOffset) * 6e4);\n }\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getYear();\n return date.getTime() / 1e3 | 0;\n}\n\nfunction __timegm_js(tmPtr) {\n 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);\n var date = new Date(time);\n HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();\n var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);\n var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n return date.getTime() / 1e3 | 0;\n}\n\nfunction allocateUTF8(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = _malloc(size);\n if (ret) stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction __tzset_js(timezone, daylight, tzname) {\n var currentYear = new Date().getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;\n HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);\n function extractZone(date) {\n var match = date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return match ? match[1] : \"GMT\";\n }\n var winterName = extractZone(winter);\n var summerName = extractZone(summer);\n var winterNamePtr = allocateUTF8(winterName);\n var summerNamePtr = allocateUTF8(summerName);\n if (summerOffset < winterOffset) {\n HEAPU32[tzname >> 2] = winterNamePtr;\n HEAPU32[tzname + 4 >> 2] = summerNamePtr;\n } else {\n HEAPU32[tzname >> 2] = summerNamePtr;\n HEAPU32[tzname + 4 >> 2] = winterNamePtr;\n }\n}\n\nfunction _emscripten_date_now() {\n return Date.now();\n}\n\nvar _emscripten_get_now;\n\n_emscripten_get_now = () => performance.now();\n\nfunction _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\n\nfunction emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n}\n\nfunction _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) {\n return false;\n }\n let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\n for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) {\n return true;\n }\n }\n return false;\n}\n\nfunction _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n}\n\nfunction exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) {\n exitRuntime();\n }\n _proc_exit(status);\n}\n\nvar _exit = exitJS;\n\nfunction _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n}\n\nfunction _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n 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) ], \n HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") {\n return EXITSTATUS;\n }\n quit_(1, e);\n}\n\nfunction allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n}\n\nfunction maybeExit() {\n if (!keepRuntimeAlive()) {\n try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n}\n\nfunction callUserCallback(func) {\n if (runtimeExited || ABORT) {\n return;\n }\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n}\n\nfunction runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n}\n\nfunction runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n}\n\nvar Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [ \"emscripten_sleep\", \"emscripten_wget\", \"emscripten_wget_data\", \"emscripten_idb_load\", \"emscripten_idb_store\", \"emscripten_idb_delete\", \"emscripten_idb_exists\", \"emscripten_idb_load_blob\", \"emscripten_idb_store_blob\", \"SDL_Delay\", \"emscripten_scan_registers\", \"emscripten_lazy_load_code\", \"emscripten_fiber_swap\", \"__load_secondary_module\", \"fd_sync\", \"__wasi_fd_sync\", \"_emval_await\", \"_dlopen_js\", \"__asyncjs__*\" ];\n for (var x in imports) {\n (function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") {\n var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n }\n })(x);\n }\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for (var x in exports) {\n (function(x) {\n var original = exports[x];\n if (typeof original == \"function\") {\n ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally {\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n } else {\n ret[x] = original;\n }\n })(x);\n }\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") {\n Fibers.trampoline();\n }\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject) => {\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0) => {\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) {\n return;\n }\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(() => _asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.resume();\n }\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) {\n throw asyncWasmReturnValue;\n }\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.pause();\n }\n runAndAbortIfError(() => _asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach(func => callUserCallback(func));\n } else {\n abort(\"invalid state: \" + Asyncify.state);\n }\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep(wakeUp => {\n startAsync().then(wakeUp);\n });\n }\n};\n\nfunction AsciiToString(ptr) {\n var str = \"\";\n while (1) {\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n}\n\nvar FSNode = function(parent, name, mode, rdev) {\n if (!parent) {\n parent = this;\n }\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n};\n\nvar readMode = 292 | 73;\n\nvar writeMode = 146;\n\nObject.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n});\n\nFS.FSNode = FSNode;\n\nFS.staticInit();\n\nvar wasmImports = {\n \"q\": __asyncjs__emglken_fill_stdin_buffer,\n \"D\": ___syscall_faccessat,\n \"l\": ___syscall_fcntl64,\n \"C\": ___syscall_getcwd,\n \"B\": ___syscall_ioctl,\n \"k\": ___syscall_openat,\n \"A\": ___syscall_stat64,\n \"z\": ___syscall_unlinkat,\n \"x\": __emscripten_get_now_is_monotonic,\n \"w\": __emscripten_throw_longjmp,\n \"v\": __gmtime_js,\n \"u\": __localtime_js,\n \"t\": __mktime_js,\n \"s\": __timegm_js,\n \"r\": __tzset_js,\n \"i\": _emscripten_date_now,\n \"p\": _emscripten_memcpy_big,\n \"o\": _emscripten_resize_heap,\n \"a\": _exit,\n \"c\": _fd_close,\n \"y\": _fd_read,\n \"m\": _fd_seek,\n \"j\": _fd_write,\n \"h\": glk_buffer_canon_decompose_uni,\n \"g\": glk_buffer_canon_normalize_uni,\n \"f\": glk_buffer_to_lower_case_uni,\n \"e\": glk_buffer_to_title_case_uni,\n \"d\": glk_buffer_to_upper_case_uni,\n \"n\": invoke_vi,\n \"b\": invoke_vii\n};\n\nvar asm = createWasm();\n\nvar ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"F\"]).apply(null, arguments);\n};\n\nvar _malloc = function() {\n return (_malloc = Module[\"asm\"][\"G\"]).apply(null, arguments);\n};\n\nvar _free = function() {\n return (_free = Module[\"asm\"][\"H\"]).apply(null, arguments);\n};\n\nvar _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"I\"]).apply(null, arguments);\n};\n\nvar _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"J\"]).apply(null, arguments);\n};\n\nvar _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"K\"]).apply(null, arguments);\n};\n\nvar ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"L\"]).apply(null, arguments);\n};\n\nvar ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"M\"]).apply(null, arguments);\n};\n\nvar _setThrew = function() {\n return (_setThrew = Module[\"asm\"][\"O\"]).apply(null, arguments);\n};\n\nvar _saveSetjmp = function() {\n return (_saveSetjmp = Module[\"asm\"][\"saveSetjmp\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n};\n\nvar stackSave = function() {\n return (stackSave = Module[\"asm\"][\"P\"]).apply(null, arguments);\n};\n\nvar stackRestore = function() {\n return (stackRestore = Module[\"asm\"][\"Q\"]).apply(null, arguments);\n};\n\nvar stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"R\"]).apply(null, arguments);\n};\n\nvar dynCall_vii = Module[\"dynCall_vii\"] = function() {\n return (dynCall_vii = Module[\"dynCall_vii\"] = Module[\"asm\"][\"S\"]).apply(null, arguments);\n};\n\nvar dynCall_vi = Module[\"dynCall_vi\"] = function() {\n return (dynCall_vi = Module[\"dynCall_vi\"] = Module[\"asm\"][\"T\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"U\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"V\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"W\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"X\"]).apply(null, arguments);\n};\n\nvar ___start_em_js = Module[\"___start_em_js\"] = 33568;\n\nvar ___stop_em_js = Module[\"___stop_em_js\"] = 36253;\n\nfunction invoke_vii(index, a1, a2) {\n var sp = stackSave();\n try {\n dynCall_vii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_vi(index, a1) {\n var sp = stackSave();\n try {\n dynCall_vi(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nModule[\"AsciiToString\"] = AsciiToString;\n\nModule[\"FS\"] = FS;\n\nvar calledRun;\n\ndependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n};\n\nfunction callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach(arg => {\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n}\n\nfunction run(args = arguments_) {\n if (runDependencies > 0) {\n return;\n }\n preRun();\n if (runDependencies > 0) {\n return;\n }\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else {\n doRun();\n }\n}\n\nif (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [ Module[\"preInit\"] ];\n while (Module[\"preInit\"].length > 0) {\n Module[\"preInit\"].pop()();\n }\n}\n\nvar shouldRunNow = true;\n\nif (Module[\"noInitialRun\"]) shouldRunNow = false;\n\nrun();\n\n\n return Module.ready\n}\n\n);\n})();\nexport default Module;","module.exports = new __parcel__URL__(require('./helpers/bundle-manifest').resolve(\"kBXOE\")).toString();","/*\n\nEmglken port of Hugo\n====================\n\nCopyright (c) 2020 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/\n\nimport EmglkenVM from './vm.js'\nimport HugoCore from '../build/hugo-core.js'\n\nexport default class Hugo extends EmglkenVM\n{\n default_options()\n {\n return {\n vmcore: HugoCore,\n }\n }\n}","\nvar Module = (() => {\n var _scriptDir = import.meta.url;\n \n return (\nfunction(Module = {}) {\n\nvar Module = typeof Module != \"undefined\" ? Module : {};\n\nvar readyPromiseResolve, readyPromiseReject;\n\nModule[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n});\n\nvar moduleOverrides = Object.assign({}, Module);\n\nvar arguments_ = [];\n\nvar thisProgram = \"./this.program\";\n\nvar quit_ = (status, toThrow) => {\n throw toThrow;\n};\n\nvar ENVIRONMENT_IS_WEB = true;\n\nvar ENVIRONMENT_IS_WORKER = false;\n\nvar scriptDirectory = \"\";\n\nfunction locateFile(path) {\n if (Module[\"locateFile\"]) {\n return Module[\"locateFile\"](path, scriptDirectory);\n }\n return scriptDirectory + path;\n}\n\nvar read_, readAsync, readBinary, setWindowTitle;\n\nif (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) {\n scriptDirectory = self.location.href;\n } else if (typeof document != \"undefined\" && document.currentScript) {\n scriptDirectory = document.currentScript.src;\n }\n if (_scriptDir) {\n scriptDirectory = _scriptDir;\n }\n if (scriptDirectory.indexOf(\"blob:\") !== 0) {\n scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n } else {\n scriptDirectory = \"\";\n }\n {\n read_ = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) {\n readBinary = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n }\n readAsync = (url, onload, onerror) => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = () => {\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n }\n setWindowTitle = title => document.title = title;\n} else {}\n\nvar out = Module[\"print\"] || console.log.bind(console);\n\nvar err = Module[\"printErr\"] || console.warn.bind(console);\n\nObject.assign(Module, moduleOverrides);\n\nmoduleOverrides = null;\n\nif (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n\nif (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n\nif (Module[\"quit\"]) quit_ = Module[\"quit\"];\n\nvar wasmBinary;\n\nif (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n\nvar noExitRuntime = Module[\"noExitRuntime\"] || false;\n\nif (typeof WebAssembly != \"object\") {\n abort(\"no native wasm support detected\");\n}\n\nvar wasmMemory;\n\nvar ABORT = false;\n\nvar EXITSTATUS;\n\nfunction assert(condition, text) {\n if (!condition) {\n abort(text);\n }\n}\n\nvar UTF8Decoder = new TextDecoder(\"utf8\");\n\nfunction UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n}\n\nfunction UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n}\n\nfunction stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for (var i = 0; i < str.length; ++i) {\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n}\n\nfunction stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n}\n\nfunction lengthBytesUTF8(str) {\n var len = 0;\n for (var i = 0; i < str.length; ++i) {\n var c = str.charCodeAt(i);\n if (c <= 127) {\n len++;\n } else if (c <= 2047) {\n len += 2;\n } else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else {\n len += 3;\n }\n }\n return len;\n}\n\nvar HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n\nfunction updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n}\n\nvar wasmTable;\n\nvar __ATPRERUN__ = [];\n\nvar __ATINIT__ = [];\n\nvar __ATMAIN__ = [];\n\nvar __ATEXIT__ = [];\n\nvar __ATPOSTRUN__ = [];\n\nvar runtimeInitialized = false;\n\nvar runtimeExited = false;\n\nvar runtimeKeepaliveCounter = 0;\n\nfunction keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n}\n\nfunction preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [ Module[\"preRun\"] ];\n while (Module[\"preRun\"].length) {\n addOnPreRun(Module[\"preRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPRERUN__);\n}\n\nfunction initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n}\n\nfunction preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n}\n\nfunction exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n}\n\nfunction postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [ Module[\"postRun\"] ];\n while (Module[\"postRun\"].length) {\n addOnPostRun(Module[\"postRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n}\n\nfunction addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n}\n\nfunction addOnInit(cb) {\n __ATINIT__.unshift(cb);\n}\n\nfunction addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n}\n\nvar runDependencies = 0;\n\nvar runDependencyWatcher = null;\n\nvar dependenciesFulfilled = null;\n\nfunction getUniqueRunDependency(id) {\n return id;\n}\n\nfunction addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n}\n\nfunction removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n}\n\nfunction abort(what) {\n if (Module[\"onAbort\"]) {\n Module[\"onAbort\"](what);\n }\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n}\n\nvar dataURIPrefix = \"data:application/octet-stream;base64,\";\n\nfunction isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n}\n\nvar wasmBinaryFile;\n\nif (Module[\"locateFile\"]) {\n wasmBinaryFile = \"hugo-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) {\n wasmBinaryFile = locateFile(wasmBinaryFile);\n }\n} else {\n wasmBinaryFile = new URL(\"hugo-core.wasm\", import.meta.url).href;\n}\n\nfunction getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) {\n return new Uint8Array(wasmBinary);\n }\n if (readBinary) {\n return readBinary(file);\n }\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n}\n\nfunction getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) {\n throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n }\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n}\n\nfunction instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n}\n\nfunction instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n } else {\n return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n}\n\nfunction createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"t\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"C\"];\n addOnInit(Module[\"asm\"][\"u\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) {\n try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n}\n\nvar tempDouble;\n\nvar tempI64;\n\nfunction __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async () => {\n if (!Module.emglken_stdin_buffers.length) {\n await new Promise(resolve => {\n Module.emglken_stdin_ready = resolve;\n });\n }\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) {\n HEAPU8.set(input, buffer);\n } else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n}\n\nfunction ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n}\n\nfunction callRuntimeCallbacks(callbacks) {\n while (callbacks.length > 0) {\n callbacks.shift()(Module);\n }\n}\n\nvar PATH = {\n isAbs: path => path.charAt(0) === \"/\",\n splitPath: filename => {\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot) => {\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === \".\") {\n parts.splice(i, 1);\n } else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) {\n for (;up; up--) {\n parts.unshift(\"..\");\n }\n }\n return parts;\n },\n normalize: path => {\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter(p => !!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) {\n path = \".\";\n }\n if (path && trailingSlash) {\n path += \"/\";\n }\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: path => {\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) {\n return \".\";\n }\n if (dir) {\n dir = dir.substr(0, dir.length - 1);\n }\n return root + dir;\n },\n basename: path => {\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r) => {\n return PATH.normalize(l + \"/\" + r);\n }\n};\n\nfunction getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return () => {\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return () => abort(\"randomDevice\");\n}\n\nvar PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") {\n throw new TypeError(\"Arguments to path.resolve must be strings\");\n } else if (!path) {\n return \"\";\n }\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter(p => !!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to) => {\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for (;start < arr.length; start++) {\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for (;end >= 0; end--) {\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push(\"..\");\n }\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n};\n\nfunction intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n}\n\nvar TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) {\n throw new FS.ErrnoError(43);\n }\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) {\n throw new FS.ErrnoError(60);\n }\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) {\n throw new FS.ErrnoError(60);\n }\n try {\n for (var i = 0; i < length; i++) {\n stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n }\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) {\n result += \"\\n\";\n }\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) {\n result += \"\\n\";\n }\n }\n if (!result) {\n return null;\n }\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n};\n\nfunction mmapAlloc(size) {\n abort();\n}\n\nvar MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16384 | 511, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {\n throw new FS.ErrnoError(63);\n }\n if (!MEMFS.ops_table) {\n MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n }\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1024 * 1024;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) {\n node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n }\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) {\n attr.size = 4096;\n } else if (FS.isFile(node.mode)) {\n attr.size = node.usedBytes;\n } else if (FS.isLink(node.mode)) {\n attr.size = node.link.length;\n } else {\n attr.size = 0;\n }\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) {\n node.mode = attr.mode;\n }\n if (attr.timestamp !== undefined) {\n node.timestamp = attr.timestamp;\n }\n if (attr.size !== undefined) {\n MEMFS.resizeFileStorage(node, attr.size);\n }\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for (var i in new_node.contents) {\n throw new FS.ErrnoError(55);\n }\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for (var i in node.contents) {\n throw new FS.ErrnoError(55);\n }\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [ \".\", \"..\" ];\n for (var key in node.contents) {\n if (!node.contents.hasOwnProperty(key)) {\n continue;\n }\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) {\n buffer.set(contents.subarray(position, position + size), offset);\n } else {\n for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];\n }\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) {\n canOwn = false;\n }\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n } else {\n for (var i = 0; i < length; i++) {\n node.contents[position + i] = buffer[offset + i];\n }\n }\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) {\n position += stream.position;\n } else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) {\n position += stream.node.usedBytes;\n }\n }\n if (position < 0) {\n throw new FS.ErrnoError(28);\n }\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) {\n contents = contents.subarray(position, position + length);\n } else {\n contents = Array.prototype.slice.call(contents, position, position + length);\n }\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n};\n\nfunction asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, arrayBuffer => {\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, event => {\n if (onerror) {\n onerror();\n } else {\n throw 'Loading data file \"' + url + '\" failed.';\n }\n });\n if (dep) addRunDependency(dep);\n}\n\nvar FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {}) => {\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) {\n throw new FS.ErrnoError(32);\n }\n var parts = path.split(\"/\").filter(p => !!p);\n var current = FS.root;\n var current_path = \"/\";\n for (var i = 0; i < parts.length; i++) {\n var islast = i === parts.length - 1;\n if (islast && opts.parent) {\n break;\n }\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) {\n current = current.mounted.root;\n }\n }\n if (!islast || opts.follow) {\n var count = 0;\n while (FS.isLink(current.mode)) {\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) {\n throw new FS.ErrnoError(32);\n }\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: node => {\n var path;\n while (true) {\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name) => {\n var hash = 0;\n for (var i = 0; i < name.length; i++) {\n hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n }\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) {\n FS.nameTable[hash] = node.name_next;\n } else {\n var current = FS.nameTable[hash];\n while (current) {\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name) => {\n var errCode = FS.mayLookup(parent);\n if (errCode) {\n throw new FS.ErrnoError(errCode, parent);\n }\n var hash = FS.hashName(parent.id, name);\n for (var node = FS.nameTable[hash]; node; node = node.name_next) {\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) {\n return node;\n }\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev) => {\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: node => {\n FS.hashRemoveNode(node);\n },\n isRoot: node => {\n return node === node.parent;\n },\n isMountpoint: node => {\n return !!node.mounted;\n },\n isFile: mode => {\n return (mode & 61440) === 32768;\n },\n isDir: mode => {\n return (mode & 61440) === 16384;\n },\n isLink: mode => {\n return (mode & 61440) === 40960;\n },\n isChrdev: mode => {\n return (mode & 61440) === 8192;\n },\n isBlkdev: mode => {\n return (mode & 61440) === 24576;\n },\n isFIFO: mode => {\n return (mode & 61440) === 4096;\n },\n isSocket: mode => {\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: str => {\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") {\n throw new Error(\"Unknown file open mode: \" + str);\n }\n return flags;\n },\n flagsToPermissionString: flag => {\n var perms = [ \"r\", \"w\", \"rw\" ][flag & 3];\n if (flag & 512) {\n perms += \"w\";\n }\n return perms;\n },\n nodePermissions: (node, perms) => {\n if (FS.ignorePermissions) {\n return 0;\n }\n if (perms.includes(\"r\") && !(node.mode & 292)) {\n return 2;\n } else if (perms.includes(\"w\") && !(node.mode & 146)) {\n return 2;\n } else if (perms.includes(\"x\") && !(node.mode & 73)) {\n return 2;\n }\n return 0;\n },\n mayLookup: dir => {\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name) => {\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir) => {\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) {\n return errCode;\n }\n if (isdir) {\n if (!FS.isDir(node.mode)) {\n return 54;\n }\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {\n return 10;\n }\n } else {\n if (FS.isDir(node.mode)) {\n return 31;\n }\n }\n return 0;\n },\n mayOpen: (node, flags) => {\n if (!node) {\n return 44;\n }\n if (FS.isLink(node.mode)) {\n return 32;\n } else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) {\n return 31;\n }\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => {\n for (var fd = fd_start; fd <= fd_end; fd++) {\n if (!FS.streams[fd]) {\n return fd;\n }\n }\n throw new FS.ErrnoError(33);\n },\n getStream: fd => FS.streams[fd],\n createStream: (stream, fd_start, fd_end) => {\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: fd => {\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: stream => {\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n },\n llseek: () => {\n throw new FS.ErrnoError(70);\n }\n },\n major: dev => dev >> 8,\n minor: dev => dev & 255,\n makedev: (ma, mi) => ma << 8 | mi,\n registerDevice: (dev, ops) => {\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: dev => FS.devices[dev],\n getMounts: mount => {\n var mounts = [];\n var check = [ mount ];\n while (check.length) {\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback) => {\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) {\n err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n }\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) {\n doCallback(null);\n }\n }\n mounts.forEach(mount => {\n if (!mount.type.syncfs) {\n return done(null);\n }\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint) => {\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) {\n throw new FS.ErrnoError(10);\n } else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n if (!FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) {\n FS.root = mountRoot;\n } else if (node) {\n node.mounted = mount;\n if (node.mount) {\n node.mount.mounts.push(mount);\n }\n }\n return mountRoot;\n },\n unmount: mountpoint => {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) {\n throw new FS.ErrnoError(28);\n }\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach(hash => {\n var current = FS.nameTable[hash];\n while (current) {\n var next = current.name_next;\n if (mounts.includes(current.mount)) {\n FS.destroyNode(current);\n }\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name) => {\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev) => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.mayCreate(parent, name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.mknod) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode) => {\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode) => {\n mode = mode !== undefined ? mode : 511;\n mode &= 511 | 512;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode) => {\n var dirs = path.split(\"/\");\n var d = \"\";\n for (var i = 0; i < dirs.length; ++i) {\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev) => {\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath) => {\n if (!PATH_FS.resolve(oldpath)) {\n throw new FS.ErrnoError(44);\n }\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.symlink) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path) => {\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) {\n throw new FS.ErrnoError(75);\n }\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(28);\n }\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(55);\n }\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) {\n return;\n }\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!old_dir.node_ops.rename) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {\n throw new FS.ErrnoError(10);\n }\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally {\n FS.hashAddNode(old_node);\n }\n },\n rmdir: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.rmdir) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) {\n throw new FS.ErrnoError(54);\n }\n return node.node_ops.readdir(node);\n },\n unlink: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.unlink) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: path => {\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) {\n throw new FS.ErrnoError(44);\n }\n if (!link.node_ops.readlink) {\n throw new FS.ErrnoError(28);\n }\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow) => {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (!node.node_ops.getattr) {\n throw new FS.ErrnoError(63);\n }\n return node.node_ops.getattr(node);\n },\n lstat: path => {\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & ~4095,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode) => {\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid) => {\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len) => {\n if (len < 0) {\n throw new FS.ErrnoError(28);\n }\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isDir(node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!FS.isFile(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(28);\n }\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime) => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode) => {\n if (path === \"\") {\n throw new FS.ErrnoError(44);\n }\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) {\n mode = mode & 4095 | 32768;\n } else {\n mode = 0;\n }\n var node;\n if (typeof path == \"object\") {\n node = path;\n } else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) {\n throw new FS.ErrnoError(20);\n }\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (FS.isChrdev(node.mode)) {\n flags &= ~512;\n }\n if (flags & 65536 && !FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n if (flags & 512 && !created) {\n FS.truncate(node, 0);\n }\n flags &= ~(128 | 512 | 131072);\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) {\n FS.readFiles[path] = 1;\n }\n }\n return stream;\n },\n close: stream => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) {\n stream.stream_ops.close(stream);\n }\n } catch (e) {\n throw e;\n } finally {\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: stream => {\n return stream.fd === null;\n },\n llseek: (stream, offset, whence) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (!stream.seekable || !stream.stream_ops.llseek) {\n throw new FS.ErrnoError(70);\n }\n if (whence != 0 && whence != 1 && whence != 2) {\n throw new FS.ErrnoError(28);\n }\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.read) {\n throw new FS.ErrnoError(28);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.write) {\n throw new FS.ErrnoError(28);\n }\n if (stream.seekable && stream.flags & 1024) {\n FS.llseek(stream, 0, 2);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (offset < 0 || length <= 0) {\n throw new FS.ErrnoError(28);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (!stream.stream_ops.allocate) {\n throw new FS.ErrnoError(138);\n }\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags) => {\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {\n throw new FS.ErrnoError(2);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(2);\n }\n if (!stream.stream_ops.mmap) {\n throw new FS.ErrnoError(43);\n }\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags) => {\n if (!stream.stream_ops.msync) {\n return 0;\n }\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: stream => 0,\n ioctl: (stream, cmd, arg) => {\n if (!stream.stream_ops.ioctl) {\n throw new FS.ErrnoError(59);\n }\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {}) => {\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") {\n throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n }\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") {\n ret = UTF8ArrayToString(buf, 0);\n } else if (opts.encoding === \"binary\") {\n ret = buf;\n }\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {}) => {\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) {\n FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n } else {\n throw new Error(\"Unsupported data type\");\n }\n FS.close(stream);\n },\n cwd: () => FS.currentPath,\n chdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) {\n throw new FS.ErrnoError(44);\n }\n if (!FS.isDir(lookup.node.mode)) {\n throw new FS.ErrnoError(54);\n }\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: () => {\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: () => {\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: () => 0,\n write: (stream, buffer, offset, length, pos) => length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: () => {\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: () => {\n var node = FS.createNode(proc_self, \"fd\", 16384 | 511, 73);\n node.node_ops = {\n lookup: (parent, name) => {\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: () => stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: () => {\n if (Module[\"stdin\"]) {\n FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n }\n if (Module[\"stdout\"]) {\n FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n }\n if (Module[\"stderr\"]) {\n FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n } else {\n FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n }\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: () => {\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [ 44 ].forEach(code => {\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: () => {\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error) => {\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: () => {\n FS.init.initialized = false;\n _fflush(0);\n for (var i = 0; i < FS.streams.length; i++) {\n var stream = FS.streams[i];\n if (!stream) {\n continue;\n }\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite) => {\n var mode = 0;\n if (canRead) mode |= 292 | 73;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink) => {\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) {\n return null;\n }\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink) => {\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite) => {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while (parts.length) {\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn) => {\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: stream => {\n stream.seekable = false;\n },\n close: stream => {\n if (output && output.buffer && output.buffer.length) {\n output(10);\n }\n },\n read: (stream, buffer, offset, length, pos) => {\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos) => {\n for (var i = 0; i < length; i++) {\n try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: obj => {\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n if (typeof XMLHttpRequest != \"undefined\") {\n 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.\");\n } else if (read_) {\n try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n } else {\n throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n }\n },\n createLazyFile: (parent, name, url, canRead, canWrite) => {\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) {\n return undefined;\n }\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1024 * 1024;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to) => {\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n }\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) {\n return new Uint8Array(xhr.response || []);\n }\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter(chunkNum => {\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") {\n lazyArray.chunks[chunkNum] = doXHR(start, end);\n }\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else {\n var properties = {\n isDevice: false,\n url: url\n };\n }\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) {\n node.contents = properties.contents;\n } else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach(key => {\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents[position + i];\n }\n } else {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents.get(position + i);\n }\n }\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position) => {\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags) => {\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => {\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) {\n FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n }\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => {\n if (onerror) onerror();\n removeRunDependency(dep);\n })) {\n return;\n }\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") {\n asyncLoad(url, byteArray => processData(byteArray), onerror);\n } else {\n processData(url);\n }\n },\n indexedDB: () => {\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: () => {\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = () => {\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = () => {\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n try {\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var getRequest = files.get(path);\n getRequest.onsuccess = () => {\n if (FS.analyzePath(path).exists) {\n FS.unlink(path);\n }\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n};\n\nvar SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) {\n return path;\n }\n var dir;\n if (dirfd === -100) {\n dir = FS.cwd();\n } else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) {\n throw new FS.ErrnoError(44);\n }\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {\n return -54;\n }\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n 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) ], \n HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n 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) ], \n HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (flags & 2) {\n return 0;\n }\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n};\n\nfunction ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & ~7) {\n return -28;\n }\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) {\n return -44;\n }\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) {\n return -2;\n }\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n}\n\nfunction ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (cmd) {\n case 0:\n {\n var arg = SYSCALLS.get();\n if (arg < 0) {\n return -28;\n }\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n }\n\n case 1:\n case 2:\n return 0;\n\n case 3:\n return stream.flags;\n\n case 4:\n {\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n }\n\n case 5:\n {\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n }\n\n case 6:\n case 7:\n return 0;\n\n case 16:\n case 8:\n return -28;\n\n case 9:\n setErrNo(28);\n return -1;\n\n default:\n {\n return -28;\n }\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (op) {\n case 21509:\n case 21505:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21519:\n {\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n }\n\n case 21520:\n {\n if (!stream.tty) return -59;\n return -28;\n }\n\n case 21531:\n {\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n }\n\n case 21523:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21524:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_stat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nvar nowIsMonotonic = true;\n\nfunction __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n}\n\nfunction readI53FromI64(ptr) {\n return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296;\n}\n\nfunction __isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nvar __MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ];\n\nvar __MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ];\n\nfunction __yday_from_date(date) {\n var isLeapYear = __isLeapYear(date.getFullYear());\n var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday;\n}\n\nfunction __localtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n HEAP32[tmPtr + 32 >> 2] = dst;\n}\n\nfunction allocateUTF8(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = _malloc(size);\n if (ret) stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction __tzset_js(timezone, daylight, tzname) {\n var currentYear = new Date().getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;\n HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);\n function extractZone(date) {\n var match = date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return match ? match[1] : \"GMT\";\n }\n var winterName = extractZone(winter);\n var summerName = extractZone(summer);\n var winterNamePtr = allocateUTF8(winterName);\n var summerNamePtr = allocateUTF8(summerName);\n if (summerOffset < winterOffset) {\n HEAPU32[tzname >> 2] = winterNamePtr;\n HEAPU32[tzname + 4 >> 2] = summerNamePtr;\n } else {\n HEAPU32[tzname >> 2] = summerNamePtr;\n HEAPU32[tzname + 4 >> 2] = winterNamePtr;\n }\n}\n\nfunction _emscripten_date_now() {\n return Date.now();\n}\n\nvar _emscripten_get_now;\n\n_emscripten_get_now = () => performance.now();\n\nfunction _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\n\nfunction emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n}\n\nfunction _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) {\n return false;\n }\n let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\n for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) {\n return true;\n }\n }\n return false;\n}\n\nfunction _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n}\n\nfunction exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) {\n exitRuntime();\n }\n _proc_exit(status);\n}\n\nvar _exit = exitJS;\n\nfunction _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n}\n\nfunction _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n 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) ], \n HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction __arraySum(array, index) {\n var sum = 0;\n for (var i = 0; i <= index; sum += array[i++]) {}\n return sum;\n}\n\nvar __MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];\n\nvar __MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];\n\nfunction __addDays(date, days) {\n var newDate = new Date(date.getTime());\n while (days > 0) {\n var leap = __isLeapYear(newDate.getFullYear());\n var currentMonth = newDate.getMonth();\n var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];\n if (days > daysInCurrentMonth - newDate.getDate()) {\n days -= daysInCurrentMonth - newDate.getDate() + 1;\n newDate.setDate(1);\n if (currentMonth < 11) {\n newDate.setMonth(currentMonth + 1);\n } else {\n newDate.setMonth(0);\n newDate.setFullYear(newDate.getFullYear() + 1);\n }\n } else {\n newDate.setDate(newDate.getDate() + days);\n return newDate;\n }\n }\n return newDate;\n}\n\nfunction writeArrayToMemory(array, buffer) {\n HEAP8.set(array, buffer);\n}\n\nfunction _strftime(s, maxsize, format, tm) {\n var tm_zone = HEAP32[tm + 40 >> 2];\n var date = {\n tm_sec: HEAP32[tm >> 2],\n tm_min: HEAP32[tm + 4 >> 2],\n tm_hour: HEAP32[tm + 8 >> 2],\n tm_mday: HEAP32[tm + 12 >> 2],\n tm_mon: HEAP32[tm + 16 >> 2],\n tm_year: HEAP32[tm + 20 >> 2],\n tm_wday: HEAP32[tm + 24 >> 2],\n tm_yday: HEAP32[tm + 28 >> 2],\n tm_isdst: HEAP32[tm + 32 >> 2],\n tm_gmtoff: HEAP32[tm + 36 >> 2],\n tm_zone: tm_zone ? UTF8ToString(tm_zone) : \"\"\n };\n var pattern = UTF8ToString(format);\n var EXPANSION_RULES_1 = {\n \"%c\": \"%a %b %d %H:%M:%S %Y\",\n \"%D\": \"%m/%d/%y\",\n \"%F\": \"%Y-%m-%d\",\n \"%h\": \"%b\",\n \"%r\": \"%I:%M:%S %p\",\n \"%R\": \"%H:%M\",\n \"%T\": \"%H:%M:%S\",\n \"%x\": \"%m/%d/%y\",\n \"%X\": \"%H:%M:%S\",\n \"%Ec\": \"%c\",\n \"%EC\": \"%C\",\n \"%Ex\": \"%m/%d/%y\",\n \"%EX\": \"%H:%M:%S\",\n \"%Ey\": \"%y\",\n \"%EY\": \"%Y\",\n \"%Od\": \"%d\",\n \"%Oe\": \"%e\",\n \"%OH\": \"%H\",\n \"%OI\": \"%I\",\n \"%Om\": \"%m\",\n \"%OM\": \"%M\",\n \"%OS\": \"%S\",\n \"%Ou\": \"%u\",\n \"%OU\": \"%U\",\n \"%OV\": \"%V\",\n \"%Ow\": \"%w\",\n \"%OW\": \"%W\",\n \"%Oy\": \"%y\"\n };\n for (var rule in EXPANSION_RULES_1) {\n pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_1[rule]);\n }\n var WEEKDAYS = [ \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\" ];\n var MONTHS = [ \"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\" ];\n function leadingSomething(value, digits, character) {\n var str = typeof value == \"number\" ? value.toString() : value || \"\";\n while (str.length < digits) {\n str = character[0] + str;\n }\n return str;\n }\n function leadingNulls(value, digits) {\n return leadingSomething(value, digits, \"0\");\n }\n function compareByDay(date1, date2) {\n function sgn(value) {\n return value < 0 ? -1 : value > 0 ? 1 : 0;\n }\n var compare;\n if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {\n if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) {\n compare = sgn(date1.getDate() - date2.getDate());\n }\n }\n return compare;\n }\n function getFirstWeekStartDate(janFourth) {\n switch (janFourth.getDay()) {\n case 0:\n return new Date(janFourth.getFullYear() - 1, 11, 29);\n\n case 1:\n return janFourth;\n\n case 2:\n return new Date(janFourth.getFullYear(), 0, 3);\n\n case 3:\n return new Date(janFourth.getFullYear(), 0, 2);\n\n case 4:\n return new Date(janFourth.getFullYear(), 0, 1);\n\n case 5:\n return new Date(janFourth.getFullYear() - 1, 11, 31);\n\n case 6:\n return new Date(janFourth.getFullYear() - 1, 11, 30);\n }\n }\n function getWeekBasedYear(date) {\n var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);\n var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);\n var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);\n var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);\n var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);\n if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {\n if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {\n return thisDate.getFullYear() + 1;\n }\n return thisDate.getFullYear();\n }\n return thisDate.getFullYear() - 1;\n }\n var EXPANSION_RULES_2 = {\n \"%a\": function(date) {\n return WEEKDAYS[date.tm_wday].substring(0, 3);\n },\n \"%A\": function(date) {\n return WEEKDAYS[date.tm_wday];\n },\n \"%b\": function(date) {\n return MONTHS[date.tm_mon].substring(0, 3);\n },\n \"%B\": function(date) {\n return MONTHS[date.tm_mon];\n },\n \"%C\": function(date) {\n var year = date.tm_year + 1900;\n return leadingNulls(year / 100 | 0, 2);\n },\n \"%d\": function(date) {\n return leadingNulls(date.tm_mday, 2);\n },\n \"%e\": function(date) {\n return leadingSomething(date.tm_mday, 2, \" \");\n },\n \"%g\": function(date) {\n return getWeekBasedYear(date).toString().substring(2);\n },\n \"%G\": function(date) {\n return getWeekBasedYear(date);\n },\n \"%H\": function(date) {\n return leadingNulls(date.tm_hour, 2);\n },\n \"%I\": function(date) {\n var twelveHour = date.tm_hour;\n if (twelveHour == 0) twelveHour = 12; else if (twelveHour > 12) twelveHour -= 12;\n return leadingNulls(twelveHour, 2);\n },\n \"%j\": function(date) {\n return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);\n },\n \"%m\": function(date) {\n return leadingNulls(date.tm_mon + 1, 2);\n },\n \"%M\": function(date) {\n return leadingNulls(date.tm_min, 2);\n },\n \"%n\": function() {\n return \"\\n\";\n },\n \"%p\": function(date) {\n if (date.tm_hour >= 0 && date.tm_hour < 12) {\n return \"AM\";\n }\n return \"PM\";\n },\n \"%S\": function(date) {\n return leadingNulls(date.tm_sec, 2);\n },\n \"%t\": function() {\n return \"\\t\";\n },\n \"%u\": function(date) {\n return date.tm_wday || 7;\n },\n \"%U\": function(date) {\n var days = date.tm_yday + 7 - date.tm_wday;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%V\": function(date) {\n var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7) / 7);\n if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) {\n val++;\n }\n if (!val) {\n val = 52;\n var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;\n if (dec31 == 4 || dec31 == 5 && __isLeapYear(date.tm_year % 400 - 1)) {\n val++;\n }\n } else if (val == 53) {\n var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;\n if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) val = 1;\n }\n return leadingNulls(val, 2);\n },\n \"%w\": function(date) {\n return date.tm_wday;\n },\n \"%W\": function(date) {\n var days = date.tm_yday + 7 - (date.tm_wday + 6) % 7;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%y\": function(date) {\n return (date.tm_year + 1900).toString().substring(2);\n },\n \"%Y\": function(date) {\n return date.tm_year + 1900;\n },\n \"%z\": function(date) {\n var off = date.tm_gmtoff;\n var ahead = off >= 0;\n off = Math.abs(off) / 60;\n off = off / 60 * 100 + off % 60;\n return (ahead ? \"+\" : \"-\") + String(\"0000\" + off).slice(-4);\n },\n \"%Z\": function(date) {\n return date.tm_zone;\n },\n \"%%\": function() {\n return \"%\";\n }\n };\n pattern = pattern.replace(/%%/g, \"\\0\\0\");\n for (var rule in EXPANSION_RULES_2) {\n if (pattern.includes(rule)) {\n pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_2[rule](date));\n }\n }\n pattern = pattern.replace(/\\0\\0/g, \"%\");\n var bytes = intArrayFromString(pattern, false);\n if (bytes.length > maxsize) {\n return 0;\n }\n writeArrayToMemory(bytes, s);\n return bytes.length - 1;\n}\n\nfunction handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") {\n return EXITSTATUS;\n }\n quit_(1, e);\n}\n\nfunction allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n}\n\nfunction maybeExit() {\n if (!keepRuntimeAlive()) {\n try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n}\n\nfunction callUserCallback(func) {\n if (runtimeExited || ABORT) {\n return;\n }\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n}\n\nfunction runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n}\n\nfunction runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n}\n\nvar Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [ \"emscripten_sleep\", \"emscripten_wget\", \"emscripten_wget_data\", \"emscripten_idb_load\", \"emscripten_idb_store\", \"emscripten_idb_delete\", \"emscripten_idb_exists\", \"emscripten_idb_load_blob\", \"emscripten_idb_store_blob\", \"SDL_Delay\", \"emscripten_scan_registers\", \"emscripten_lazy_load_code\", \"emscripten_fiber_swap\", \"__load_secondary_module\", \"fd_sync\", \"__wasi_fd_sync\", \"_emval_await\", \"_dlopen_js\", \"__asyncjs__*\" ];\n for (var x in imports) {\n (function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") {\n var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n }\n })(x);\n }\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for (var x in exports) {\n (function(x) {\n var original = exports[x];\n if (typeof original == \"function\") {\n ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally {\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n } else {\n ret[x] = original;\n }\n })(x);\n }\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") {\n Fibers.trampoline();\n }\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject) => {\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0) => {\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) {\n return;\n }\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(() => _asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.resume();\n }\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) {\n throw asyncWasmReturnValue;\n }\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.pause();\n }\n runAndAbortIfError(() => _asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach(func => callUserCallback(func));\n } else {\n abort(\"invalid state: \" + Asyncify.state);\n }\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep(wakeUp => {\n startAsync().then(wakeUp);\n });\n }\n};\n\nfunction AsciiToString(ptr) {\n var str = \"\";\n while (1) {\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n}\n\nvar FSNode = function(parent, name, mode, rdev) {\n if (!parent) {\n parent = this;\n }\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n};\n\nvar readMode = 292 | 73;\n\nvar writeMode = 146;\n\nObject.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n});\n\nFS.FSNode = FSNode;\n\nFS.staticInit();\n\nvar wasmImports = {\n \"j\": __asyncjs__emglken_fill_stdin_buffer,\n \"s\": ___syscall_faccessat,\n \"e\": ___syscall_fcntl64,\n \"r\": ___syscall_getcwd,\n \"q\": ___syscall_ioctl,\n \"p\": ___syscall_openat,\n \"o\": ___syscall_stat64,\n \"m\": __emscripten_get_now_is_monotonic,\n \"l\": __localtime_js,\n \"k\": __tzset_js,\n \"b\": _emscripten_date_now,\n \"i\": _emscripten_memcpy_big,\n \"h\": _emscripten_resize_heap,\n \"a\": _exit,\n \"d\": _fd_close,\n \"n\": _fd_read,\n \"g\": _fd_seek,\n \"c\": _fd_write,\n \"f\": _strftime\n};\n\nvar asm = createWasm();\n\nvar ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"u\"]).apply(null, arguments);\n};\n\nvar _malloc = function() {\n return (_malloc = Module[\"asm\"][\"v\"]).apply(null, arguments);\n};\n\nvar _free = function() {\n return (_free = Module[\"asm\"][\"w\"]).apply(null, arguments);\n};\n\nvar _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"x\"]).apply(null, arguments);\n};\n\nvar _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"y\"]).apply(null, arguments);\n};\n\nvar _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"z\"]).apply(null, arguments);\n};\n\nvar ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"A\"]).apply(null, arguments);\n};\n\nvar ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"B\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n};\n\nvar stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"D\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"E\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"F\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"G\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"H\"]).apply(null, arguments);\n};\n\nvar ___start_em_js = Module[\"___start_em_js\"] = 18128;\n\nvar ___stop_em_js = Module[\"___stop_em_js\"] = 20813;\n\nModule[\"AsciiToString\"] = AsciiToString;\n\nModule[\"FS\"] = FS;\n\nvar calledRun;\n\ndependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n};\n\nfunction callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach(arg => {\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n}\n\nfunction run(args = arguments_) {\n if (runDependencies > 0) {\n return;\n }\n preRun();\n if (runDependencies > 0) {\n return;\n }\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else {\n doRun();\n }\n}\n\nif (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [ Module[\"preInit\"] ];\n while (Module[\"preInit\"].length > 0) {\n Module[\"preInit\"].pop()();\n }\n}\n\nvar shouldRunNow = true;\n\nif (Module[\"noInitialRun\"]) shouldRunNow = false;\n\nrun();\n\n\n return Module.ready\n}\n\n);\n})();\nexport default Module;","module.exports = new __parcel__URL__(require('./helpers/bundle-manifest').resolve(\"ida9s\")).toString();","/*\n\nEmglken port of TADS\n====================\n\nCopyright (c) 2020 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/\n\nimport EmglkenVM from './vm.js'\nimport TADSCore from '../build/tads-core.js'\n\nexport default class TADS extends EmglkenVM\n{\n default_options()\n {\n return {\n vmcore: TADSCore,\n }\n }\n}","\nvar Module = (() => {\n var _scriptDir = import.meta.url;\n \n return (\nfunction(Module = {}) {\n\nvar Module = typeof Module != \"undefined\" ? Module : {};\n\nvar readyPromiseResolve, readyPromiseReject;\n\nModule[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n});\n\nvar moduleOverrides = Object.assign({}, Module);\n\nvar arguments_ = [];\n\nvar thisProgram = \"./this.program\";\n\nvar quit_ = (status, toThrow) => {\n throw toThrow;\n};\n\nvar ENVIRONMENT_IS_WEB = true;\n\nvar ENVIRONMENT_IS_WORKER = false;\n\nvar scriptDirectory = \"\";\n\nfunction locateFile(path) {\n if (Module[\"locateFile\"]) {\n return Module[\"locateFile\"](path, scriptDirectory);\n }\n return scriptDirectory + path;\n}\n\nvar read_, readAsync, readBinary, setWindowTitle;\n\nif (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) {\n scriptDirectory = self.location.href;\n } else if (typeof document != \"undefined\" && document.currentScript) {\n scriptDirectory = document.currentScript.src;\n }\n if (_scriptDir) {\n scriptDirectory = _scriptDir;\n }\n if (scriptDirectory.indexOf(\"blob:\") !== 0) {\n scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n } else {\n scriptDirectory = \"\";\n }\n {\n read_ = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) {\n readBinary = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n }\n readAsync = (url, onload, onerror) => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = () => {\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n }\n setWindowTitle = title => document.title = title;\n} else {}\n\nvar out = Module[\"print\"] || console.log.bind(console);\n\nvar err = Module[\"printErr\"] || console.warn.bind(console);\n\nObject.assign(Module, moduleOverrides);\n\nmoduleOverrides = null;\n\nif (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n\nif (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n\nif (Module[\"quit\"]) quit_ = Module[\"quit\"];\n\nvar wasmBinary;\n\nif (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n\nvar noExitRuntime = Module[\"noExitRuntime\"] || false;\n\nif (typeof WebAssembly != \"object\") {\n abort(\"no native wasm support detected\");\n}\n\nvar wasmMemory;\n\nvar ABORT = false;\n\nvar EXITSTATUS;\n\nfunction assert(condition, text) {\n if (!condition) {\n abort(text);\n }\n}\n\nvar UTF8Decoder = new TextDecoder(\"utf8\");\n\nfunction UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n}\n\nfunction UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n}\n\nfunction stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for (var i = 0; i < str.length; ++i) {\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n}\n\nfunction stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n}\n\nfunction lengthBytesUTF8(str) {\n var len = 0;\n for (var i = 0; i < str.length; ++i) {\n var c = str.charCodeAt(i);\n if (c <= 127) {\n len++;\n } else if (c <= 2047) {\n len += 2;\n } else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else {\n len += 3;\n }\n }\n return len;\n}\n\nvar HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n\nfunction updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n}\n\nvar wasmTable;\n\nvar __ATPRERUN__ = [];\n\nvar __ATINIT__ = [];\n\nvar __ATMAIN__ = [];\n\nvar __ATEXIT__ = [];\n\nvar __ATPOSTRUN__ = [];\n\nvar runtimeInitialized = false;\n\nvar runtimeExited = false;\n\nvar runtimeKeepaliveCounter = 0;\n\nfunction keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n}\n\nfunction preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [ Module[\"preRun\"] ];\n while (Module[\"preRun\"].length) {\n addOnPreRun(Module[\"preRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPRERUN__);\n}\n\nfunction initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n}\n\nfunction preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n}\n\nfunction exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n}\n\nfunction postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [ Module[\"postRun\"] ];\n while (Module[\"postRun\"].length) {\n addOnPostRun(Module[\"postRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n}\n\nfunction addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n}\n\nfunction addOnInit(cb) {\n __ATINIT__.unshift(cb);\n}\n\nfunction addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n}\n\nvar runDependencies = 0;\n\nvar runDependencyWatcher = null;\n\nvar dependenciesFulfilled = null;\n\nfunction getUniqueRunDependency(id) {\n return id;\n}\n\nfunction addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n}\n\nfunction removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n}\n\nfunction abort(what) {\n if (Module[\"onAbort\"]) {\n Module[\"onAbort\"](what);\n }\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n}\n\nvar dataURIPrefix = \"data:application/octet-stream;base64,\";\n\nfunction isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n}\n\nvar wasmBinaryFile;\n\nif (Module[\"locateFile\"]) {\n wasmBinaryFile = \"tads-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) {\n wasmBinaryFile = locateFile(wasmBinaryFile);\n }\n} else {\n wasmBinaryFile = new URL(\"tads-core.wasm\", import.meta.url).href;\n}\n\nfunction getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) {\n return new Uint8Array(wasmBinary);\n }\n if (readBinary) {\n return readBinary(file);\n }\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n}\n\nfunction getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) {\n throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n }\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n}\n\nfunction instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n}\n\nfunction instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n } else {\n return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n}\n\nfunction createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"ha\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"qa\"];\n addOnInit(Module[\"asm\"][\"ia\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) {\n try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n}\n\nvar tempDouble;\n\nvar tempI64;\n\nfunction __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async () => {\n if (!Module.emglken_stdin_buffers.length) {\n await new Promise(resolve => {\n Module.emglken_stdin_ready = resolve;\n });\n }\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) {\n HEAPU8.set(input, buffer);\n } else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n}\n\nfunction ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n}\n\nfunction callRuntimeCallbacks(callbacks) {\n while (callbacks.length > 0) {\n callbacks.shift()(Module);\n }\n}\n\nvar PATH = {\n isAbs: path => path.charAt(0) === \"/\",\n splitPath: filename => {\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot) => {\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === \".\") {\n parts.splice(i, 1);\n } else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) {\n for (;up; up--) {\n parts.unshift(\"..\");\n }\n }\n return parts;\n },\n normalize: path => {\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter(p => !!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) {\n path = \".\";\n }\n if (path && trailingSlash) {\n path += \"/\";\n }\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: path => {\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) {\n return \".\";\n }\n if (dir) {\n dir = dir.substr(0, dir.length - 1);\n }\n return root + dir;\n },\n basename: path => {\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r) => {\n return PATH.normalize(l + \"/\" + r);\n }\n};\n\nfunction getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return () => {\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return () => abort(\"randomDevice\");\n}\n\nvar PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") {\n throw new TypeError(\"Arguments to path.resolve must be strings\");\n } else if (!path) {\n return \"\";\n }\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter(p => !!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to) => {\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for (;start < arr.length; start++) {\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for (;end >= 0; end--) {\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push(\"..\");\n }\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n};\n\nfunction intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n}\n\nvar TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) {\n throw new FS.ErrnoError(43);\n }\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) {\n throw new FS.ErrnoError(60);\n }\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) {\n throw new FS.ErrnoError(60);\n }\n try {\n for (var i = 0; i < length; i++) {\n stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n }\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) {\n result += \"\\n\";\n }\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) {\n result += \"\\n\";\n }\n }\n if (!result) {\n return null;\n }\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n};\n\nfunction mmapAlloc(size) {\n abort();\n}\n\nvar MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16384 | 511, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {\n throw new FS.ErrnoError(63);\n }\n if (!MEMFS.ops_table) {\n MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n }\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1024 * 1024;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) {\n node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n }\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) {\n attr.size = 4096;\n } else if (FS.isFile(node.mode)) {\n attr.size = node.usedBytes;\n } else if (FS.isLink(node.mode)) {\n attr.size = node.link.length;\n } else {\n attr.size = 0;\n }\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) {\n node.mode = attr.mode;\n }\n if (attr.timestamp !== undefined) {\n node.timestamp = attr.timestamp;\n }\n if (attr.size !== undefined) {\n MEMFS.resizeFileStorage(node, attr.size);\n }\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for (var i in new_node.contents) {\n throw new FS.ErrnoError(55);\n }\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for (var i in node.contents) {\n throw new FS.ErrnoError(55);\n }\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [ \".\", \"..\" ];\n for (var key in node.contents) {\n if (!node.contents.hasOwnProperty(key)) {\n continue;\n }\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) {\n buffer.set(contents.subarray(position, position + size), offset);\n } else {\n for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];\n }\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) {\n canOwn = false;\n }\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n } else {\n for (var i = 0; i < length; i++) {\n node.contents[position + i] = buffer[offset + i];\n }\n }\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) {\n position += stream.position;\n } else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) {\n position += stream.node.usedBytes;\n }\n }\n if (position < 0) {\n throw new FS.ErrnoError(28);\n }\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) {\n contents = contents.subarray(position, position + length);\n } else {\n contents = Array.prototype.slice.call(contents, position, position + length);\n }\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n};\n\nfunction asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, arrayBuffer => {\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, event => {\n if (onerror) {\n onerror();\n } else {\n throw 'Loading data file \"' + url + '\" failed.';\n }\n });\n if (dep) addRunDependency(dep);\n}\n\nvar FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {}) => {\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) {\n throw new FS.ErrnoError(32);\n }\n var parts = path.split(\"/\").filter(p => !!p);\n var current = FS.root;\n var current_path = \"/\";\n for (var i = 0; i < parts.length; i++) {\n var islast = i === parts.length - 1;\n if (islast && opts.parent) {\n break;\n }\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) {\n current = current.mounted.root;\n }\n }\n if (!islast || opts.follow) {\n var count = 0;\n while (FS.isLink(current.mode)) {\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) {\n throw new FS.ErrnoError(32);\n }\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: node => {\n var path;\n while (true) {\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name) => {\n var hash = 0;\n for (var i = 0; i < name.length; i++) {\n hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n }\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) {\n FS.nameTable[hash] = node.name_next;\n } else {\n var current = FS.nameTable[hash];\n while (current) {\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name) => {\n var errCode = FS.mayLookup(parent);\n if (errCode) {\n throw new FS.ErrnoError(errCode, parent);\n }\n var hash = FS.hashName(parent.id, name);\n for (var node = FS.nameTable[hash]; node; node = node.name_next) {\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) {\n return node;\n }\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev) => {\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: node => {\n FS.hashRemoveNode(node);\n },\n isRoot: node => {\n return node === node.parent;\n },\n isMountpoint: node => {\n return !!node.mounted;\n },\n isFile: mode => {\n return (mode & 61440) === 32768;\n },\n isDir: mode => {\n return (mode & 61440) === 16384;\n },\n isLink: mode => {\n return (mode & 61440) === 40960;\n },\n isChrdev: mode => {\n return (mode & 61440) === 8192;\n },\n isBlkdev: mode => {\n return (mode & 61440) === 24576;\n },\n isFIFO: mode => {\n return (mode & 61440) === 4096;\n },\n isSocket: mode => {\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: str => {\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") {\n throw new Error(\"Unknown file open mode: \" + str);\n }\n return flags;\n },\n flagsToPermissionString: flag => {\n var perms = [ \"r\", \"w\", \"rw\" ][flag & 3];\n if (flag & 512) {\n perms += \"w\";\n }\n return perms;\n },\n nodePermissions: (node, perms) => {\n if (FS.ignorePermissions) {\n return 0;\n }\n if (perms.includes(\"r\") && !(node.mode & 292)) {\n return 2;\n } else if (perms.includes(\"w\") && !(node.mode & 146)) {\n return 2;\n } else if (perms.includes(\"x\") && !(node.mode & 73)) {\n return 2;\n }\n return 0;\n },\n mayLookup: dir => {\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name) => {\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir) => {\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) {\n return errCode;\n }\n if (isdir) {\n if (!FS.isDir(node.mode)) {\n return 54;\n }\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {\n return 10;\n }\n } else {\n if (FS.isDir(node.mode)) {\n return 31;\n }\n }\n return 0;\n },\n mayOpen: (node, flags) => {\n if (!node) {\n return 44;\n }\n if (FS.isLink(node.mode)) {\n return 32;\n } else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) {\n return 31;\n }\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => {\n for (var fd = fd_start; fd <= fd_end; fd++) {\n if (!FS.streams[fd]) {\n return fd;\n }\n }\n throw new FS.ErrnoError(33);\n },\n getStream: fd => FS.streams[fd],\n createStream: (stream, fd_start, fd_end) => {\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: fd => {\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: stream => {\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n },\n llseek: () => {\n throw new FS.ErrnoError(70);\n }\n },\n major: dev => dev >> 8,\n minor: dev => dev & 255,\n makedev: (ma, mi) => ma << 8 | mi,\n registerDevice: (dev, ops) => {\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: dev => FS.devices[dev],\n getMounts: mount => {\n var mounts = [];\n var check = [ mount ];\n while (check.length) {\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback) => {\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) {\n err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n }\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) {\n doCallback(null);\n }\n }\n mounts.forEach(mount => {\n if (!mount.type.syncfs) {\n return done(null);\n }\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint) => {\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) {\n throw new FS.ErrnoError(10);\n } else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n if (!FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) {\n FS.root = mountRoot;\n } else if (node) {\n node.mounted = mount;\n if (node.mount) {\n node.mount.mounts.push(mount);\n }\n }\n return mountRoot;\n },\n unmount: mountpoint => {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) {\n throw new FS.ErrnoError(28);\n }\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach(hash => {\n var current = FS.nameTable[hash];\n while (current) {\n var next = current.name_next;\n if (mounts.includes(current.mount)) {\n FS.destroyNode(current);\n }\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name) => {\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev) => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.mayCreate(parent, name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.mknod) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode) => {\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode) => {\n mode = mode !== undefined ? mode : 511;\n mode &= 511 | 512;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode) => {\n var dirs = path.split(\"/\");\n var d = \"\";\n for (var i = 0; i < dirs.length; ++i) {\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev) => {\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath) => {\n if (!PATH_FS.resolve(oldpath)) {\n throw new FS.ErrnoError(44);\n }\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.symlink) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path) => {\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) {\n throw new FS.ErrnoError(75);\n }\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(28);\n }\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(55);\n }\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) {\n return;\n }\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!old_dir.node_ops.rename) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {\n throw new FS.ErrnoError(10);\n }\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally {\n FS.hashAddNode(old_node);\n }\n },\n rmdir: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.rmdir) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) {\n throw new FS.ErrnoError(54);\n }\n return node.node_ops.readdir(node);\n },\n unlink: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.unlink) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: path => {\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) {\n throw new FS.ErrnoError(44);\n }\n if (!link.node_ops.readlink) {\n throw new FS.ErrnoError(28);\n }\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow) => {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (!node.node_ops.getattr) {\n throw new FS.ErrnoError(63);\n }\n return node.node_ops.getattr(node);\n },\n lstat: path => {\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & ~4095,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode) => {\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid) => {\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len) => {\n if (len < 0) {\n throw new FS.ErrnoError(28);\n }\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isDir(node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!FS.isFile(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(28);\n }\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime) => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode) => {\n if (path === \"\") {\n throw new FS.ErrnoError(44);\n }\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) {\n mode = mode & 4095 | 32768;\n } else {\n mode = 0;\n }\n var node;\n if (typeof path == \"object\") {\n node = path;\n } else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) {\n throw new FS.ErrnoError(20);\n }\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (FS.isChrdev(node.mode)) {\n flags &= ~512;\n }\n if (flags & 65536 && !FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n if (flags & 512 && !created) {\n FS.truncate(node, 0);\n }\n flags &= ~(128 | 512 | 131072);\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) {\n FS.readFiles[path] = 1;\n }\n }\n return stream;\n },\n close: stream => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) {\n stream.stream_ops.close(stream);\n }\n } catch (e) {\n throw e;\n } finally {\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: stream => {\n return stream.fd === null;\n },\n llseek: (stream, offset, whence) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (!stream.seekable || !stream.stream_ops.llseek) {\n throw new FS.ErrnoError(70);\n }\n if (whence != 0 && whence != 1 && whence != 2) {\n throw new FS.ErrnoError(28);\n }\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.read) {\n throw new FS.ErrnoError(28);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.write) {\n throw new FS.ErrnoError(28);\n }\n if (stream.seekable && stream.flags & 1024) {\n FS.llseek(stream, 0, 2);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (offset < 0 || length <= 0) {\n throw new FS.ErrnoError(28);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (!stream.stream_ops.allocate) {\n throw new FS.ErrnoError(138);\n }\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags) => {\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {\n throw new FS.ErrnoError(2);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(2);\n }\n if (!stream.stream_ops.mmap) {\n throw new FS.ErrnoError(43);\n }\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags) => {\n if (!stream.stream_ops.msync) {\n return 0;\n }\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: stream => 0,\n ioctl: (stream, cmd, arg) => {\n if (!stream.stream_ops.ioctl) {\n throw new FS.ErrnoError(59);\n }\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {}) => {\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") {\n throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n }\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") {\n ret = UTF8ArrayToString(buf, 0);\n } else if (opts.encoding === \"binary\") {\n ret = buf;\n }\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {}) => {\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) {\n FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n } else {\n throw new Error(\"Unsupported data type\");\n }\n FS.close(stream);\n },\n cwd: () => FS.currentPath,\n chdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) {\n throw new FS.ErrnoError(44);\n }\n if (!FS.isDir(lookup.node.mode)) {\n throw new FS.ErrnoError(54);\n }\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: () => {\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: () => {\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: () => 0,\n write: (stream, buffer, offset, length, pos) => length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: () => {\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: () => {\n var node = FS.createNode(proc_self, \"fd\", 16384 | 511, 73);\n node.node_ops = {\n lookup: (parent, name) => {\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: () => stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: () => {\n if (Module[\"stdin\"]) {\n FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n }\n if (Module[\"stdout\"]) {\n FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n }\n if (Module[\"stderr\"]) {\n FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n } else {\n FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n }\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: () => {\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [ 44 ].forEach(code => {\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: () => {\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error) => {\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: () => {\n FS.init.initialized = false;\n _fflush(0);\n for (var i = 0; i < FS.streams.length; i++) {\n var stream = FS.streams[i];\n if (!stream) {\n continue;\n }\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite) => {\n var mode = 0;\n if (canRead) mode |= 292 | 73;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink) => {\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) {\n return null;\n }\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink) => {\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite) => {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while (parts.length) {\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn) => {\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: stream => {\n stream.seekable = false;\n },\n close: stream => {\n if (output && output.buffer && output.buffer.length) {\n output(10);\n }\n },\n read: (stream, buffer, offset, length, pos) => {\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos) => {\n for (var i = 0; i < length; i++) {\n try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: obj => {\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n if (typeof XMLHttpRequest != \"undefined\") {\n 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.\");\n } else if (read_) {\n try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n } else {\n throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n }\n },\n createLazyFile: (parent, name, url, canRead, canWrite) => {\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) {\n return undefined;\n }\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1024 * 1024;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to) => {\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n }\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) {\n return new Uint8Array(xhr.response || []);\n }\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter(chunkNum => {\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") {\n lazyArray.chunks[chunkNum] = doXHR(start, end);\n }\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else {\n var properties = {\n isDevice: false,\n url: url\n };\n }\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) {\n node.contents = properties.contents;\n } else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach(key => {\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents[position + i];\n }\n } else {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents.get(position + i);\n }\n }\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position) => {\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags) => {\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => {\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) {\n FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n }\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => {\n if (onerror) onerror();\n removeRunDependency(dep);\n })) {\n return;\n }\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") {\n asyncLoad(url, byteArray => processData(byteArray), onerror);\n } else {\n processData(url);\n }\n },\n indexedDB: () => {\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: () => {\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = () => {\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = () => {\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n try {\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var getRequest = files.get(path);\n getRequest.onsuccess = () => {\n if (FS.analyzePath(path).exists) {\n FS.unlink(path);\n }\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n};\n\nvar SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) {\n return path;\n }\n var dir;\n if (dirfd === -100) {\n dir = FS.cwd();\n } else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) {\n throw new FS.ErrnoError(44);\n }\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {\n return -54;\n }\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n 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) ], \n HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n 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) ], \n HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (flags & 2) {\n return 0;\n }\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n};\n\nfunction ___syscall_dup(fd) {\n try {\n var old = SYSCALLS.getStreamFromFD(fd);\n return FS.createStream(old, 0).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & ~7) {\n return -28;\n }\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) {\n return -44;\n }\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) {\n return -2;\n }\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n}\n\nfunction ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (cmd) {\n case 0:\n {\n var arg = SYSCALLS.get();\n if (arg < 0) {\n return -28;\n }\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n }\n\n case 1:\n case 2:\n return 0;\n\n case 3:\n return stream.flags;\n\n case 4:\n {\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n }\n\n case 5:\n {\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n }\n\n case 6:\n case 7:\n return 0;\n\n case 16:\n case 8:\n return -28;\n\n case 9:\n setErrNo(28);\n return -1;\n\n default:\n {\n return -28;\n }\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_getdents64(fd, dirp, count) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n if (!stream.getdents) {\n stream.getdents = FS.readdir(stream.path);\n }\n var struct_size = 280;\n var pos = 0;\n var off = FS.llseek(stream, 0, 1);\n var idx = Math.floor(off / struct_size);\n while (idx < stream.getdents.length && pos + struct_size <= count) {\n var id;\n var type;\n var name = stream.getdents[idx];\n if (name === \".\") {\n id = stream.node.id;\n type = 4;\n } else if (name === \"..\") {\n var lookup = FS.lookupPath(stream.path, {\n parent: true\n });\n id = lookup.node.id;\n type = 4;\n } else {\n var child = FS.lookupNode(stream.node, name);\n id = child.id;\n type = FS.isChrdev(child.mode) ? 2 : FS.isDir(child.mode) ? 4 : FS.isLink(child.mode) ? 10 : 8;\n }\n tempI64 = [ id >>> 0, (tempDouble = id, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[dirp + pos >> 2] = tempI64[0], HEAP32[dirp + pos + 4 >> 2] = tempI64[1];\n tempI64 = [ (idx + 1) * struct_size >>> 0, (tempDouble = (idx + 1) * struct_size, \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[dirp + pos + 8 >> 2] = tempI64[0], HEAP32[dirp + pos + 12 >> 2] = tempI64[1];\n HEAP16[dirp + pos + 16 >> 1] = 280;\n HEAP8[dirp + pos + 18 >> 0] = type;\n stringToUTF8(name, dirp + pos + 19, 256);\n pos += struct_size;\n idx += 1;\n }\n FS.llseek(stream, idx * struct_size, 0);\n return pos;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (op) {\n case 21509:\n case 21505:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21519:\n {\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n }\n\n case 21520:\n {\n if (!stream.tty) return -59;\n return -28;\n }\n\n case 21531:\n {\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n }\n\n case 21523:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21524:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_lstat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.lstat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_mkdirat(dirfd, path, mode) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n path = PATH.normalize(path);\n if (path[path.length - 1] === \"/\") path = path.substr(0, path.length - 1);\n FS.mkdir(path, mode, 0);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_newfstatat(dirfd, path, buf, flags) {\n try {\n path = SYSCALLS.getStr(path);\n var nofollow = flags & 256;\n var allowEmpty = flags & 4096;\n flags = flags & ~6400;\n path = SYSCALLS.calculateAt(dirfd, path, allowEmpty);\n return SYSCALLS.doStat(nofollow ? FS.lstat : FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_readlinkat(dirfd, path, buf, bufsize) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (bufsize <= 0) return -28;\n var ret = FS.readlink(path);\n var len = Math.min(bufsize, lengthBytesUTF8(ret));\n var endChar = HEAP8[buf + len];\n stringToUTF8(ret, buf, bufsize + 1);\n HEAP8[buf + len] = endChar;\n return len;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_renameat(olddirfd, oldpath, newdirfd, newpath) {\n try {\n oldpath = SYSCALLS.getStr(oldpath);\n newpath = SYSCALLS.getStr(newpath);\n oldpath = SYSCALLS.calculateAt(olddirfd, oldpath);\n newpath = SYSCALLS.calculateAt(newdirfd, newpath);\n FS.rename(oldpath, newpath);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_rmdir(path) {\n try {\n path = SYSCALLS.getStr(path);\n FS.rmdir(path);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_stat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_unlinkat(dirfd, path, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (flags === 0) {\n FS.unlink(path);\n } else if (flags === 512) {\n FS.rmdir(path);\n } else {\n abort(\"Invalid flags passed to unlinkat\");\n }\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nvar nowIsMonotonic = true;\n\nfunction __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n}\n\nfunction __emscripten_throw_longjmp() {\n throw Infinity;\n}\n\nfunction readI53FromI64(ptr) {\n return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296;\n}\n\nfunction __gmtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getUTCSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getUTCHours();\n HEAP32[tmPtr + 12 >> 2] = date.getUTCDate();\n HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();\n var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);\n var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n}\n\nfunction __isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nvar __MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ];\n\nvar __MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ];\n\nfunction __yday_from_date(date) {\n var isLeapYear = __isLeapYear(date.getFullYear());\n var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday;\n}\n\nfunction __localtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n HEAP32[tmPtr + 32 >> 2] = dst;\n}\n\nfunction allocateUTF8(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = _malloc(size);\n if (ret) stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction __tzset_js(timezone, daylight, tzname) {\n var currentYear = new Date().getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;\n HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);\n function extractZone(date) {\n var match = date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return match ? match[1] : \"GMT\";\n }\n var winterName = extractZone(winter);\n var summerName = extractZone(summer);\n var winterNamePtr = allocateUTF8(winterName);\n var summerNamePtr = allocateUTF8(summerName);\n if (summerOffset < winterOffset) {\n HEAPU32[tzname >> 2] = winterNamePtr;\n HEAPU32[tzname + 4 >> 2] = summerNamePtr;\n } else {\n HEAPU32[tzname >> 2] = summerNamePtr;\n HEAPU32[tzname + 4 >> 2] = winterNamePtr;\n }\n}\n\nfunction _abort() {\n abort(\"\");\n}\n\nfunction _emscripten_date_now() {\n return Date.now();\n}\n\nvar _emscripten_get_now;\n\n_emscripten_get_now = () => performance.now();\n\nfunction _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\n\nfunction emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n}\n\nfunction _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) {\n return false;\n }\n let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\n for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) {\n return true;\n }\n }\n return false;\n}\n\nvar ENV = {};\n\nfunction getExecutableName() {\n return thisProgram || \"./this.program\";\n}\n\nfunction getEnvStrings() {\n if (!getEnvStrings.strings) {\n var lang = (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\";\n var env = {\n \"USER\": \"web_user\",\n \"LOGNAME\": \"web_user\",\n \"PATH\": \"/\",\n \"PWD\": \"/\",\n \"HOME\": \"/home/web_user\",\n \"LANG\": lang,\n \"_\": getExecutableName()\n };\n for (var x in ENV) {\n if (ENV[x] === undefined) delete env[x]; else env[x] = ENV[x];\n }\n var strings = [];\n for (var x in env) {\n strings.push(x + \"=\" + env[x]);\n }\n getEnvStrings.strings = strings;\n }\n return getEnvStrings.strings;\n}\n\nfunction writeAsciiToMemory(str, buffer, dontAddNull) {\n for (var i = 0; i < str.length; ++i) {\n HEAP8[buffer++ >> 0] = str.charCodeAt(i);\n }\n if (!dontAddNull) HEAP8[buffer >> 0] = 0;\n}\n\nfunction _environ_get(__environ, environ_buf) {\n var bufSize = 0;\n getEnvStrings().forEach(function(string, i) {\n var ptr = environ_buf + bufSize;\n HEAPU32[__environ + i * 4 >> 2] = ptr;\n writeAsciiToMemory(string, ptr);\n bufSize += string.length + 1;\n });\n return 0;\n}\n\nfunction _environ_sizes_get(penviron_count, penviron_buf_size) {\n var strings = getEnvStrings();\n HEAPU32[penviron_count >> 2] = strings.length;\n var bufSize = 0;\n strings.forEach(function(string) {\n bufSize += string.length + 1;\n });\n HEAPU32[penviron_buf_size >> 2] = bufSize;\n return 0;\n}\n\nfunction _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n}\n\nfunction exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) {\n exitRuntime();\n }\n _proc_exit(status);\n}\n\nvar _exit = exitJS;\n\nfunction _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n}\n\nfunction _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n 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) ], \n HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction __arraySum(array, index) {\n var sum = 0;\n for (var i = 0; i <= index; sum += array[i++]) {}\n return sum;\n}\n\nvar __MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];\n\nvar __MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];\n\nfunction __addDays(date, days) {\n var newDate = new Date(date.getTime());\n while (days > 0) {\n var leap = __isLeapYear(newDate.getFullYear());\n var currentMonth = newDate.getMonth();\n var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];\n if (days > daysInCurrentMonth - newDate.getDate()) {\n days -= daysInCurrentMonth - newDate.getDate() + 1;\n newDate.setDate(1);\n if (currentMonth < 11) {\n newDate.setMonth(currentMonth + 1);\n } else {\n newDate.setMonth(0);\n newDate.setFullYear(newDate.getFullYear() + 1);\n }\n } else {\n newDate.setDate(newDate.getDate() + days);\n return newDate;\n }\n }\n return newDate;\n}\n\nfunction writeArrayToMemory(array, buffer) {\n HEAP8.set(array, buffer);\n}\n\nfunction _strftime(s, maxsize, format, tm) {\n var tm_zone = HEAP32[tm + 40 >> 2];\n var date = {\n tm_sec: HEAP32[tm >> 2],\n tm_min: HEAP32[tm + 4 >> 2],\n tm_hour: HEAP32[tm + 8 >> 2],\n tm_mday: HEAP32[tm + 12 >> 2],\n tm_mon: HEAP32[tm + 16 >> 2],\n tm_year: HEAP32[tm + 20 >> 2],\n tm_wday: HEAP32[tm + 24 >> 2],\n tm_yday: HEAP32[tm + 28 >> 2],\n tm_isdst: HEAP32[tm + 32 >> 2],\n tm_gmtoff: HEAP32[tm + 36 >> 2],\n tm_zone: tm_zone ? UTF8ToString(tm_zone) : \"\"\n };\n var pattern = UTF8ToString(format);\n var EXPANSION_RULES_1 = {\n \"%c\": \"%a %b %d %H:%M:%S %Y\",\n \"%D\": \"%m/%d/%y\",\n \"%F\": \"%Y-%m-%d\",\n \"%h\": \"%b\",\n \"%r\": \"%I:%M:%S %p\",\n \"%R\": \"%H:%M\",\n \"%T\": \"%H:%M:%S\",\n \"%x\": \"%m/%d/%y\",\n \"%X\": \"%H:%M:%S\",\n \"%Ec\": \"%c\",\n \"%EC\": \"%C\",\n \"%Ex\": \"%m/%d/%y\",\n \"%EX\": \"%H:%M:%S\",\n \"%Ey\": \"%y\",\n \"%EY\": \"%Y\",\n \"%Od\": \"%d\",\n \"%Oe\": \"%e\",\n \"%OH\": \"%H\",\n \"%OI\": \"%I\",\n \"%Om\": \"%m\",\n \"%OM\": \"%M\",\n \"%OS\": \"%S\",\n \"%Ou\": \"%u\",\n \"%OU\": \"%U\",\n \"%OV\": \"%V\",\n \"%Ow\": \"%w\",\n \"%OW\": \"%W\",\n \"%Oy\": \"%y\"\n };\n for (var rule in EXPANSION_RULES_1) {\n pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_1[rule]);\n }\n var WEEKDAYS = [ \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\" ];\n var MONTHS = [ \"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\" ];\n function leadingSomething(value, digits, character) {\n var str = typeof value == \"number\" ? value.toString() : value || \"\";\n while (str.length < digits) {\n str = character[0] + str;\n }\n return str;\n }\n function leadingNulls(value, digits) {\n return leadingSomething(value, digits, \"0\");\n }\n function compareByDay(date1, date2) {\n function sgn(value) {\n return value < 0 ? -1 : value > 0 ? 1 : 0;\n }\n var compare;\n if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {\n if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) {\n compare = sgn(date1.getDate() - date2.getDate());\n }\n }\n return compare;\n }\n function getFirstWeekStartDate(janFourth) {\n switch (janFourth.getDay()) {\n case 0:\n return new Date(janFourth.getFullYear() - 1, 11, 29);\n\n case 1:\n return janFourth;\n\n case 2:\n return new Date(janFourth.getFullYear(), 0, 3);\n\n case 3:\n return new Date(janFourth.getFullYear(), 0, 2);\n\n case 4:\n return new Date(janFourth.getFullYear(), 0, 1);\n\n case 5:\n return new Date(janFourth.getFullYear() - 1, 11, 31);\n\n case 6:\n return new Date(janFourth.getFullYear() - 1, 11, 30);\n }\n }\n function getWeekBasedYear(date) {\n var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);\n var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);\n var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);\n var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);\n var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);\n if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {\n if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {\n return thisDate.getFullYear() + 1;\n }\n return thisDate.getFullYear();\n }\n return thisDate.getFullYear() - 1;\n }\n var EXPANSION_RULES_2 = {\n \"%a\": function(date) {\n return WEEKDAYS[date.tm_wday].substring(0, 3);\n },\n \"%A\": function(date) {\n return WEEKDAYS[date.tm_wday];\n },\n \"%b\": function(date) {\n return MONTHS[date.tm_mon].substring(0, 3);\n },\n \"%B\": function(date) {\n return MONTHS[date.tm_mon];\n },\n \"%C\": function(date) {\n var year = date.tm_year + 1900;\n return leadingNulls(year / 100 | 0, 2);\n },\n \"%d\": function(date) {\n return leadingNulls(date.tm_mday, 2);\n },\n \"%e\": function(date) {\n return leadingSomething(date.tm_mday, 2, \" \");\n },\n \"%g\": function(date) {\n return getWeekBasedYear(date).toString().substring(2);\n },\n \"%G\": function(date) {\n return getWeekBasedYear(date);\n },\n \"%H\": function(date) {\n return leadingNulls(date.tm_hour, 2);\n },\n \"%I\": function(date) {\n var twelveHour = date.tm_hour;\n if (twelveHour == 0) twelveHour = 12; else if (twelveHour > 12) twelveHour -= 12;\n return leadingNulls(twelveHour, 2);\n },\n \"%j\": function(date) {\n return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);\n },\n \"%m\": function(date) {\n return leadingNulls(date.tm_mon + 1, 2);\n },\n \"%M\": function(date) {\n return leadingNulls(date.tm_min, 2);\n },\n \"%n\": function() {\n return \"\\n\";\n },\n \"%p\": function(date) {\n if (date.tm_hour >= 0 && date.tm_hour < 12) {\n return \"AM\";\n }\n return \"PM\";\n },\n \"%S\": function(date) {\n return leadingNulls(date.tm_sec, 2);\n },\n \"%t\": function() {\n return \"\\t\";\n },\n \"%u\": function(date) {\n return date.tm_wday || 7;\n },\n \"%U\": function(date) {\n var days = date.tm_yday + 7 - date.tm_wday;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%V\": function(date) {\n var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7) / 7);\n if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) {\n val++;\n }\n if (!val) {\n val = 52;\n var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;\n if (dec31 == 4 || dec31 == 5 && __isLeapYear(date.tm_year % 400 - 1)) {\n val++;\n }\n } else if (val == 53) {\n var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;\n if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) val = 1;\n }\n return leadingNulls(val, 2);\n },\n \"%w\": function(date) {\n return date.tm_wday;\n },\n \"%W\": function(date) {\n var days = date.tm_yday + 7 - (date.tm_wday + 6) % 7;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%y\": function(date) {\n return (date.tm_year + 1900).toString().substring(2);\n },\n \"%Y\": function(date) {\n return date.tm_year + 1900;\n },\n \"%z\": function(date) {\n var off = date.tm_gmtoff;\n var ahead = off >= 0;\n off = Math.abs(off) / 60;\n off = off / 60 * 100 + off % 60;\n return (ahead ? \"+\" : \"-\") + String(\"0000\" + off).slice(-4);\n },\n \"%Z\": function(date) {\n return date.tm_zone;\n },\n \"%%\": function() {\n return \"%\";\n }\n };\n pattern = pattern.replace(/%%/g, \"\\0\\0\");\n for (var rule in EXPANSION_RULES_2) {\n if (pattern.includes(rule)) {\n pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_2[rule](date));\n }\n }\n pattern = pattern.replace(/\\0\\0/g, \"%\");\n var bytes = intArrayFromString(pattern, false);\n if (bytes.length > maxsize) {\n return 0;\n }\n writeArrayToMemory(bytes, s);\n return bytes.length - 1;\n}\n\nfunction handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") {\n return EXITSTATUS;\n }\n quit_(1, e);\n}\n\nfunction allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n}\n\nfunction maybeExit() {\n if (!keepRuntimeAlive()) {\n try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n}\n\nfunction callUserCallback(func) {\n if (runtimeExited || ABORT) {\n return;\n }\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n}\n\nfunction runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n}\n\nfunction runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n}\n\nvar Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [ \"invoke_*\", \"emscripten_sleep\", \"emscripten_wget\", \"emscripten_wget_data\", \"emscripten_idb_load\", \"emscripten_idb_store\", \"emscripten_idb_delete\", \"emscripten_idb_exists\", \"emscripten_idb_load_blob\", \"emscripten_idb_store_blob\", \"SDL_Delay\", \"emscripten_scan_registers\", \"emscripten_lazy_load_code\", \"emscripten_fiber_swap\", \"__load_secondary_module\", \"fd_sync\", \"__wasi_fd_sync\", \"_emval_await\", \"_dlopen_js\", \"__asyncjs__*\" ];\n for (var x in imports) {\n (function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") {\n var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n }\n })(x);\n }\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for (var x in exports) {\n (function(x) {\n var original = exports[x];\n if (typeof original == \"function\") {\n ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally {\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n } else {\n ret[x] = original;\n }\n })(x);\n }\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") {\n Fibers.trampoline();\n }\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject) => {\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0) => {\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) {\n return;\n }\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(() => _asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.resume();\n }\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) {\n throw asyncWasmReturnValue;\n }\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.pause();\n }\n runAndAbortIfError(() => _asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach(func => callUserCallback(func));\n } else {\n abort(\"invalid state: \" + Asyncify.state);\n }\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep(wakeUp => {\n startAsync().then(wakeUp);\n });\n }\n};\n\nfunction AsciiToString(ptr) {\n var str = \"\";\n while (1) {\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n}\n\nvar FSNode = function(parent, name, mode, rdev) {\n if (!parent) {\n parent = this;\n }\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n};\n\nvar readMode = 292 | 73;\n\nvar writeMode = 146;\n\nObject.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n});\n\nFS.FSNode = FSNode;\n\nFS.staticInit();\n\nvar wasmImports = {\n \"O\": __asyncjs__emglken_fill_stdin_buffer,\n \"ga\": ___syscall_dup,\n \"fa\": ___syscall_faccessat,\n \"G\": ___syscall_fcntl64,\n \"ea\": ___syscall_getcwd,\n \"da\": ___syscall_getdents64,\n \"ca\": ___syscall_ioctl,\n \"ba\": ___syscall_lstat64,\n \"aa\": ___syscall_mkdirat,\n \"$\": ___syscall_newfstatat,\n \"F\": ___syscall_openat,\n \"_\": ___syscall_readlinkat,\n \"Z\": ___syscall_renameat,\n \"E\": ___syscall_rmdir,\n \"Y\": ___syscall_stat64,\n \"X\": ___syscall_unlinkat,\n \"T\": __emscripten_get_now_is_monotonic,\n \"S\": __emscripten_throw_longjmp,\n \"R\": __gmtime_js,\n \"Q\": __localtime_js,\n \"P\": __tzset_js,\n \"C\": _abort,\n \"B\": _emscripten_date_now,\n \"A\": _emscripten_get_now,\n \"N\": _emscripten_memcpy_big,\n \"M\": _emscripten_resize_heap,\n \"W\": _environ_get,\n \"V\": _environ_sizes_get,\n \"y\": _exit,\n \"w\": _fd_close,\n \"U\": _fd_read,\n \"I\": _fd_seek,\n \"D\": _fd_write,\n \"L\": invoke_i,\n \"b\": invoke_ii,\n \"f\": invoke_iii,\n \"e\": invoke_iiii,\n \"c\": invoke_iiiii,\n \"j\": invoke_iiiiii,\n \"l\": invoke_iiiiiii,\n \"m\": invoke_iiiiiiii,\n \"s\": invoke_iiiiiiiii,\n \"t\": invoke_iiiiiiiiii,\n \"p\": invoke_iiiiiiiiiii,\n \"x\": invoke_iiiiiiiiiiii,\n \"q\": invoke_iiiiiiiiiiiiii,\n \"z\": invoke_iiiiiiiiiiiiiiii,\n \"v\": invoke_iiiiiiiiiiiiiiiiii,\n \"i\": invoke_v,\n \"h\": invoke_vi,\n \"d\": invoke_vii,\n \"a\": invoke_viii,\n \"g\": invoke_viiii,\n \"o\": invoke_viiiii,\n \"n\": invoke_viiiiii,\n \"K\": invoke_viiiiiii,\n \"r\": invoke_viiiiiiii,\n \"k\": invoke_viiiiiiiii,\n \"u\": invoke_viiiiiiiiiii,\n \"J\": invoke_viiiiiiiiiiiiiii,\n \"H\": _strftime\n};\n\nvar asm = createWasm();\n\nvar ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"ia\"]).apply(null, arguments);\n};\n\nvar _malloc = function() {\n return (_malloc = Module[\"asm\"][\"ja\"]).apply(null, arguments);\n};\n\nvar _free = function() {\n return (_free = Module[\"asm\"][\"ka\"]).apply(null, arguments);\n};\n\nvar _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"la\"]).apply(null, arguments);\n};\n\nvar _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"ma\"]).apply(null, arguments);\n};\n\nvar _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"na\"]).apply(null, arguments);\n};\n\nvar ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"oa\"]).apply(null, arguments);\n};\n\nvar ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"pa\"]).apply(null, arguments);\n};\n\nvar _setThrew = function() {\n return (_setThrew = Module[\"asm\"][\"ra\"]).apply(null, arguments);\n};\n\nvar _saveSetjmp = function() {\n return (_saveSetjmp = Module[\"asm\"][\"saveSetjmp\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n};\n\nvar stackSave = function() {\n return (stackSave = Module[\"asm\"][\"sa\"]).apply(null, arguments);\n};\n\nvar stackRestore = function() {\n return (stackRestore = Module[\"asm\"][\"ta\"]).apply(null, arguments);\n};\n\nvar stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"ua\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiii = Module[\"dynCall_iiiii\"] = function() {\n return (dynCall_iiiii = Module[\"dynCall_iiiii\"] = Module[\"asm\"][\"va\"]).apply(null, arguments);\n};\n\nvar dynCall_ii = Module[\"dynCall_ii\"] = function() {\n return (dynCall_ii = Module[\"dynCall_ii\"] = Module[\"asm\"][\"wa\"]).apply(null, arguments);\n};\n\nvar dynCall_vi = Module[\"dynCall_vi\"] = function() {\n return (dynCall_vi = Module[\"dynCall_vi\"] = Module[\"asm\"][\"xa\"]).apply(null, arguments);\n};\n\nvar dynCall_iii = Module[\"dynCall_iii\"] = function() {\n return (dynCall_iii = Module[\"dynCall_iii\"] = Module[\"asm\"][\"ya\"]).apply(null, arguments);\n};\n\nvar dynCall_viii = Module[\"dynCall_viii\"] = function() {\n return (dynCall_viii = Module[\"dynCall_viii\"] = Module[\"asm\"][\"za\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiiiii = Module[\"dynCall_viiiiiiii\"] = function() {\n return (dynCall_viiiiiiii = Module[\"dynCall_viiiiiiii\"] = Module[\"asm\"][\"Aa\"]).apply(null, arguments);\n};\n\nvar dynCall_vii = Module[\"dynCall_vii\"] = function() {\n return (dynCall_vii = Module[\"dynCall_vii\"] = Module[\"asm\"][\"Ba\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiii = Module[\"dynCall_viiiii\"] = function() {\n return (dynCall_viiiii = Module[\"dynCall_viiiii\"] = Module[\"asm\"][\"Ca\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiii = Module[\"dynCall_iiiiii\"] = function() {\n return (dynCall_iiiiii = Module[\"dynCall_iiiiii\"] = Module[\"asm\"][\"Da\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiii = Module[\"dynCall_viiiiii\"] = function() {\n return (dynCall_viiiiii = Module[\"dynCall_viiiiii\"] = Module[\"asm\"][\"Ea\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiiii = Module[\"dynCall_iiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiii = Module[\"dynCall_iiiiiiiii\"] = Module[\"asm\"][\"Fa\"]).apply(null, arguments);\n};\n\nvar dynCall_iiii = Module[\"dynCall_iiii\"] = function() {\n return (dynCall_iiii = Module[\"dynCall_iiii\"] = Module[\"asm\"][\"Ga\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiiiiii = Module[\"dynCall_viiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiii = Module[\"dynCall_viiiiiiiii\"] = Module[\"asm\"][\"Ha\"]).apply(null, arguments);\n};\n\nvar dynCall_viiii = Module[\"dynCall_viiii\"] = function() {\n return (dynCall_viiii = Module[\"dynCall_viiii\"] = Module[\"asm\"][\"Ia\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiii = Module[\"dynCall_iiiiiii\"] = function() {\n return (dynCall_iiiiiii = Module[\"dynCall_iiiiiii\"] = Module[\"asm\"][\"Ja\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiiiiiiii = Module[\"dynCall_viiiiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiiiii = Module[\"dynCall_viiiiiiiiiii\"] = Module[\"asm\"][\"Ka\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiiiii = Module[\"dynCall_iiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiii = Module[\"dynCall_iiiiiiiiii\"] = Module[\"asm\"][\"La\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiii = Module[\"dynCall_iiiiiiii\"] = function() {\n return (dynCall_iiiiiiii = Module[\"dynCall_iiiiiiii\"] = Module[\"asm\"][\"Ma\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiiiiii = Module[\"dynCall_iiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiii = Module[\"dynCall_iiiiiiiiiii\"] = Module[\"asm\"][\"Na\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiii\"] = Module[\"asm\"][\"Oa\"]).apply(null, arguments);\n};\n\nvar dynCall_v = Module[\"dynCall_v\"] = function() {\n return (dynCall_v = Module[\"dynCall_v\"] = Module[\"asm\"][\"Pa\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiiiiiii\"] = Module[\"asm\"][\"Qa\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiiii = Module[\"dynCall_viiiiiii\"] = function() {\n return (dynCall_viiiiiii = Module[\"dynCall_viiiiiii\"] = Module[\"asm\"][\"Ra\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiiiiiiiiiiii = Module[\"dynCall_viiiiiiiiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiiiiiiiii = Module[\"dynCall_viiiiiiiiiiiiiii\"] = Module[\"asm\"][\"Sa\"]).apply(null, arguments);\n};\n\nvar dynCall_i = Module[\"dynCall_i\"] = function() {\n return (dynCall_i = Module[\"dynCall_i\"] = Module[\"asm\"][\"Ta\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiii\"] = Module[\"asm\"][\"Ua\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiiiii\"] = Module[\"asm\"][\"Va\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"Wa\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"Xa\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"Ya\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"Za\"]).apply(null, arguments);\n};\n\nvar ___start_em_js = Module[\"___start_em_js\"] = 356528;\n\nvar ___stop_em_js = Module[\"___stop_em_js\"] = 359213;\n\nfunction invoke_viii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n dynCall_viii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_vii(index, a1, a2) {\n var sp = stackSave();\n try {\n dynCall_vii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiii(index, a1, a2, a3, a4, a5) {\n var sp = stackSave();\n try {\n return dynCall_iiiiii(index, a1, a2, a3, a4, a5);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iii(index, a1, a2) {\n var sp = stackSave();\n try {\n return dynCall_iii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) {\n var sp = stackSave();\n try {\n dynCall_viiiiii(index, a1, a2, a3, a4, a5, a6);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_iiii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_vi(index, a1) {\n var sp = stackSave();\n try {\n dynCall_vi(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n dynCall_viiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_ii(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ii(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiii(index, a1, a2, a3, a4, a5, a6);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiii(index, a1, a2, a3, a4, a5) {\n var sp = stackSave();\n try {\n dynCall_viiiii(index, a1, a2, a3, a4, a5);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n return dynCall_iiiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_v(index) {\n var sp = stackSave();\n try {\n dynCall_v(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n var sp = stackSave();\n try {\n dynCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_i(index) {\n var sp = stackSave();\n try {\n return dynCall_i(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nModule[\"AsciiToString\"] = AsciiToString;\n\nModule[\"FS\"] = FS;\n\nvar calledRun;\n\ndependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n};\n\nfunction callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach(arg => {\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n}\n\nfunction run(args = arguments_) {\n if (runDependencies > 0) {\n return;\n }\n preRun();\n if (runDependencies > 0) {\n return;\n }\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else {\n doRun();\n }\n}\n\nif (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [ Module[\"preInit\"] ];\n while (Module[\"preInit\"].length > 0) {\n Module[\"preInit\"].pop()();\n }\n}\n\nvar shouldRunNow = true;\n\nif (Module[\"noInitialRun\"]) shouldRunNow = false;\n\nrun();\n\n\n return Module.ready\n}\n\n);\n})();\nexport default Module;","module.exports = new __parcel__URL__(require('./helpers/bundle-manifest').resolve(\"90qbH\")).toString();","/*\n\nEmglken port of Scare\n=====================\n\nCopyright (c) 2023 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/\n\nimport EmglkenVM from './vm.js'\nimport ScareCore from '../build/scare-core.js'\n\nexport default class Scare extends EmglkenVM\n{\n default_options()\n {\n return {\n vmcore: ScareCore,\n }\n }\n}","\nvar Module = (() => {\n var _scriptDir = import.meta.url;\n \n return (\nfunction(Module = {}) {\n\nvar Module = typeof Module != \"undefined\" ? Module : {};\n\nvar readyPromiseResolve, readyPromiseReject;\n\nModule[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n});\n\nvar moduleOverrides = Object.assign({}, Module);\n\nvar arguments_ = [];\n\nvar thisProgram = \"./this.program\";\n\nvar quit_ = (status, toThrow) => {\n throw toThrow;\n};\n\nvar ENVIRONMENT_IS_WEB = true;\n\nvar ENVIRONMENT_IS_WORKER = false;\n\nvar scriptDirectory = \"\";\n\nfunction locateFile(path) {\n if (Module[\"locateFile\"]) {\n return Module[\"locateFile\"](path, scriptDirectory);\n }\n return scriptDirectory + path;\n}\n\nvar read_, readAsync, readBinary, setWindowTitle;\n\nif (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) {\n scriptDirectory = self.location.href;\n } else if (typeof document != \"undefined\" && document.currentScript) {\n scriptDirectory = document.currentScript.src;\n }\n if (_scriptDir) {\n scriptDirectory = _scriptDir;\n }\n if (scriptDirectory.indexOf(\"blob:\") !== 0) {\n scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n } else {\n scriptDirectory = \"\";\n }\n {\n read_ = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) {\n readBinary = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n }\n readAsync = (url, onload, onerror) => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = () => {\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n }\n setWindowTitle = title => document.title = title;\n} else {}\n\nvar out = Module[\"print\"] || console.log.bind(console);\n\nvar err = Module[\"printErr\"] || console.warn.bind(console);\n\nObject.assign(Module, moduleOverrides);\n\nmoduleOverrides = null;\n\nif (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n\nif (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n\nif (Module[\"quit\"]) quit_ = Module[\"quit\"];\n\nvar wasmBinary;\n\nif (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n\nvar noExitRuntime = Module[\"noExitRuntime\"] || false;\n\nif (typeof WebAssembly != \"object\") {\n abort(\"no native wasm support detected\");\n}\n\nvar wasmMemory;\n\nvar ABORT = false;\n\nvar EXITSTATUS;\n\nfunction assert(condition, text) {\n if (!condition) {\n abort(text);\n }\n}\n\nvar UTF8Decoder = new TextDecoder(\"utf8\");\n\nfunction UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n}\n\nfunction UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n}\n\nfunction stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for (var i = 0; i < str.length; ++i) {\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n}\n\nfunction stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n}\n\nfunction lengthBytesUTF8(str) {\n var len = 0;\n for (var i = 0; i < str.length; ++i) {\n var c = str.charCodeAt(i);\n if (c <= 127) {\n len++;\n } else if (c <= 2047) {\n len += 2;\n } else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else {\n len += 3;\n }\n }\n return len;\n}\n\nvar HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n\nfunction updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n}\n\nvar wasmTable;\n\nvar __ATPRERUN__ = [];\n\nvar __ATINIT__ = [];\n\nvar __ATMAIN__ = [];\n\nvar __ATEXIT__ = [];\n\nvar __ATPOSTRUN__ = [];\n\nvar runtimeInitialized = false;\n\nvar runtimeExited = false;\n\nvar runtimeKeepaliveCounter = 0;\n\nfunction keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n}\n\nfunction preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [ Module[\"preRun\"] ];\n while (Module[\"preRun\"].length) {\n addOnPreRun(Module[\"preRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPRERUN__);\n}\n\nfunction initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n}\n\nfunction preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n}\n\nfunction exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n}\n\nfunction postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [ Module[\"postRun\"] ];\n while (Module[\"postRun\"].length) {\n addOnPostRun(Module[\"postRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n}\n\nfunction addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n}\n\nfunction addOnInit(cb) {\n __ATINIT__.unshift(cb);\n}\n\nfunction addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n}\n\nvar runDependencies = 0;\n\nvar runDependencyWatcher = null;\n\nvar dependenciesFulfilled = null;\n\nfunction getUniqueRunDependency(id) {\n return id;\n}\n\nfunction addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n}\n\nfunction removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n}\n\nfunction abort(what) {\n if (Module[\"onAbort\"]) {\n Module[\"onAbort\"](what);\n }\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n}\n\nvar dataURIPrefix = \"data:application/octet-stream;base64,\";\n\nfunction isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n}\n\nvar wasmBinaryFile;\n\nif (Module[\"locateFile\"]) {\n wasmBinaryFile = \"scare-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) {\n wasmBinaryFile = locateFile(wasmBinaryFile);\n }\n} else {\n wasmBinaryFile = new URL(\"scare-core.wasm\", import.meta.url).href;\n}\n\nfunction getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) {\n return new Uint8Array(wasmBinary);\n }\n if (readBinary) {\n return readBinary(file);\n }\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n}\n\nfunction getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) {\n throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n }\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n}\n\nfunction instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n}\n\nfunction instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n } else {\n return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n}\n\nfunction createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"E\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"N\"];\n addOnInit(Module[\"asm\"][\"F\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) {\n try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n}\n\nvar tempDouble;\n\nvar tempI64;\n\nfunction __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async () => {\n if (!Module.emglken_stdin_buffers.length) {\n await new Promise(resolve => {\n Module.emglken_stdin_ready = resolve;\n });\n }\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) {\n HEAPU8.set(input, buffer);\n } else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n}\n\nfunction ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n}\n\nfunction callRuntimeCallbacks(callbacks) {\n while (callbacks.length > 0) {\n callbacks.shift()(Module);\n }\n}\n\nvar PATH = {\n isAbs: path => path.charAt(0) === \"/\",\n splitPath: filename => {\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot) => {\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === \".\") {\n parts.splice(i, 1);\n } else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) {\n for (;up; up--) {\n parts.unshift(\"..\");\n }\n }\n return parts;\n },\n normalize: path => {\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter(p => !!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) {\n path = \".\";\n }\n if (path && trailingSlash) {\n path += \"/\";\n }\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: path => {\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) {\n return \".\";\n }\n if (dir) {\n dir = dir.substr(0, dir.length - 1);\n }\n return root + dir;\n },\n basename: path => {\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r) => {\n return PATH.normalize(l + \"/\" + r);\n }\n};\n\nfunction getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return () => {\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return () => abort(\"randomDevice\");\n}\n\nvar PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") {\n throw new TypeError(\"Arguments to path.resolve must be strings\");\n } else if (!path) {\n return \"\";\n }\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter(p => !!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to) => {\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for (;start < arr.length; start++) {\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for (;end >= 0; end--) {\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push(\"..\");\n }\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n};\n\nfunction intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n}\n\nvar TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) {\n throw new FS.ErrnoError(43);\n }\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) {\n throw new FS.ErrnoError(60);\n }\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) {\n throw new FS.ErrnoError(60);\n }\n try {\n for (var i = 0; i < length; i++) {\n stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n }\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) {\n result += \"\\n\";\n }\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) {\n result += \"\\n\";\n }\n }\n if (!result) {\n return null;\n }\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n};\n\nfunction mmapAlloc(size) {\n abort();\n}\n\nvar MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16384 | 511, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {\n throw new FS.ErrnoError(63);\n }\n if (!MEMFS.ops_table) {\n MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n }\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1024 * 1024;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) {\n node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n }\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) {\n attr.size = 4096;\n } else if (FS.isFile(node.mode)) {\n attr.size = node.usedBytes;\n } else if (FS.isLink(node.mode)) {\n attr.size = node.link.length;\n } else {\n attr.size = 0;\n }\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) {\n node.mode = attr.mode;\n }\n if (attr.timestamp !== undefined) {\n node.timestamp = attr.timestamp;\n }\n if (attr.size !== undefined) {\n MEMFS.resizeFileStorage(node, attr.size);\n }\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for (var i in new_node.contents) {\n throw new FS.ErrnoError(55);\n }\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for (var i in node.contents) {\n throw new FS.ErrnoError(55);\n }\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [ \".\", \"..\" ];\n for (var key in node.contents) {\n if (!node.contents.hasOwnProperty(key)) {\n continue;\n }\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) {\n buffer.set(contents.subarray(position, position + size), offset);\n } else {\n for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];\n }\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) {\n canOwn = false;\n }\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n } else {\n for (var i = 0; i < length; i++) {\n node.contents[position + i] = buffer[offset + i];\n }\n }\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) {\n position += stream.position;\n } else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) {\n position += stream.node.usedBytes;\n }\n }\n if (position < 0) {\n throw new FS.ErrnoError(28);\n }\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) {\n contents = contents.subarray(position, position + length);\n } else {\n contents = Array.prototype.slice.call(contents, position, position + length);\n }\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n};\n\nfunction asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, arrayBuffer => {\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, event => {\n if (onerror) {\n onerror();\n } else {\n throw 'Loading data file \"' + url + '\" failed.';\n }\n });\n if (dep) addRunDependency(dep);\n}\n\nvar FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {}) => {\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) {\n throw new FS.ErrnoError(32);\n }\n var parts = path.split(\"/\").filter(p => !!p);\n var current = FS.root;\n var current_path = \"/\";\n for (var i = 0; i < parts.length; i++) {\n var islast = i === parts.length - 1;\n if (islast && opts.parent) {\n break;\n }\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) {\n current = current.mounted.root;\n }\n }\n if (!islast || opts.follow) {\n var count = 0;\n while (FS.isLink(current.mode)) {\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) {\n throw new FS.ErrnoError(32);\n }\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: node => {\n var path;\n while (true) {\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name) => {\n var hash = 0;\n for (var i = 0; i < name.length; i++) {\n hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n }\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) {\n FS.nameTable[hash] = node.name_next;\n } else {\n var current = FS.nameTable[hash];\n while (current) {\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name) => {\n var errCode = FS.mayLookup(parent);\n if (errCode) {\n throw new FS.ErrnoError(errCode, parent);\n }\n var hash = FS.hashName(parent.id, name);\n for (var node = FS.nameTable[hash]; node; node = node.name_next) {\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) {\n return node;\n }\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev) => {\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: node => {\n FS.hashRemoveNode(node);\n },\n isRoot: node => {\n return node === node.parent;\n },\n isMountpoint: node => {\n return !!node.mounted;\n },\n isFile: mode => {\n return (mode & 61440) === 32768;\n },\n isDir: mode => {\n return (mode & 61440) === 16384;\n },\n isLink: mode => {\n return (mode & 61440) === 40960;\n },\n isChrdev: mode => {\n return (mode & 61440) === 8192;\n },\n isBlkdev: mode => {\n return (mode & 61440) === 24576;\n },\n isFIFO: mode => {\n return (mode & 61440) === 4096;\n },\n isSocket: mode => {\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: str => {\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") {\n throw new Error(\"Unknown file open mode: \" + str);\n }\n return flags;\n },\n flagsToPermissionString: flag => {\n var perms = [ \"r\", \"w\", \"rw\" ][flag & 3];\n if (flag & 512) {\n perms += \"w\";\n }\n return perms;\n },\n nodePermissions: (node, perms) => {\n if (FS.ignorePermissions) {\n return 0;\n }\n if (perms.includes(\"r\") && !(node.mode & 292)) {\n return 2;\n } else if (perms.includes(\"w\") && !(node.mode & 146)) {\n return 2;\n } else if (perms.includes(\"x\") && !(node.mode & 73)) {\n return 2;\n }\n return 0;\n },\n mayLookup: dir => {\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name) => {\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir) => {\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) {\n return errCode;\n }\n if (isdir) {\n if (!FS.isDir(node.mode)) {\n return 54;\n }\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {\n return 10;\n }\n } else {\n if (FS.isDir(node.mode)) {\n return 31;\n }\n }\n return 0;\n },\n mayOpen: (node, flags) => {\n if (!node) {\n return 44;\n }\n if (FS.isLink(node.mode)) {\n return 32;\n } else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) {\n return 31;\n }\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => {\n for (var fd = fd_start; fd <= fd_end; fd++) {\n if (!FS.streams[fd]) {\n return fd;\n }\n }\n throw new FS.ErrnoError(33);\n },\n getStream: fd => FS.streams[fd],\n createStream: (stream, fd_start, fd_end) => {\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: fd => {\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: stream => {\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n },\n llseek: () => {\n throw new FS.ErrnoError(70);\n }\n },\n major: dev => dev >> 8,\n minor: dev => dev & 255,\n makedev: (ma, mi) => ma << 8 | mi,\n registerDevice: (dev, ops) => {\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: dev => FS.devices[dev],\n getMounts: mount => {\n var mounts = [];\n var check = [ mount ];\n while (check.length) {\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback) => {\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) {\n err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n }\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) {\n doCallback(null);\n }\n }\n mounts.forEach(mount => {\n if (!mount.type.syncfs) {\n return done(null);\n }\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint) => {\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) {\n throw new FS.ErrnoError(10);\n } else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n if (!FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) {\n FS.root = mountRoot;\n } else if (node) {\n node.mounted = mount;\n if (node.mount) {\n node.mount.mounts.push(mount);\n }\n }\n return mountRoot;\n },\n unmount: mountpoint => {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) {\n throw new FS.ErrnoError(28);\n }\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach(hash => {\n var current = FS.nameTable[hash];\n while (current) {\n var next = current.name_next;\n if (mounts.includes(current.mount)) {\n FS.destroyNode(current);\n }\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name) => {\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev) => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.mayCreate(parent, name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.mknod) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode) => {\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode) => {\n mode = mode !== undefined ? mode : 511;\n mode &= 511 | 512;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode) => {\n var dirs = path.split(\"/\");\n var d = \"\";\n for (var i = 0; i < dirs.length; ++i) {\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev) => {\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath) => {\n if (!PATH_FS.resolve(oldpath)) {\n throw new FS.ErrnoError(44);\n }\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.symlink) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path) => {\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) {\n throw new FS.ErrnoError(75);\n }\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(28);\n }\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(55);\n }\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) {\n return;\n }\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!old_dir.node_ops.rename) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {\n throw new FS.ErrnoError(10);\n }\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally {\n FS.hashAddNode(old_node);\n }\n },\n rmdir: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.rmdir) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) {\n throw new FS.ErrnoError(54);\n }\n return node.node_ops.readdir(node);\n },\n unlink: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.unlink) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: path => {\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) {\n throw new FS.ErrnoError(44);\n }\n if (!link.node_ops.readlink) {\n throw new FS.ErrnoError(28);\n }\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow) => {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (!node.node_ops.getattr) {\n throw new FS.ErrnoError(63);\n }\n return node.node_ops.getattr(node);\n },\n lstat: path => {\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & ~4095,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode) => {\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid) => {\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len) => {\n if (len < 0) {\n throw new FS.ErrnoError(28);\n }\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isDir(node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!FS.isFile(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(28);\n }\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime) => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode) => {\n if (path === \"\") {\n throw new FS.ErrnoError(44);\n }\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) {\n mode = mode & 4095 | 32768;\n } else {\n mode = 0;\n }\n var node;\n if (typeof path == \"object\") {\n node = path;\n } else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) {\n throw new FS.ErrnoError(20);\n }\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (FS.isChrdev(node.mode)) {\n flags &= ~512;\n }\n if (flags & 65536 && !FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n if (flags & 512 && !created) {\n FS.truncate(node, 0);\n }\n flags &= ~(128 | 512 | 131072);\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) {\n FS.readFiles[path] = 1;\n }\n }\n return stream;\n },\n close: stream => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) {\n stream.stream_ops.close(stream);\n }\n } catch (e) {\n throw e;\n } finally {\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: stream => {\n return stream.fd === null;\n },\n llseek: (stream, offset, whence) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (!stream.seekable || !stream.stream_ops.llseek) {\n throw new FS.ErrnoError(70);\n }\n if (whence != 0 && whence != 1 && whence != 2) {\n throw new FS.ErrnoError(28);\n }\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.read) {\n throw new FS.ErrnoError(28);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.write) {\n throw new FS.ErrnoError(28);\n }\n if (stream.seekable && stream.flags & 1024) {\n FS.llseek(stream, 0, 2);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (offset < 0 || length <= 0) {\n throw new FS.ErrnoError(28);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (!stream.stream_ops.allocate) {\n throw new FS.ErrnoError(138);\n }\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags) => {\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {\n throw new FS.ErrnoError(2);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(2);\n }\n if (!stream.stream_ops.mmap) {\n throw new FS.ErrnoError(43);\n }\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags) => {\n if (!stream.stream_ops.msync) {\n return 0;\n }\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: stream => 0,\n ioctl: (stream, cmd, arg) => {\n if (!stream.stream_ops.ioctl) {\n throw new FS.ErrnoError(59);\n }\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {}) => {\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") {\n throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n }\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") {\n ret = UTF8ArrayToString(buf, 0);\n } else if (opts.encoding === \"binary\") {\n ret = buf;\n }\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {}) => {\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) {\n FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n } else {\n throw new Error(\"Unsupported data type\");\n }\n FS.close(stream);\n },\n cwd: () => FS.currentPath,\n chdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) {\n throw new FS.ErrnoError(44);\n }\n if (!FS.isDir(lookup.node.mode)) {\n throw new FS.ErrnoError(54);\n }\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: () => {\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: () => {\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: () => 0,\n write: (stream, buffer, offset, length, pos) => length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: () => {\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: () => {\n var node = FS.createNode(proc_self, \"fd\", 16384 | 511, 73);\n node.node_ops = {\n lookup: (parent, name) => {\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: () => stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: () => {\n if (Module[\"stdin\"]) {\n FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n }\n if (Module[\"stdout\"]) {\n FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n }\n if (Module[\"stderr\"]) {\n FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n } else {\n FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n }\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: () => {\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [ 44 ].forEach(code => {\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: () => {\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error) => {\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: () => {\n FS.init.initialized = false;\n _fflush(0);\n for (var i = 0; i < FS.streams.length; i++) {\n var stream = FS.streams[i];\n if (!stream) {\n continue;\n }\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite) => {\n var mode = 0;\n if (canRead) mode |= 292 | 73;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink) => {\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) {\n return null;\n }\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink) => {\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite) => {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while (parts.length) {\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn) => {\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: stream => {\n stream.seekable = false;\n },\n close: stream => {\n if (output && output.buffer && output.buffer.length) {\n output(10);\n }\n },\n read: (stream, buffer, offset, length, pos) => {\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos) => {\n for (var i = 0; i < length; i++) {\n try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: obj => {\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n if (typeof XMLHttpRequest != \"undefined\") {\n 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.\");\n } else if (read_) {\n try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n } else {\n throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n }\n },\n createLazyFile: (parent, name, url, canRead, canWrite) => {\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) {\n return undefined;\n }\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1024 * 1024;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to) => {\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n }\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) {\n return new Uint8Array(xhr.response || []);\n }\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter(chunkNum => {\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") {\n lazyArray.chunks[chunkNum] = doXHR(start, end);\n }\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else {\n var properties = {\n isDevice: false,\n url: url\n };\n }\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) {\n node.contents = properties.contents;\n } else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach(key => {\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents[position + i];\n }\n } else {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents.get(position + i);\n }\n }\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position) => {\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags) => {\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => {\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) {\n FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n }\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => {\n if (onerror) onerror();\n removeRunDependency(dep);\n })) {\n return;\n }\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") {\n asyncLoad(url, byteArray => processData(byteArray), onerror);\n } else {\n processData(url);\n }\n },\n indexedDB: () => {\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: () => {\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = () => {\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = () => {\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n try {\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var getRequest = files.get(path);\n getRequest.onsuccess = () => {\n if (FS.analyzePath(path).exists) {\n FS.unlink(path);\n }\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n};\n\nvar SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) {\n return path;\n }\n var dir;\n if (dirfd === -100) {\n dir = FS.cwd();\n } else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) {\n throw new FS.ErrnoError(44);\n }\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {\n return -54;\n }\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n 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) ], \n HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n 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) ], \n HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (flags & 2) {\n return 0;\n }\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n};\n\nfunction ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & ~7) {\n return -28;\n }\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) {\n return -44;\n }\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) {\n return -2;\n }\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n}\n\nfunction ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (cmd) {\n case 0:\n {\n var arg = SYSCALLS.get();\n if (arg < 0) {\n return -28;\n }\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n }\n\n case 1:\n case 2:\n return 0;\n\n case 3:\n return stream.flags;\n\n case 4:\n {\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n }\n\n case 5:\n {\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n }\n\n case 6:\n case 7:\n return 0;\n\n case 16:\n case 8:\n return -28;\n\n case 9:\n setErrNo(28);\n return -1;\n\n default:\n {\n return -28;\n }\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (op) {\n case 21509:\n case 21505:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21519:\n {\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n }\n\n case 21520:\n {\n if (!stream.tty) return -59;\n return -28;\n }\n\n case 21531:\n {\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n }\n\n case 21523:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21524:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_stat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nvar nowIsMonotonic = true;\n\nfunction __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n}\n\nfunction __emscripten_throw_longjmp() {\n throw Infinity;\n}\n\nfunction _abort() {\n abort(\"\");\n}\n\nfunction _emscripten_date_now() {\n return Date.now();\n}\n\nvar _emscripten_get_now;\n\n_emscripten_get_now = () => performance.now();\n\nfunction _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\n\nfunction emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n}\n\nfunction _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) {\n return false;\n }\n let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\n for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) {\n return true;\n }\n }\n return false;\n}\n\nvar ENV = {};\n\nfunction getExecutableName() {\n return thisProgram || \"./this.program\";\n}\n\nfunction getEnvStrings() {\n if (!getEnvStrings.strings) {\n var lang = (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\";\n var env = {\n \"USER\": \"web_user\",\n \"LOGNAME\": \"web_user\",\n \"PATH\": \"/\",\n \"PWD\": \"/\",\n \"HOME\": \"/home/web_user\",\n \"LANG\": lang,\n \"_\": getExecutableName()\n };\n for (var x in ENV) {\n if (ENV[x] === undefined) delete env[x]; else env[x] = ENV[x];\n }\n var strings = [];\n for (var x in env) {\n strings.push(x + \"=\" + env[x]);\n }\n getEnvStrings.strings = strings;\n }\n return getEnvStrings.strings;\n}\n\nfunction writeAsciiToMemory(str, buffer, dontAddNull) {\n for (var i = 0; i < str.length; ++i) {\n HEAP8[buffer++ >> 0] = str.charCodeAt(i);\n }\n if (!dontAddNull) HEAP8[buffer >> 0] = 0;\n}\n\nfunction _environ_get(__environ, environ_buf) {\n var bufSize = 0;\n getEnvStrings().forEach(function(string, i) {\n var ptr = environ_buf + bufSize;\n HEAPU32[__environ + i * 4 >> 2] = ptr;\n writeAsciiToMemory(string, ptr);\n bufSize += string.length + 1;\n });\n return 0;\n}\n\nfunction _environ_sizes_get(penviron_count, penviron_buf_size) {\n var strings = getEnvStrings();\n HEAPU32[penviron_count >> 2] = strings.length;\n var bufSize = 0;\n strings.forEach(function(string) {\n bufSize += string.length + 1;\n });\n HEAPU32[penviron_buf_size >> 2] = bufSize;\n return 0;\n}\n\nfunction _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n}\n\nfunction exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) {\n exitRuntime();\n }\n _proc_exit(status);\n}\n\nvar _exit = exitJS;\n\nfunction _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n}\n\nfunction _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n 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) ], \n HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") {\n return EXITSTATUS;\n }\n quit_(1, e);\n}\n\nfunction allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n}\n\nfunction maybeExit() {\n if (!keepRuntimeAlive()) {\n try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n}\n\nfunction callUserCallback(func) {\n if (runtimeExited || ABORT) {\n return;\n }\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n}\n\nfunction runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n}\n\nfunction runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n}\n\nvar Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [ \"invoke_*\", \"emscripten_sleep\", \"emscripten_wget\", \"emscripten_wget_data\", \"emscripten_idb_load\", \"emscripten_idb_store\", \"emscripten_idb_delete\", \"emscripten_idb_exists\", \"emscripten_idb_load_blob\", \"emscripten_idb_store_blob\", \"SDL_Delay\", \"emscripten_scan_registers\", \"emscripten_lazy_load_code\", \"emscripten_fiber_swap\", \"__load_secondary_module\", \"fd_sync\", \"__wasi_fd_sync\", \"_emval_await\", \"_dlopen_js\", \"__asyncjs__*\" ];\n for (var x in imports) {\n (function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") {\n var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n }\n })(x);\n }\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for (var x in exports) {\n (function(x) {\n var original = exports[x];\n if (typeof original == \"function\") {\n ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally {\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n } else {\n ret[x] = original;\n }\n })(x);\n }\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") {\n Fibers.trampoline();\n }\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject) => {\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0) => {\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) {\n return;\n }\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(() => _asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.resume();\n }\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) {\n throw asyncWasmReturnValue;\n }\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.pause();\n }\n runAndAbortIfError(() => _asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach(func => callUserCallback(func));\n } else {\n abort(\"invalid state: \" + Asyncify.state);\n }\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep(wakeUp => {\n startAsync().then(wakeUp);\n });\n }\n};\n\nfunction AsciiToString(ptr) {\n var str = \"\";\n while (1) {\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n}\n\nvar FSNode = function(parent, name, mode, rdev) {\n if (!parent) {\n parent = this;\n }\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n};\n\nvar readMode = 292 | 73;\n\nvar writeMode = 146;\n\nObject.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n});\n\nFS.FSNode = FSNode;\n\nFS.staticInit();\n\nvar wasmImports = {\n \"s\": __asyncjs__emglken_fill_stdin_buffer,\n \"D\": ___syscall_faccessat,\n \"n\": ___syscall_fcntl64,\n \"C\": ___syscall_getcwd,\n \"B\": ___syscall_ioctl,\n \"A\": ___syscall_openat,\n \"z\": ___syscall_stat64,\n \"v\": __emscripten_get_now_is_monotonic,\n \"u\": __emscripten_throw_longjmp,\n \"t\": _abort,\n \"k\": _emscripten_date_now,\n \"r\": _emscripten_memcpy_big,\n \"q\": _emscripten_resize_heap,\n \"y\": _environ_get,\n \"x\": _environ_sizes_get,\n \"i\": _exit,\n \"m\": _fd_close,\n \"w\": _fd_read,\n \"p\": _fd_seek,\n \"l\": _fd_write,\n \"c\": invoke_i,\n \"g\": invoke_ii,\n \"f\": invoke_iiii,\n \"d\": invoke_iiiii,\n \"o\": invoke_ji,\n \"j\": invoke_v,\n \"b\": invoke_vi,\n \"a\": invoke_vii,\n \"h\": invoke_viii,\n \"e\": invoke_viiii\n};\n\nvar asm = createWasm();\n\nvar ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"F\"]).apply(null, arguments);\n};\n\nvar _free = function() {\n return (_free = Module[\"asm\"][\"G\"]).apply(null, arguments);\n};\n\nvar _malloc = function() {\n return (_malloc = Module[\"asm\"][\"H\"]).apply(null, arguments);\n};\n\nvar _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"I\"]).apply(null, arguments);\n};\n\nvar _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"J\"]).apply(null, arguments);\n};\n\nvar _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"K\"]).apply(null, arguments);\n};\n\nvar ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"L\"]).apply(null, arguments);\n};\n\nvar ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"M\"]).apply(null, arguments);\n};\n\nvar _setThrew = function() {\n return (_setThrew = Module[\"asm\"][\"O\"]).apply(null, arguments);\n};\n\nvar _saveSetjmp = function() {\n return (_saveSetjmp = Module[\"asm\"][\"saveSetjmp\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n};\n\nvar stackSave = function() {\n return (stackSave = Module[\"asm\"][\"P\"]).apply(null, arguments);\n};\n\nvar stackRestore = function() {\n return (stackRestore = Module[\"asm\"][\"Q\"]).apply(null, arguments);\n};\n\nvar stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"R\"]).apply(null, arguments);\n};\n\nvar dynCall_vi = Module[\"dynCall_vi\"] = function() {\n return (dynCall_vi = Module[\"dynCall_vi\"] = Module[\"asm\"][\"S\"]).apply(null, arguments);\n};\n\nvar dynCall_iiii = Module[\"dynCall_iiii\"] = function() {\n return (dynCall_iiii = Module[\"dynCall_iiii\"] = Module[\"asm\"][\"T\"]).apply(null, arguments);\n};\n\nvar dynCall_ii = Module[\"dynCall_ii\"] = function() {\n return (dynCall_ii = Module[\"dynCall_ii\"] = Module[\"asm\"][\"U\"]).apply(null, arguments);\n};\n\nvar dynCall_vii = Module[\"dynCall_vii\"] = function() {\n return (dynCall_vii = Module[\"dynCall_vii\"] = Module[\"asm\"][\"V\"]).apply(null, arguments);\n};\n\nvar dynCall_i = Module[\"dynCall_i\"] = function() {\n return (dynCall_i = Module[\"dynCall_i\"] = Module[\"asm\"][\"W\"]).apply(null, arguments);\n};\n\nvar dynCall_v = Module[\"dynCall_v\"] = function() {\n return (dynCall_v = Module[\"dynCall_v\"] = Module[\"asm\"][\"X\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiii = Module[\"dynCall_iiiii\"] = function() {\n return (dynCall_iiiii = Module[\"dynCall_iiiii\"] = Module[\"asm\"][\"Y\"]).apply(null, arguments);\n};\n\nvar dynCall_viii = Module[\"dynCall_viii\"] = function() {\n return (dynCall_viii = Module[\"dynCall_viii\"] = Module[\"asm\"][\"Z\"]).apply(null, arguments);\n};\n\nvar dynCall_viiii = Module[\"dynCall_viiii\"] = function() {\n return (dynCall_viiii = Module[\"dynCall_viiii\"] = Module[\"asm\"][\"_\"]).apply(null, arguments);\n};\n\nvar dynCall_ji = Module[\"dynCall_ji\"] = function() {\n return (dynCall_ji = Module[\"dynCall_ji\"] = Module[\"asm\"][\"$\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"aa\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"ba\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"ca\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"da\"]).apply(null, arguments);\n};\n\nvar ___start_em_js = Module[\"___start_em_js\"] = 107504;\n\nvar ___stop_em_js = Module[\"___stop_em_js\"] = 110189;\n\nfunction invoke_ii(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ii(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_vii(index, a1, a2) {\n var sp = stackSave();\n try {\n dynCall_vii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_i(index) {\n var sp = stackSave();\n try {\n return dynCall_i(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_v(index) {\n var sp = stackSave();\n try {\n dynCall_v(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_vi(index, a1) {\n var sp = stackSave();\n try {\n dynCall_vi(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n return dynCall_iiiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n dynCall_viii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_iiii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n dynCall_viiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_ji(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ji(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nModule[\"AsciiToString\"] = AsciiToString;\n\nModule[\"FS\"] = FS;\n\nvar calledRun;\n\ndependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n};\n\nfunction callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach(arg => {\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n}\n\nfunction run(args = arguments_) {\n if (runDependencies > 0) {\n return;\n }\n preRun();\n if (runDependencies > 0) {\n return;\n }\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else {\n doRun();\n }\n}\n\nif (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [ Module[\"preInit\"] ];\n while (Module[\"preInit\"].length > 0) {\n Module[\"preInit\"].pop()();\n }\n}\n\nvar shouldRunNow = true;\n\nif (Module[\"noInitialRun\"]) shouldRunNow = false;\n\nrun();\n\n\n return Module.ready\n}\n\n);\n})();\nexport default Module;","module.exports = new __parcel__URL__(require('./helpers/bundle-manifest').resolve(\"32xWV\")).toString();","import { useState, useEffect } from 'preact/hooks'\n\nimport CheapGlkOte from 'cheap-glkote'\n\nimport TextBuffer from './OutputBox/TextBuffer/TextBuffer'\nimport GridBuffer from './OutputBox/GridBuffer/GridBuffer'\n\nimport InputBox from './InputBox/InputBox'\nimport Status from './Status/Status'\n\nimport {\n Handlers,\n unhandledRejectionHandler,\n} from './common/playerHandlers'\n\nimport * as s from './Player.module.scss'\n\nconst INITIAL_STATUS = {\n stage: 'loading',\n details: ['Preparing'],\n}\n\nconst runMachine = ({ engine: Engine, wasmBinary, storyfile, handlers }) => {\n const { Dialog, GlkOte, send } = CheapGlkOte(handlers)\n const instance = new Engine()\n\n instance.init(storyfile, {\n Dialog,\n GlkOte,\n Glk: {},\n wasmBinary,\n arguments: ['storyfile'],\n })\n instance.start()\n\n return { send, instance }\n}\n\nexport default function Player ({\n vmParts: { storyfile, engine, wasmBinary },\n onFullscreenRequest,\n setMenuOpen,\n singleWindow,\n}) {\n const [status, setStatus] = useState(INITIAL_STATUS)\n\n const [windows, setWindows] = useState([])\n const [currentWindowId, setCurrentWindowId] = useState(null)\n const [inputType, setInputType] = useState(null)\n const [inbox, setInbox] = useState([])\n\n const [vm, setVm] = useState(null)\n const [sendMessage, setSendMessage] = useState(null)\n\n useEffect(() => {\n const handlers = Handlers({\n setStatus,\n setWindows,\n setCurrentWindowId,\n setInputType,\n setInbox,\n })\n\n setVm(runMachine({\n engine,\n wasmBinary,\n storyfile,\n handlers,\n }))\n\n const rejectionHandler =\n unhandledRejectionHandler(handlers.onExit)\n\n window.addEventListener('unhandledrejection', rejectionHandler)\n\n return () => {\n setVm(null)\n window.removeEventListener('unhandledrejection', rejectionHandler)\n }\n }, [storyfile, engine, wasmBinary])\n\n useEffect(() => {\n setSendMessage(() => vm\n ? vm.send\n : null)\n\n return () => setSendMessage(null)\n }, [vm])\n\n const textWindow = (inbox) => (currentWindow) => {\n const props = {\n inbox,\n currentWindow,\n }\n\n return ({\n buffer: ,\n grid: ,\n })[currentWindow.type]\n }\n\n const byTop = (a, b) =>\n a.top - b.top\n\n return status.stage !== 'ready'\n ? ()\n : (
    \n
    \n {\n windows\n .sort(byTop)\n .filter(singleWindow\n ? ({ id }) => id === currentWindowId\n : () => true)\n .map(textWindow(inbox))\n }\n
    \n \n
    )\n}\n","import FakeDialog from './fakeDialog.js'\nimport CheapGlkOte from './cheapGlkOte.js'\n\nconst noop = () => void null\n\nconst defaultHandlers = [\n 'onInit',\n 'onUpdateWindows',\n 'onUpdateInputs',\n 'onUpdateContent',\n 'onDisable',\n 'onFileNameRequest',\n 'onFileRead',\n 'onFileWrite',\n 'onExit',\n].reduce((acc, x) => ((acc[x] = noop), acc), {})\n\nconst defaultLoggers = {\n log: console.log,\n warning: console.warn,\n error: console.error,\n}\n\nconst defaultSize = {\n width: 80,\n height: 25,\n}\n\nexport default (handlers_, {loggers: loggers_, size: size_ } = {}) => {\n const handlers =\n Object.assign({}, defaultHandlers, handlers_)\n const loggers =\n Object.assign({}, defaultLoggers, loggers_)\n const size =\n Object.assign({}, defaultSize, size_)\n\n const Dialog = new FakeDialog(handlers, loggers)\n const GlkOte = new CheapGlkOte(handlers, loggers, size)\n\n const send = GlkOte.sendFn.bind(GlkOte)\n\n return {\n Dialog,\n GlkOte,\n send,\n }\n}\n","/**\n * @see: https://github.com/curiousdannii/glkote-term/blob/master/src/glkote-dumb.js\n * @see: https://github.com/curiousdannii/glkote-term/blob/master/src/electrofs.js\n */\n\nclass FakeDialog {\n constructor(handlers, loggers) {\n this.streaming = false\n this.handlers = handlers\n this.loggers = loggers\n }\n\n file_ref_exists({ usage }) {\n return usage === 'save'\n ? true\n : false\n }\n\n file_remove_ref () {\n return true\n }\n\n file_construct_ref(filename, usage) {\n return {\n filename,\n usage: usage || ''\n }\n }\n\n file_read(dirent, israw) {\n return this.handlers.onFileRead(dirent, israw)\n }\n\n file_write(dirent, content, israw) {\n if (content.length === 0) return (void null)\n this.handlers.onFileWrite(dirent, content, israw)\n }\n\n open(tosave, usage, gameid, callback) {\n this.handlers.onFileNameRequest(tosave, usage, gameid, callback)\n }\n\n log(message) {\n this.loggers.log(message)\n }\n\n warning(message) {\n this.loggers.warn(message)\n }\n\n error(message) {\n this.loggers.error(message)\n }\n}\n\nexport default FakeDialog\n","/**\n * @see: https://github.com/curiousdannii/glkote-term/blob/master/src/glkote-dumb.js\n */\n\nimport GlkOte from './glkOte/glkote-term.js'\n\nclass CheapGlkOte extends GlkOte {\n constructor(handlers, loggers, size) {\n super(size)\n\n this.handlers = handlers\n this.loggers = loggers\n }\n\n sendFn (message, type, window) {\n this.send_response(\n type,\n window,\n message)\n }\n\n init (iface) {\n this.handlers.onInit()\n super.init(iface)\n }\n\n update_inputs (data) {\n if (!data.length) return []\n this.handlers.onUpdateInputs(data)\n }\n\n accept_specialinput (data) {\n if (data.type === 'fileref_prompt') {\n const callback = ref =>\n this.send_response(\n 'specialresponse', null, 'fileref_prompt', ref)\n\n this.interface.Dialog.open(\n data.filemode !== 'read',\n data.filetype,\n data.gameid,\n callback)\n } else {\n this.error(\n 'Request for unknown special input type: ' + data.type)\n }\n }\n\n update_content (messages) {\n this.handlers.onUpdateContent(messages)\n }\n\n exit () {\n this.handlers.onExit()\n super.exit()\n }\n\n cancel_inputs (data) {\n this.handlers.onUpdateInputs(data)\n }\n\n disable (data) {\n this.handlers.onDisable(data)\n }\n\n update_windows (windows) {\n this.handlers.onUpdateWindows(windows)\n }\n\n log (message) {\n this.loggers.log(message)\n }\n\n warning (message) {\n this.loggers.warn(message)\n }\n\n error (message) {\n this.loggers.error(message)\n }\n}\n\nexport default CheapGlkOte\n","/**\n * @see: https://github.com/curiousdannii/glkote-term/blob/master/src/glkote-term.js\n */\n\nclass GlkOte {\n constructor({width, height}) {\n this.width = width\n this.height = height\n\n this.current_metrics = null\n this.disabled = false\n this.generation = 0\n this.interface = null\n this.version = '0.5.1'\n }\n\n measure_window() {\n return {\n width: this.width,\n height: this.height,\n buffercharheight: 1,\n buffercharwidth: 1,\n buffermarginx: 0,\n buffermarginy: 0,\n graphicsmarginx: 0,\n graphicsmarginy: 0,\n gridcharheight: 1,\n gridcharwidth: 1,\n gridmarginx: 0,\n gridmarginy: 0,\n inspacingx: 0,\n inspacingy: 0,\n outspacingx: 0,\n outspacingy: 0\n }\n }\n\n getinterface() {\n return this.interface\n }\n\n init(iface) {\n if (!iface) {\n this.error('No game interface object has been provided.')\n }\n if (!iface.accept) {\n this.error('The game interface object must have an accept() function.')\n }\n\n this.interface = iface\n this.current_metrics = this.measure_window()\n\n this.send_response('init', null, this.current_metrics)\n }\n\n update(data) {\n if (data.type === 'error') {\n this.error(data.message)\n }\n if (data.type === 'pass') {\n return\n }\n if (data.type !== 'update' && data.type !== 'exit') {\n this.log(`Ignoring unknown message type: ${data.type}`)\n return\n }\n if (data.gen === this.generation) {\n this.log(`Ignoring repeated generation number: ${data.gen}`)\n return\n }\n if (data.gen < this.generation) {\n this.log(\n `Ignoring out-of-order generation number: got ${data.gen}, currently at ${this.generation}`\n )\n return\n }\n this.generation = data.gen\n\n if (this.disabled) {\n this.disable(false)\n }\n\n /* Handle the update */\n if (data.input != null) {\n this.cancel_inputs(data.input)\n }\n if (data.windows != null) {\n this.update_windows(data.windows)\n }\n if (data.content != null && data.content.length) {\n this.update_content(data.content)\n }\n if (data.input != null) {\n this.update_inputs(data.input)\n }\n\n /* Disable everything if requested */\n this.disabled = false\n if (data.disabled || data.specialinput) {\n this.disable(true)\n }\n\n if (data.specialinput != null) {\n this.accept_specialinput(data.specialinput)\n }\n\n /* Detach all handlers and exit */\n if (data.type === 'exit') {\n this.exit()\n }\n }\n\n send_response(type, win, val, val2) {\n const res = {\n type: type,\n gen: this.generation,\n }\n\n if (win) {\n res.window = win.id\n }\n\n if (type === 'init' || type === 'arrange') {\n res.metrics = val\n }\n\n if (type === 'init') {\n res.support = this.support()\n }\n\n if (type === 'char') {\n res.value = val\n }\n\n if (type === 'line') {\n res.value = val\n }\n\n if (type === 'specialresponse') {\n res.response = val\n res.value = val2\n }\n\n this.interface.accept(res)\n }\n\n support() {\n return []\n }\n}\n\nexport default GlkOte\n","import { useEffect, useRef, useState } from 'preact/hooks'\n\nimport TextMessage from '../TextMessage/TextMessage'\n\nimport * as s from '../../Player.module.scss'\n\nconst eol = { style: 'endOfLine' }\nconst scrollTarget = { style: 'scrollTarget' }\n\nconst isFakeStatus = (w) =>\n w.height < 5\n\nconst trimInputPrompt = (messages) =>\n messages.length < 1\n ? messages\n : messages.slice(-1)[0].text === '>'\n ? messages.slice(0, messages.length - 1)\n : messages\n\nconst parseInbox = (inbox, currentWindow) => {\n const currentInbox =\n inbox.find(({ id }) =>\n id === currentWindow.id)\n\n if (!currentInbox) {\n return {\n clear: false,\n incoming: [scrollTarget],\n }\n }\n\n const { text: inboxMessagesRaw } =\n currentInbox\n\n const incoming =\n inboxMessagesRaw\n /* Normalize. */\n .map(({ content }) =>\n content\n ? [...trimInputPrompt(content), eol]\n : [eol])\n /* Flatten. */\n .reduce((acc, x) =>\n acc.concat(x), [scrollTarget])\n\n return {\n incoming,\n clear: isFakeStatus(currentWindow)\n ? true\n : currentInbox.clear,\n }\n}\n\nexport default function TextBuffer ({ inbox, currentWindow }) {\n const [messages, setMessages] = useState([])\n const textBufferEl = useRef(null)\n\n useEffect(() => {\n const { incoming, clear } =\n parseInbox(inbox, currentWindow)\n\n setMessages((messages) => clear\n ? incoming\n : messages.concat(incoming))\n\n setTimeout(() => {\n const scrollTargets =\n textBufferEl.current.querySelectorAll(`.${scrollTarget.style}`)\n const freshScrollTarget =\n scrollTargets[scrollTargets.length - 1]\n\n freshScrollTarget\n ? freshScrollTarget.scrollIntoView()\n : textBufferEl.current.scrollTo({\n top: textBufferEl.current.scrollHeight,\n behavior: 'smooth',\n })\n }, 0)\n }, [currentWindow, inbox])\n\n const classes = () => [\n s.buffer,\n isFakeStatus(currentWindow)\n ? s.gridBuffer\n : s.textBuffer,\n ].join(' ')\n\n return (\n \n {messages.map(TextMessage)}\n \n )\n}\n","import * as s from './TextMessage.module.scss'\n\nexport default function TextMessage ({ style, text }) {\n const defaultContent = (\n \n {text}\n )\n\n return ({\n grid:\n (text?.length > 0 ?
    {text}
    :
    ),\n input:\n (> {text}),\n subheader:\n ({text}),\n emphasized:\n ({text}),\n scrollTarget:\n (
    ),\n endOfLine:\n (
    ),\n })[style] || defaultContent\n}\n",".message {\n &.input {\n color: var(--input-color);\n }\n\n &.emphasized,\n &.subheader {\n color: var(--accent-color);\n }\n}\n\n.scrollTarget {\n scroll-margin-block-start: var(--inner-padding);\n}\n",".elseifplayer {\n height: 100%;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n\n background-color: var(--bg-color);\n color: var(--main-color);\n padding: var(--outer-padding);\n\n .output {\n display: flex;\n flex-grow: 2;\n flex-direction: column;\n overflow-y: hidden;\n overflow-wrap: break-word;\n\n border: var(--border-width) solid var(--main-color);\n\n .buffer {\n overflow-y: scroll;\n box-sizing: border-box;\n\n padding: var(--inner-padding);\n\n &:empty {\n display: none;\n }\n\n & > br:first-child,\n & > br:last-child,\n & > br + br + br {\n display: none;\n }\n\n &.gridBuffer {\n flex-shrink: 0;\n max-height: 100%;\n border-bottom: var(--separator-width) solid var(--main-color);\n }\n\n &.textBuffer {\n flex: 2 1;\n outline: none;\n scroll-behavior: smooth;\n }\n }\n }\n}\n","import { useEffect, useState } from 'preact/hooks'\n\nimport TextMessage from '../TextMessage/TextMessage'\n\nimport * as s from '../../Player.module.scss'\n\nexport default function GridBuffer ({ inbox, currentWindow }) {\n const [prevMessages, setPrevMessages] = useState([])\n const [messages, setMessages] = useState([])\n\n useEffect(() => {\n const currentInboxObj =\n inbox.find(({ id }) =>\n id === currentWindow.id)\n\n const currentInbox = currentInboxObj?.lines ?? []\n\n const newOrPrev = (cur, prev) => (i) => {\n const byId = (list, i) =>\n list.find(({ line }) => line === i)\n\n return byId(cur, i) || byId(prev, i)\n }\n\n const rawMessages =\n Array(currentWindow.gridheight)\n .fill(null)\n .map((_, i) => i)\n .map(newOrPrev(currentInbox, prevMessages))\n\n /* */\n\n const shouldUpdatePrev = (rawMessages, prevMessages) => {\n const serialize = JSON.stringify\n return serialize(rawMessages) !== serialize(prevMessages)\n }\n\n if (shouldUpdatePrev(rawMessages, prevMessages)) {\n setPrevMessages(rawMessages)\n }\n\n /* */\n\n\n const rawMessagesContent =\n rawMessages\n .map((x) => x.content)\n .flat()\n .map((message) => ({\n ...message,\n text: message.text.trim(),\n }))\n\n const isEmpty =\n rawMessagesContent\n .map(({ text }) => text.length)\n .every((l) => l === 0)\n\n const getGridStyle = ({ style }) => {\n if (['alert', 'normal'].includes(style)) return 'grid'\n return style || 'grid'\n }\n\n const messages =\n rawMessagesContent\n .map((message) => ({\n style: getGridStyle(message),\n text: message.text.replace(' ', ' / '),\n }))\n\n setMessages(isEmpty ? [] : messages)\n }, [inbox, currentWindow, prevMessages])\n\n return (\n
    \n {messages.map(TextMessage)}\n
    \n )\n}\n","import { useEffect, useRef, useState } from 'preact/hooks'\n\nimport MenuButton from './MenuButton/MenuButton'\n\nimport * as s from './InputBox.module.scss'\n\n/* eslint-disable */\nconst keyCodes = {\n KEY_BACKSPACE: 8,\n KEY_TAB: 9,\n KEY_RETURN: 13,\n KEY_ESC: 27,\n KEY_PAGEUP: 33,\n KEY_PAGEDOWN: 34,\n KEY_END: 35,\n KEY_HOME: 36,\n KEY_LEFT: 37,\n KEY_UP: 38,\n KEY_RIGHT: 39,\n KEY_DOWN: 40\n}\n\nconst keyNames = {\n [keyCodes.KEY_BACKSPACE]: 'delete',\n [keyCodes.KEY_TAB]: 'tab',\n [keyCodes.KEY_RETURN]: 'return',\n [keyCodes.KEY_ESC]: 'escape',\n [keyCodes.KEY_PAGEUP]: 'pageup',\n [keyCodes.KEY_PAGEDOWN]: 'pagedown',\n [keyCodes.KEY_END]: 'end',\n [keyCodes.KEY_HOME]: 'home',\n [keyCodes.KEY_LEFT]: 'left',\n [keyCodes.KEY_UP]: 'up',\n [keyCodes.KEY_RIGHT]: 'right',\n [keyCodes.KEY_DOWN]: 'down'\n}\n/* eslint-enable */\n\nconst hasModifier = (event) => {\n const modifiers = [\n event.altKey,\n event.ctrlKey,\n event.metaKey,\n event.shiftKey,\n ]\n\n return modifiers.some((modifier) => modifier === true)\n}\n\nexport default function InputBox ({\n inputType,\n windows,\n currentWindowId,\n sendMessage,\n onFullscreenRequest,\n setMenuOpen,\n}) {\n const [targetWindow, setTargetWindow] = useState(null)\n const [inputText, setInputText] = useState('')\n const [lastInput, setLastInput] = useState('')\n const inputEl = useRef(null)\n\n useEffect(() => {\n let setFocus = () => {\n inputEl.current && inputEl.current.focus()\n }\n\n setInputText('')\n setFocus()\n\n document.addEventListener('fullscreenchange', setFocus)\n return () => document.removeEventListener('fullscreenchange', setFocus)\n }, [inputType])\n\n useEffect(() => {\n setTargetWindow(\n windows\n .find(({ id }) =>\n id === currentWindowId))\n }, [currentWindowId, windows])\n\n const send = (message) => {\n sendMessage(\n message,\n inputType,\n targetWindow)\n setLastInput(message)\n setInputText('')\n }\n\n const charHandler = (event) =>\n (event.keyCode === 229\n ? charHandlerMobile\n : charHandlerDefault)(event)\n\n const charHandlerDefault = (event) => {\n if (hasModifier(event)) { return undefined }\n\n event.preventDefault()\n\n const key =\n keyNames[event.keyCode] ||\n event.key\n\n send(key)\n }\n\n const charHandlerMobile = (event) =>\n setTimeout(() => {\n send(event.target.value.slice(-1).toUpperCase())\n setInputText('')\n })\n\n const lineHandler = ({ keyCode, target: { value } }) => {\n if (keyCode === keyCodes.KEY_RETURN) {\n send(value)\n }\n }\n\n const lineArrowHandler = ({ keyCode }) => {\n if (keyCode === keyCodes.KEY_UP) {\n setInputText(lastInput)\n\n setTimeout(() => {\n const end = lastInput.length\n inputEl.current.setSelectionRange(end, end)\n }, 0)\n }\n if (keyCode === keyCodes.KEY_DOWN) {\n setInputText('')\n }\n }\n\n const inputHandlers = {\n char: {\n maxlength: '1',\n placeholder: 'Press any key here',\n onKeyDown: charHandler,\n },\n line: {\n placeholder: ' > ',\n onKeyDown: lineArrowHandler,\n onKeyPress: lineHandler,\n },\n finished: {\n placeholder: 'The program has finished',\n disabled: true,\n },\n }\n\n return (\n
    \n setInputText(value)}\n type='search' />\n setMenuOpen(true)} />\n
    \n )\n}\n","import * as s from './MenuButton.module.scss'\n\nexport default function MenuButton ({ onClick }) {\n return (\n \n \n \n \n \n \n \n )\n}\n",".menuButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n outline-offset: -8px;\n position: absolute;\n right: 0;\n height: 100%;\n padding: 0;\n\n @media (max-width: 800px) {\n padding: 0 calc(0.5 * var(--inner-padding));\n overflow: hidden;\n }\n\n &:focus-visible {\n outline-offset: -4px;\n }\n\n .menuIcon {\n height: 32px;\n fill: none;\n stroke: currentColor;\n stroke-width: 2px;\n\n @media (max-width: 800px) {\n transform: scaleX(2) scaleY(0.5);\n fill: currentColor;\n }\n }\n}\n",".inputControls {\n position: relative;\n margin-top: var(--input-box-margin);\n\n .inputBox {\n font: inherit;\n color: inherit;\n outline: 0;\n\n background-color: var(--bg-color);\n border: var(--border-width) solid var(--main-color);\n border-top: var(--separator-width) solid var(--main-color);\n padding: var(--inner-padding);\n padding-right: calc(4 * var(--inner-padding));\n margin: 0;\n width: 100%;\n\n &::placeholder {\n color: var(--main-color);\n opacity: 1;\n }\n\n &:focus::placeholder {\n opacity: 0.5;\n }\n\n &::-webkit-search-cancel-button {\n display: none;\n }\n }\n}\n","import { Link } from 'wouter-preact'\n\nimport * as s from './Status.module.scss'\n\nconst fail = (details) => (\n
    \n

    \n Error\n

    \n {details.map((x) => (

    {x}

    ))}\n
    \n \n Home\n \n |\n \n Report bug\n \n
    \n)\n\nconst loading = (details) => (\n
    \n {details.map((x) => (
    {x}
    ))}\n
    \n)\n\nexport default ({ stage, details }) =>\n ({ fail, loading })[stage](details)\n","@keyframes dots0123 {\n 0% { content: ''; }\n 33% { content: '.'; }\n 66% { content: '..'; }\n 100% { content: '...'; }\n}\n\n.status {\n word-break: break-word;\n padding-block: var(--inner-padding);\n\n @media (max-width: 800px) {\n padding: var(--inner-padding);\n }\n\n &.loading > div:after {\n animation: dots0123 1s infinite;\n content: '';\n }\n}\n\n","import { encode, decode } from 'base32768'\n\nexport const Handlers = ({\n setStatus,\n setWindows,\n setCurrentWindowId,\n setInputType,\n setInbox,\n}) => ({\n onInit: () => {\n setStatus({ stage: 'ready' })\n },\n /* */\n onUpdateWindows: (windows) => {\n setWindows(windows)\n },\n onUpdateInputs: (data) => {\n if (data.length === 0) return null\n\n const { type, id } = data[0]\n setCurrentWindowId(id)\n setInputType(type)\n },\n onUpdateContent: (inbox) => {\n setInbox(inbox)\n },\n onDisable: () => {\n setInputType(null)\n },\n /* */\n onFileNameRequest: (_tosave, usage, _gameId, setFileName) => {\n setFileName({\n usage,\n filename: prompt('Enter the filename'),\n })\n },\n onFileRead: ({ filename }) => {\n const content = localStorage.getItem(`fake-fs/${filename}`)\n return decode(content)\n },\n onFileWrite: ({ filename }, content) => {\n localStorage.setItem(`fake-fs/${filename}`, encode(content))\n },\n /* */\n onExit: () => {\n setInputType('finished')\n },\n})\n\nexport const unhandledRejectionHandler = (onExit) => (event) => {\n if (event.reason.name === 'ExitStatus' || event.reason.message === 'Program terminated with exit(0)') {\n onExit()\n } else {\n console.error('Unhandled rejection (promise: ', event.promise, ', reason: ', event.reason, ').')\n }\n event.preventDefault()\n}\n","/**\r\n Base32768 is a binary-to-text encoding optimised for UTF-16-encoded text.\r\n (e.g. Windows, Java, JavaScript)\r\n*/\r\n\r\n// Z is a number, usually a uint15 but sometimes a uint7\r\n\r\nconst BITS_PER_CHAR = 15 // Base32768 is a 15-bit encoding\r\nconst BITS_PER_BYTE = 8\r\n\r\nconst pairStrings = [\r\n 'ҠҿԀԟڀڿݠޟ߀ߟကဟႠႿᄀᅟᆀᆟᇠሿበቿዠዿጠጿᎠᏟᐠᙟᚠᛟកសᠠᡟᣀᣟᦀᦟ᧠᧿ᨠᨿᯀᯟᰀᰟᴀᴟ⇠⇿⋀⋟⍀⏟␀␟─❟➀➿⠀⥿⦠⦿⨠⩟⪀⪿⫠⭟ⰀⰟⲀⳟⴀⴟⵀⵟ⺠⻟㇀㇟㐀䶟䷀龿ꀀꑿ꒠꒿ꔀꗿꙀꙟꚠꛟ꜀ꝟꞀꞟꡀꡟ',\r\n 'ƀƟɀʟ'\r\n]\r\n\r\nconst lookupE = {}\r\nconst lookupD = {}\r\npairStrings.forEach((pairString, r) => {\r\n // Decompression\r\n const encodeRepertoire = []\r\n pairString.match(/../gu).forEach(pair => {\r\n const first = pair.codePointAt(0)\r\n const last = pair.codePointAt(1)\r\n for (let codePoint = first; codePoint <= last; codePoint++) {\r\n encodeRepertoire.push(String.fromCodePoint(codePoint))\r\n }\r\n })\r\n\r\n const numZBits = BITS_PER_CHAR - BITS_PER_BYTE * r // 0 -> 15, 1 -> 7\r\n lookupE[numZBits] = encodeRepertoire\r\n encodeRepertoire.forEach((chr, z) => {\r\n lookupD[chr] = [numZBits, z]\r\n })\r\n})\r\n\r\nconst encode = uint8Array => {\r\n const length = uint8Array.length\r\n\r\n let str = ''\r\n let z = 0\r\n let numZBits = 0\r\n\r\n for (let i = 0; i < length; i++) {\r\n const uint8 = uint8Array[i]\r\n\r\n // Take most significant bit first\r\n for (let j = BITS_PER_BYTE - 1; j >= 0; j--) {\r\n const bit = (uint8 >> j) & 1\r\n\r\n z = (z << 1) + bit\r\n numZBits++\r\n\r\n if (numZBits === BITS_PER_CHAR) {\r\n str += lookupE[numZBits][z]\r\n z = 0\r\n numZBits = 0\r\n }\r\n }\r\n }\r\n\r\n if (numZBits !== 0) {\r\n // Final bits require special treatment.\r\n\r\n // z = bbbbbbcccccccc, numZBits = 14, padBits = 1\r\n // z = bbbbbcccccccc, numZBits = 13, padBits = 2\r\n // z = bbbbcccccccc, numZBits = 12, padBits = 3\r\n // z = bbbcccccccc, numZBits = 11, padBits = 4\r\n // z = bbcccccccc, numZBits = 10, padBits = 5\r\n // z = bcccccccc, numZBits = 9, padBits = 6\r\n // z = cccccccc, numZBits = 8, padBits = 7\r\n // => Pad `z` out to 15 bits using 1s, then encode as normal (r = 0)\r\n\r\n // z = ccccccc, numZBits = 7, padBits = 0\r\n // z = cccccc, numZBits = 6, padBits = 1\r\n // z = ccccc, numZBits = 5, padBits = 2\r\n // z = cccc, numZBits = 4, padBits = 3\r\n // z = ccc, numZBits = 3, padBits = 4\r\n // z = cc, numZBits = 2, padBits = 5\r\n // z = c, numZBits = 1, padBits = 6\r\n // => Pad `z` out to 7 bits using 1s, then encode specially (r = 1)\r\n\r\n while (!(numZBits in lookupE)) {\r\n z = (z << 1) + 1\r\n numZBits++\r\n }\r\n\r\n str += lookupE[numZBits][z]\r\n }\r\n\r\n return str\r\n}\r\n\r\nconst decode = str => {\r\n const length = str.length\r\n\r\n // This length is a guess. There's a chance we allocate one more byte here\r\n // than we actually need. But we can count and slice it off later\r\n const uint8Array = new Uint8Array(Math.floor(length * BITS_PER_CHAR / BITS_PER_BYTE))\r\n let numUint8s = 0\r\n let uint8 = 0\r\n let numUint8Bits = 0\r\n\r\n for (let i = 0; i < length; i++) {\r\n const chr = str.charAt(i)\r\n\r\n if (!(chr in lookupD)) {\r\n throw new Error(`Unrecognised Base32768 character: ${chr}`)\r\n }\r\n\r\n const [numZBits, z] = lookupD[chr]\r\n\r\n if (numZBits !== BITS_PER_CHAR && i !== length - 1) {\r\n throw new Error('Secondary character found before end of input at position ' + String(i))\r\n }\r\n\r\n // Take most significant bit first\r\n for (let j = numZBits - 1; j >= 0; j--) {\r\n const bit = (z >> j) & 1\r\n\r\n uint8 = (uint8 << 1) + bit\r\n numUint8Bits++\r\n\r\n if (numUint8Bits === BITS_PER_BYTE) {\r\n uint8Array[numUint8s] = uint8\r\n numUint8s++\r\n uint8 = 0\r\n numUint8Bits = 0\r\n }\r\n }\r\n }\r\n\r\n // Final padding bits! Requires special consideration!\r\n // Remember how we always pad with 1s?\r\n // Note: there could be 0 such bits, check still works though\r\n if (uint8 !== ((1 << numUint8Bits) - 1)) {\r\n throw new Error('Padding mismatch')\r\n }\r\n\r\n return new Uint8Array(uint8Array.buffer, 0, numUint8s)\r\n}\r\n\r\nexport { encode, decode }\r\n","import { useEffect, useRef } from 'preact/hooks'\nimport { Link } from 'wouter-preact'\n\nimport ThemeSelector from\n '~/src/components/ThemeSelector/ThemeSelector'\n\nimport * as s from './MenuOverlay.module.scss'\n\nexport default function MenuOverlay ({\n themeEngine, onFullscreenRequest, menuOpen, setMenuOpen,\n}) {\n const dialog = useRef(null)\n\n useEffect(() => {\n const dialogOpen = dialog.current.open\n\n if (menuOpen && !dialogOpen) {\n dialog.current.showModal()\n }\n\n if (!menuOpen && dialogOpen) {\n dialog.current.close()\n }\n }, [menuOpen])\n\n useEffect(() => {\n const currentDialog = dialog.current\n const closeHandler = () => {\n setMenuOpen(false)\n }\n\n currentDialog.addEventListener('close', closeHandler)\n return () => currentDialog.removeEventListener('close', closeHandler)\n }, [dialog, setMenuOpen])\n\n\n return (\n \n
    \n
    \n dialog.current.close()}\n >\n Close this menu\n \n
    \n\n
    \n {\n dialog.current.close()\n onFullscreenRequest()\n }}\n >\n Full screen\n \n themeEngine.setRandomTheme()}\n >\n Set a random theme\n \n \n
    \n\n
    \n \n ElseIfPlayer\n \n
    \n
    \n
    \n )\n}\n",".menu {\n width: 100%;\n\n border-left: none;\n border-right: none;\n text-align: center;\n padding-top: 0;\n padding-bottom: 0;\n\n background-color: var(--bg-color);\n border-color: var(--main-color);\n color: var(--main-color);\n\n &::backdrop {\n background: none;\n backdrop-filter: blur(2px);\n }\n\n & > section {\n margin: 32px auto 40px;\n gap: 32px;\n max-width: 270px;\n display: flex;\n flex-direction: column;\n }\n\n .navigation {\n color: var(--accent-color);\n }\n\n .appearance {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n select,\n button {\n width: 100%;\n }\n}\n","import Status from '~/src/components/Player/Status/Status'\n\nexport default function NotFoundView () {\n return
    \n \n
    \n}\n",".app {\n min-height: 100%;\n box-sizing: border-box;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n color: var(--main-color);\n background-color: var(--bg-color);\n\n /* */\n &.home, &.games, &.themes {\n padding: var(--inner-padding);\n\n /* Fix for Jumping Scrollbar Issue */\n @media (min-width: 800px) {\n padding-left: calc(100vw - 100% + var(--inner-padding));\n }\n }\n\n /* Player view */\n &.play, &.focus {\n height: 100%;\n max-height: 100dvh;\n\n @media (min-width: 800px) {\n & > main {\n max-height: 90%;\n margin: auto;\n }\n }\n }\n\n /* */\n & > main {\n flex: 1 1 auto;\n\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n\n @media (min-width: 800px) {\n margin: 5vh 0;\n max-width: 800px;\n }\n }\n}\n"],"names":["$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$6bce942dbbed32a8$export$b7e3ae3d7c15e42e","$6bce942dbbed32a8$export$a8ecead220dd38a6","$6bce942dbbed32a8$export$c789db2c85949867","$6bce942dbbed32a8$export$d61e5f8e032e1547","$6bce942dbbed32a8$export$77694752ff0b3730","$f70f6ed8aa0167f4$export$1ee2ee71de083e4d","$f70f6ed8aa0167f4$export$b7e3ae3d7c15e42e","$f70f6ed8aa0167f4$export$a8ecead220dd38a6","$f70f6ed8aa0167f4$export$64cbebf88d5f7b08","$f70f6ed8aa0167f4$export$d61e5f8e032e1547","$e3c97f2521259165$export$ab1029bcae9ddb4a","$e3c97f2521259165$export$347a3a46df242257","$7af367459ad7e190$export$471f7ae5c4103ae1","$765ad9f902f48a5c$export$729c8b7179294ba","$765ad9f902f48a5c$export$d7ddd398f22d79ef","$765ad9f902f48a5c$export$79863f625c4e57","$765ad9f902f48a5c$export$d12a05a2da93ee73","$765ad9f902f48a5c$export$899fbdb5fa08b653","$765ad9f902f48a5c$export$d9a33280f07116d9","$parcel$global","globalThis","self","window","global","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$adfd32792a864deb$var$n","$adfd32792a864deb$export$41c562ebe57d11e2","$adfd32792a864deb$var$u","$adfd32792a864deb$export$a8257692ac88316c","$adfd32792a864deb$var$t","$adfd32792a864deb$var$o","$adfd32792a864deb$var$r","$adfd32792a864deb$var$f","$adfd32792a864deb$var$e","$adfd32792a864deb$var$c","$adfd32792a864deb$var$s","$adfd32792a864deb$var$a","$adfd32792a864deb$var$v","Array","isArray","$adfd32792a864deb$var$h","l","u","$adfd32792a864deb$var$p","parentNode","removeChild","$adfd32792a864deb$export$c8a8987d4410bf2d","i","t","o","r","f","arguments","length","children","defaultProps","$adfd32792a864deb$var$d","type","props","key","ref","__k","__","__b","__e","__d","__c","__h","constructor","__v","vnode","$adfd32792a864deb$export$ffb0004e005737fa","$adfd32792a864deb$export$16fa2f45be04daa8","context","$adfd32792a864deb$var$g","indexOf","$adfd32792a864deb$var$w","push","$adfd32792a864deb$var$x","__r","debounceRendering","c","sort","shift","__P","$adfd32792a864deb$var$L","__n","ownerSVGElement","$adfd32792a864deb$var$M","$adfd32792a864deb$var$m","base","$adfd32792a864deb$var$P","a","h","p","y","_","b","m","w","x","P","$adfd32792a864deb$var$C","$adfd32792a864deb$var$$","$adfd32792a864deb$var$A","nextSibling","$adfd32792a864deb$var$q","unmount","current","$adfd32792a864deb$var$O","componentWillUnmount","appendChild","insertBefore","$adfd32792a864deb$var$I","setProperty","test","$adfd32792a864deb$var$T","style","cssText","replace","toLowerCase","slice","addEventListener","$adfd32792a864deb$var$z","$adfd32792a864deb$var$j","removeEventListener","removeAttribute","setAttribute","event","d","g","C","S","$","A","H","I","contextType","value","__E","prototype","render","$adfd32792a864deb$var$B","sub","state","_sb","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","forEach","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","$adfd32792a864deb$var$N","k","localName","nodeType","document","createTextNode","createElementNS","createElement","is","data","childNodes","dangerouslySetInnerHTML","attributes","name","__html","innerHTML","$adfd32792a864deb$var$H","checked","diffed","some","$adfd32792a864deb$export$e530037191fcd5d7","getDerivedStateFromError","setState","componentDidCatch","forceUpdate","Promise","then","bind","resolve","setTimeout","$80ca9f09fe72d4b7$var$_","$80ca9f09fe72d4b7$export$34b9dba7ce09269b","__source","__self","$70db777e8f6135ab$var$t","$70db777e8f6135ab$var$r","$70db777e8f6135ab$var$u","$70db777e8f6135ab$var$i","$70db777e8f6135ab$var$o","$70db777e8f6135ab$var$f","$70db777e8f6135ab$var$c","$70db777e8f6135ab$var$e","$70db777e8f6135ab$var$a","$70db777e8f6135ab$var$v","$70db777e8f6135ab$var$l","$70db777e8f6135ab$var$m","$70db777e8f6135ab$var$d","__H","__V","$70db777e8f6135ab$export$60241385465d0a34","$70db777e8f6135ab$export$13e3392192263954","$70db777e8f6135ab$var$B","__N","filter","every","$70db777e8f6135ab$export$6d9c69b0de29b591","$70db777e8f6135ab$var$z","$70db777e8f6135ab$export$e5c5a5f917a5871c","$70db777e8f6135ab$export$b8f5890fc79d6aca","$70db777e8f6135ab$export$1538c33de8887b59","$70db777e8f6135ab$var$b","$70db777e8f6135ab$var$k","$70db777e8f6135ab$var$w","requestAnimationFrame","$70db777e8f6135ab$var$j","$70db777e8f6135ab$var$g","clearTimeout","cancelAnimationFrame","$b2dbedd88e2bb823$var$canUseDOM","$b2dbedd88e2bb823$var$is","$b2dbedd88e2bb823$export$90fc3a17d93f704c","fn","args","$e7eac5accd0c8e48$var$relativePath","path","location","pathname","$e7eac5accd0c8e48$var$absolutePath","to","$e7eac5accd0c8e48$var$eventPushState","$e7eac5accd0c8e48$var$eventReplaceState","$e7eac5accd0c8e48$export$4bf9923669ad6c63","$e7eac5accd0c8e48$var$subscribeToLocationUpdates","callback","$e7eac5accd0c8e48$export$3a1ff78c39f8a86","ssrFn","subscribe","getSnapshot","getSSRSnapshot","_instance","_value","_getSnapshot","$e7eac5accd0c8e48$var$currentPathname","$e7eac5accd0c8e48$export$2a28ef6a9fe822a4","ssrPath","$e7eac5accd0c8e48$export$ff7962acd6052c28","history","original","result","apply","Event","dispatchEvent","$fa39f85a2f4c40bd$var$escapeRx","str","$fa39f85a2f4c40bd$var$rxForSegment","repeat","optional","prefix","capture","$fa39f85a2f4c40bd$var$pathToRegexp","pattern","groupRx","match","lastIndex","keys","exec","segment","mod","index","prev","substring","regexp","RegExp","$43f4290c2e1c8c6c$var$defaultRouter","hook","opts","navOpts","matcher","makeRegexpFn","cache","getRegexp","out","params","reduce","$43f4290c2e1c8c6c$var$RouterCtx","Consumer","Provider","splice","$43f4290c2e1c8c6c$export$9a302a45f65d0572","$43f4290c2e1c8c6c$var$useLocationFromRouter","router","$43f4290c2e1c8c6c$export$3f79f0b98112cf57","$43f4290c2e1c8c6c$export$55185c17a0fcbe46","parent","updateRouter","proto","ownBase","$43f4290c2e1c8c6c$export$e7b0ac011bb776c6","component","useRouteMatch","matches","$43f4290c2e1c8c6c$export$a6c7ac8248d6e38a","navigate","href","onClick","handleClick","ctrlKey","metaKey","altKey","shiftKey","button","defaultPrevented","preventDefault","extraProps","jsx","$43f4290c2e1c8c6c$var$flattenChildren","concat","map","$43f4290c2e1c8c6c$export$b5d5cf8927ab7262","originalLocation","element","$a43cd3da5e11dd79$var$windowLocation","hash","$a43cd3da5e11dd79$export$8eb08f90c24d5079","url","encodeURIComponent","$a43cd3da5e11dd79$export$4fac2eeccfa4a8ca","currentView","split","Boolean","$a43cd3da5e11dd79$export$b37f3f4c9f6562f7","currentLocation","setCurrentLocation","onHashChange","newLocation","scrollTo","$87d3613fdd90d9f3$export$d9a33280f07116d9","$31f868e32fe83e3e$var$LS_THEME_KEY","$31f868e32fe83e3e$var$DEFAULT_THEME","$31f868e32fe83e3e$var$getSavedTheme","savedTheme","localStorage","getItem","$31f868e32fe83e3e$var$assertTheme","theme","includes","$31f868e32fe83e3e$export$818080cba8053148","initialTheme","currentTheme","setCurrentTheme","setTheme","newTheme","setItem","setRandomTheme","randomTheme","Math","floor","random","themes","$8e9729df037268c2$export$2e2bcd8739ae039","setLocation","buildLink","onChange","target","file","files","URL","createObjectURL","$1d45441ec446f904$export$2e2bcd8739ae039","urlRE","placeholder","onKeyPress","keyCode","encodeURI","$17b050a6c4860540$export$2e2bcd8739ae039","themeEngine","options","$bf3b722837e02a56$export$2e2bcd8739ae039","rel","$26d7563a3571c071$export$2e2bcd8739ae039","ifdb","$1d41e2692da71243$export$2e2bcd8739ae039","$82438f79b880153d$var$tutorialGame","$82438f79b880153d$export$2e2bcd8739ae039","className","title","game","$1d6a41ed2b8e0680$var$Preview","join","$1d6a41ed2b8e0680$export$2e2bcd8739ae039","$034c9f96cebd6b40$export$2e2bcd8739ae039","VM","dialog","Dialog","streaming","FS","Module","filename_map","filename_counter","close","stream","fstream","fclose","fmode","file_write","fref","createNode","mode","isDir","isFile","ErrnoError","node","node_ops","stream_ops","timestamp","Date","now","getattr","size","atime","ctime","dev","gid","ino","mtime","nlink","rdev","uid","get_dialog_ref","filename","usage","gameid","AsciiToString","_gidispatch_get_game_id","file_construct_ref","llseek","offset","whence","position","curpos","ftell","fseek","lookup","realname","file_ref_exists","mknod","mmap","mount","msync","open","flags","file_fopen","file_read","Uint8Array","read","buffer","min","subarray","buf","BufferClass","from","fread","readdir","readlink","register_filename","suffix","fakename","rename","rmdir","setattr","symlink","unlink","file_remove_ref","write","fwrite","end_of_write","old_data","$0d34edacac7ea588$var$base_options","$0d34edacac7ea588$export$2e2bcd8739ae039","assign","default_options","start","encoder","TextEncoder","show_help","emglken_stdin_buffers","emglken_stdin_ready","locateFile","print","startsWith","endsWith","obj","JSON","parse","specialinput","last_fr_usage","filetype","GlkOte","update","console","log","preRun","EFS","mkdir","chdir","wasmBinary","accept","response","json_data","stringify","encode","vmcore","$98d53e988180932b$exports","toString","$2d243513b2ab5598$var$Module","_scriptDir","readyPromiseResolve","readyPromiseReject","read_","readAsync","readBinary","wasmMemory","EXITSTATUS","HEAP8","HEAPU8","HEAP16","HEAP32","HEAPU32","wasmBinaryFile","tempDouble","tempI64","calledRun","reject","moduleOverrides","arguments_","thisProgram","quit_","status","toThrow","scriptDirectory","currentScript","src","substr","lastIndexOf","xhr","XMLHttpRequest","send","responseText","onload","onerror","responseType","warn","noExitRuntime","WebAssembly","abort","ABORT","UTF8Decoder","TextDecoder","UTF8ArrayToString","heapOrArray","idx","maxBytesToRead","endIdx","endPtr","decode","UTF8ToString","ptr","maxPtr","end","stringToUTF8Array","heap","outIdx","maxBytesToWrite","startIdx","charCodeAt","u1","lengthBytesUTF8","len","updateMemoryViews","Int8Array","Int16Array","Int32Array","Uint16Array","Uint32Array","Float32Array","Float64Array","__ATPRERUN__","__ATINIT__","__ATMAIN__","__ATEXIT__","__ATPOSTRUN__","runtimeExited","runtimeKeepaliveCounter","runDependencies","runDependencyWatcher","dependenciesFulfilled","addRunDependency","removeRunDependency","clearInterval","what","RuntimeError","isDataURI","getBinary","instantiateArrayBuffer","binaryFile","imports","receiver","getBinaryPromise","fetch","credentials","catch","binary","instantiate","instance","reason","ExitStatus","message","callRuntimeCallbacks","callbacks","exceptionCaught","uncaughtExceptionCount","exceptionLast","ExceptionInfo","excPtr","set_type","get_type","set_destructor","destructor","get_destructor","set_refcount","refcount","set_caught","caught","get_caught","set_rethrown","rethrown","get_rethrown","set_adjusted_ptr","add_ref","release_ref","adjustedPtr","get_adjusted_ptr","get_exception_ptr","___cxa_is_pointer_type","adjusted","___cxa_find_matching_catch","thrown","setTempRet0","info","thrownType","caughtType","___cxa_can_catch","PATH","isAbs","charAt","splitPath","splitPathRe","normalizeArray","parts","allowAboveRoot","up","last","unshift","normalize","isAbsolute","trailingSlash","dirname","root","dir","basename","lastSlash","paths","join2","PATH_FS","resolvedPath","resolvedAbsolute","cwd","TypeError","relative","trim","arr","fromParts","toParts","samePartsLength","outputParts","intArrayFromString","stringy","dontAddNull","u8array","numBytesWritten","TTY","ttys","shutdown","ops","input","output","registerDevice","tty","seekable","fsync","pos","get_char","bytesRead","undefined","put_char","default_tty_ops","prompt","readline","val","default_tty1_ops","MEMFS","ops_table","isBlkdev","isFIFO","allocate","link","chrdev","chrdev_stream_ops","contents","usedBytes","isLink","isChrdev","getFileDataAsTypedArray","expandFileStorage","newCapacity","prevCapacity","max","oldContents","resizeFileStorage","newSize","attr","blksize","blocks","ceil","genericErrors","old_node","new_dir","new_name","new_node","lookupNode","entries","hasOwnProperty","newname","oldpath","canOwn","prot","allocated","byteOffset","mmapFlags","mounts","devices","streams","nextInode","nameTable","currentPath","initialized","ignorePermissions","filesystems","syncFSRequests","lookupPath","follow_mount","recurse_count","current_path","islast","isMountpoint","mounted","follow","count","getPath","isRoot","mountpoint","hashName","parentid","hashAddNode","name_next","hashRemoveNode","errCode","mayLookup","nodeName","FSNode","destroyNode","isSocket","flagModes","modeStringToFlags","flagsToPermissionString","flag","perms","nodePermissions","mayCreate","mayDelete","isdir","errno","mayOpen","MAX_OPEN_FDS","nextfd","fd_start","fd_end","fd","getStream","createStream","FSStream","shared","defineProperties","object","isRead","isWrite","isAppend","closeStream","device","getDevice","major","minor","makedev","ma","mi","getMounts","check","pop","syncfs","populate","completed","doCallback","done","errored","pseudo","mountRoot","next","create","mkdirTree","dirs","mkdev","newpath","old_path","new_path","old_dir","old_dirname","new_dirname","old_name","stat","dontFollow","lstat","chmod","lchmod","fchmod","chown","lchown","fchown","truncate","ftruncate","utime","created","ungotten","error","readFiles","isClosed","getdents","seeking","bytesWritten","munmap","ioctl","cmd","arg","readFile","encoding","ret","writeFile","actualNumBytes","ArrayBuffer","isView","byteLength","createDefaultDirectories","createDefaultDevices","random_device","getRandomDevice","crypto","randomBuffer","getRandomValues","createDevice","createSpecialDirectories","proc_self","createStandardStreams","ensureErrnoError","setErrno","stack","staticInit","quit","_fflush","getMode","canRead","canWrite","findObject","dontResolveLastLink","analyzePath","exists","parentExists","parentPath","parentObject","createPath","reverse","part","createFile","properties","createDataFile","forceLoadFile","isDevice","isFolder","createLazyFile","LazyUint8Array","lengthKnown","chunks","chunkOffset","chunkSize","chunkNum","getter","setDataGetter","cacheLength","header","datalength","Number","getResponseHeader","hasByteServing","usesGzip","doXHR","setRequestHeader","overrideMimeType","lazyArray","_length","_chunkSize","writeChunks","createPreloadedFile","dontCreateFile","preFinish","dep","fullname","processData","byteArray","finish","Browser","handledByPreloadPlugin","arrayBuffer","text","indexedDB","mozIndexedDB","webkitIndexedDB","msIndexedDB","DB_NAME","DB_VERSION","DB_STORE_NAME","saveFilesToDB","openRequest","onupgradeneeded","db","createObjectStore","onsuccess","transaction","objectStore","ok","fail","total","putRequest","put","loadFilesFromDB","getRequest","SYSCALLS","DEFAULT_POLLMASK","calculateAt","dirfd","allowEmpty","dirstream","getStreamFromFD","doStat","func","abs","getTime","doMsync","addr","varargs","getStr","__isLeapYear","year","__MONTH_DAYS_LEAP_CUMULATIVE","__MONTH_DAYS_REGULAR_CUMULATIVE","allocateUTF8","_malloc","ENV","getEnvStrings","strings","env","navigator","languages","exitJS","implicit","___funcs_on_exit","__MONTH_DAYS_LEAP","__MONTH_DAYS_REGULAR","_strftime","maxsize","format","tm","tm_zone","date","tm_sec","tm_min","tm_hour","tm_mday","tm_mon","tm_year","tm_wday","tm_yday","tm_isdst","tm_gmtoff","EXPANSION_RULES_1","rule","WEEKDAYS","MONTHS","leadingSomething","digits","character","leadingNulls","compareByDay","date1","date2","compare","sgn","getFullYear","getMonth","getDate","getFirstWeekStartDate","janFourth","getDay","getWeekBasedYear","thisDate","__addDays","days","newDate","leap","currentMonth","daysInCurrentMonth","setDate","setMonth","setFullYear","janFourthThisYear","janFourthNextYear","firstWeekStartThisYear","firstWeekStartNextYear","EXPANSION_RULES_2","twelveHour","__arraySum","array","sum","jan1","dec31","off","ahead","String","bytes","handleException","runAndAbortIfError","Asyncify","instrumentWasmImports","ASYNCIFY_IMPORTS","sig","instrumentWasmExports","exportCallStack","maybeStopUnwind","State","Normal","Unwinding","Rewinding","Disabled","StackSize","currData","handleSleepReturnValue","callStackNameToId","callStackIdToName","callStackId","asyncPromiseHandlers","sleepCallbacks","getCallStackId","funcName","_asyncify_stop_unwind","Fibers","trampoline","whenDone","allocateData","setDataHeader","setDataRewindFunc","stackSize","bottomOfCallStack","rewindId","getDataRewindFunc","doRewind","handleSleep","startAsync","reachedCallback","reachedAfterCallback","_asyncify_start_rewind","mainLoop","resume","asyncWasmReturnValue","isError","handled","pause","_asyncify_start_unwind","_asyncify_stop_rewind","_free","callUserCallback","maybeExit","_exit","handleAsync","wakeUp","wasmImports","maxlen","exception_addRef","_setThrew","exception_decRef","a1","dynCall_ii","___cxa_free_exception","amode","newStream","___errno_location","cwdLengthInBytes","op","argp","time","tmPtr","readI53FromI64","getSeconds","getMinutes","getHours","yday","__yday_from_date","monthDaysCumulative","isLeapYear","getTimezoneOffset","summerOffset","winterOffset","dst","timezone","daylight","tzname","currentYear","winter","summer","extractZone","toTimeString","stdTimezoneOffset","winterName","summerName","winterNamePtr","summerNamePtr","dest","num","copyWithin","requestedSize","oldSize","alignUp","multiple","cutDown","overGrownHeapSize","emscripten_realloc_buffer","grow","__environ","environ_buf","bufSize","string","writeAsciiToMemory","penviron_count","penviron_buf_size","iov","iovcnt","pnum","doReadv","curr","offset_low","offset_high","newOffset","hi","lo","NaN","isNaN","doWritev","a2","a3","sp","stackSave","dynCall_diii","stackRestore","dynCall_fiii","dynCall_i","dynCall_iii","dynCall_iiii","a4","dynCall_iiiii","a5","dynCall_iiiiii","a6","dynCall_iiiiiii","a7","dynCall_iiiiiiii","a8","a9","a10","a11","dynCall_iiiiiiiiiiii","dynCall_ji","dynCall_jiiii","dynCall_v","dynCall_vi","dynCall_vii","dynCall_viii","dynCall_viiii","dynCall_viiiii","dynCall_viiiiiii","dynCall_viiiiiiiiii","a12","a13","a14","a15","dynCall_viiiiiiiiiiiiiii","loc","createWasm","receiveInstance","cb","instantiateAsync","instantiateStreaming","_main","stackAlloc","run","addOnPreRun","doRun","shouldRunNow","callMain","entryFunction","argc","argv","argv_ptr","postRun","addOnPostRun","ch","fromCharCode","runCaller","ready","$454c12da88ceab7d$exports","$70d4325860634496$var$Module","emglken_common_buffer_transformer","numchars","dont_reduce","utf32","fromCodePoint","new_str","newbuf","codePointAt","newlen","Infinity","getUTCSeconds","getUTCMinutes","getUTCHours","getUTCDate","getUTCMonth","getUTCFullYear","getUTCDay","UTC","guessedOffset","dstOffset","trueOffset","setTime","getYear","lowerrest","special_cases","thischar","slightly_less_special_cases","toUpperCase","$57e022dac828c602$exports","$bc076b4214ff7fe6$var$Module","$adf084eb06e09d60$exports","$550f5195aabbfc7b$var$Module","old","dirp","outPtr","child","nofollow","bufsize","endChar","olddirfd","newdirfd","performance","dynCall_iiiiiiiii","dynCall_iiiiiiiiii","dynCall_iiiiiiiiiii","dynCall_iiiiiiiiiiiiii","dynCall_iiiiiiiiiiiiiiii","a16","a17","dynCall_iiiiiiiiiiiiiiiiii","dynCall_viiiiii","dynCall_viiiiiiii","dynCall_viiiiiiiii","dynCall_viiiiiiiiiii","$ffc332a4e0553020$exports","$ffa7e6eb668807b5$var$Module","$f81570ea977e655c$var$formats","extensions","engine","$f81570ea977e655c$export$1784a1ff765207b7","find","wasmBinaryName","$6cc55e85f69c62dc$export$2e2bcd8739ae039","handlers","loggers","dirent","israw","onFileRead","content","onFileWrite","tosave","onFileNameRequest","warning","$607a2f5df9bf3729$export$2e2bcd8739ae039","width","height","current_metrics","disabled","generation","interface","version","measure_window","buffercharheight","buffercharwidth","buffermarginx","buffermarginy","graphicsmarginx","graphicsmarginy","gridcharheight","gridcharwidth","gridmarginx","gridmarginy","inspacingx","inspacingy","outspacingx","outspacingy","getinterface","iface","send_response","gen","disable","cancel_inputs","windows","update_windows","update_content","update_inputs","accept_specialinput","exit","win","val2","res","metrics","support","$2e4ae466f1c769fd$export$2e2bcd8739ae039","sendFn","onInit","onUpdateInputs","filemode","messages","onUpdateContent","onExit","onDisable","onUpdateWindows","$f4aad693a7eb1cab$var$noop","$f4aad693a7eb1cab$var$defaultHandlers","acc","$f4aad693a7eb1cab$var$defaultLoggers","$f4aad693a7eb1cab$var$defaultSize","$f4aad693a7eb1cab$export$2e2bcd8739ae039","handlers_","loggers_","size_","$f70f6ed8aa0167f4$exports","$ae4b80531b5b7eb5$export$2e2bcd8739ae039","defaultContent","grid","subheader","emphasized","scrollTarget","endOfLine","$62a526398d9e890e$var$eol","$62a526398d9e890e$var$scrollTarget","$62a526398d9e890e$var$isFakeStatus","$62a526398d9e890e$var$trimInputPrompt","$62a526398d9e890e$var$parseInbox","inbox","currentWindow","currentInbox","clear","incoming","inboxMessagesRaw","$62a526398d9e890e$export$2e2bcd8739ae039","setMessages","textBufferEl","scrollTargets","querySelectorAll","freshScrollTarget","scrollIntoView","top","scrollHeight","behavior","tabindex","$fc1a9d8e897a3f88$export$2e2bcd8739ae039","prevMessages","setPrevMessages","currentInboxObj","lines","rawMessages","gridheight","fill","byId","list","line","shouldUpdatePrev","serialize","rawMessagesContent","flat","isEmpty","getGridStyle","$522ef20c4411156f$export$2e2bcd8739ae039","class","viewBox","xmlns","$09c2ae0a56d4216f$var$keyCodes","KEY_BACKSPACE","KEY_TAB","KEY_RETURN","KEY_ESC","KEY_PAGEUP","KEY_PAGEDOWN","KEY_END","KEY_HOME","KEY_LEFT","KEY_UP","KEY_RIGHT","KEY_DOWN","$09c2ae0a56d4216f$var$keyNames","$09c2ae0a56d4216f$var$hasModifier","modifiers","modifier","$09c2ae0a56d4216f$export$2e2bcd8739ae039","inputType","currentWindowId","sendMessage","onFullscreenRequest","setMenuOpen","targetWindow","setTargetWindow","inputText","setInputText","lastInput","setLastInput","inputEl","setFocus","focus","charHandlerDefault","charHandlerMobile","inputHandlers","char","maxlength","onKeyDown","setSelectionRange","finished","autofocus","autocomplete","spellCheck","autocapitalize","autocorrect","onDblClick","onInput","$3f6f728901b29270$var$fail","details","$3f6f728901b29270$var$loading","$3f6f728901b29270$export$2e2bcd8739ae039","stage","loading","$5dd12ecabd972271$var$lookupE","$5dd12ecabd972271$var$lookupD","$5dd12ecabd972271$var$pairStrings","pairString","encodeRepertoire","pair","first","codePoint","numZBits","$5dd12ecabd972271$var$BITS_PER_CHAR","$5dd12ecabd972271$var$BITS_PER_BYTE","chr","z","$5dd12ecabd972271$export$c564cdbbe6da493","uint8Array","uint8","j","bit","$5dd12ecabd972271$export$2f872c0f2117be69","numUint8s","numUint8Bits","$d19a0378e1073758$export$fe1040197752eb59","setStatus","setWindows","setCurrentWindowId","setInputType","setInbox","_tosave","_gameId","setFileName","$d19a0378e1073758$export$877ebb39146e6928","promise","$bb36c7040b61e80d$var$INITIAL_STATUS","$bb36c7040b61e80d$var$runMachine","Engine","storyfile","Glk","$bb36c7040b61e80d$export$2e2bcd8739ae039","vmParts","singleWindow","vm","setVm","setSendMessage","rejectionHandler","$f70ed90b8b4541bd$var$INITIAL_STATUS","$f70ed90b8b4541bd$var$prepareVM","setParts","st","fetchWasm","statusText","all","$f70ed90b8b4541bd$export$2e2bcd8739ae039","$e1df641eca1adea7$export$2e2bcd8739ae039","menuOpen","dialogOpen","showModal","currentDialog","closeHandler","tabIndex","$5b1dbd57077ad108$var$decode","encodedUrl","decodeURIComponent","$5b1dbd57077ad108$export$2e2bcd8739ae039","targetUrl","setTargetUrl","documentElement","requestFullscreen","$30aba6731c147baf$export$2e2bcd8739ae039","$765ad9f902f48a5c$exports","firstChild","playerView","app","getElementById","vnodeId","createVNode","isStaticChildren","normalizedProps","isValidElement","rerenderQueue","prevDebounce","defer","depthSort","EMPTY_OBJ","EMPTY_ARR","IS_NON_DIMENSIONAL","removeNode","createRef","Fragment","Component","this","getDomSibling","childIndex","sibling","updateParentDomPointers","enqueueRender","process","renderQueueLength","commitQueue","oldVNode","oldDom","parentDom","diff","commitRoot","diffChildren","renderResult","newParentVNode","oldParentVNode","globalContext","isSvg","excessDomChildren","isHydrating","childVNode","newDom","firstChildDom","refs","oldChildren","oldChildrenLength","reorderChildren","placeChild","getLastDom","applyRef","tmp","toChildArray","nextDom","sibDom","outer","lastDom","diffProps","dom","newProps","oldProps","hydrate","setStyle","oldValue","useCapture","eventProxyCapture","eventProxy","newVNode","isNew","oldState","snapshot","clearProcessingException","provider","componentContext","renderHook","newType","doRender","diffElementNodes","oldHtml","newHtml","parentVNode","skipRemove","replaceNode","cloneElement","createContext","defaultValue","contextId","contextValue","subs","ctx","_props","errorInfo","ctor","currentIndex","currentComponent","previousComponent","prevRaf","currentHook","afterPaintEffects","EMPTY","oldBeforeDiff","oldBeforeRender","oldAfterDiff","oldCommit","oldBeforeUnmount","getHookState","hooks","useState","initialState","useReducer","invokeOrReturn","reducer","hookState","_reducer","action","currentValue","nextValue","_hasScuFromHooks","updateHookState","stateHooks","prevScu","shouldUpdate","hookItem","prevCWU","useEffect","argsChanged","_pendingArgs","useLayoutEffect","useRef","initialValue","useMemo","useImperativeHandle","createHandle","factory","useCallback","useContext","useDebugValue","formatter","useErrorBoundary","errState","useId","__m","mask","flushAfterPaintEffects","invokeCleanup","invokeEffect","afterNextFrame","hasErrored","HAS_RAF","raf","timeout","comp","cleanup","oldArgs","newArgs"],"version":3,"file":"index.4a5edb74.js.map"} \ No newline at end of file diff --git a/docs/index.62ef15f1.css b/docs/index.62ef15f1.css new file mode 100644 index 0000000..cbcaeb5 --- /dev/null +++ b/docs/index.62ef15f1.css @@ -0,0 +1,2 @@ +@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:400;src:url(open-sans-cyrillic-ext-400-normal.5a91320c.woff2)format("woff2"),url(open-sans-cyrillic-ext-400-normal.650c7d3f.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:400;src:url(open-sans-cyrillic-400-normal.09174fa0.woff2)format("woff2"),url(open-sans-cyrillic-400-normal.2a726790.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:400;src:url(open-sans-greek-ext-400-normal.2d040ff0.woff2)format("woff2"),url(open-sans-greek-ext-400-normal.ca43dd21.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:400;src:url(open-sans-greek-400-normal.dc2ae4bd.woff2)format("woff2"),url(open-sans-greek-400-normal.3d6f6e23.woff)format("woff");unicode-range:U+370-3FF}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:400;src:url(open-sans-hebrew-400-normal.942ca237.woff2)format("woff2"),url(open-sans-hebrew-400-normal.76fb5a51.woff)format("woff");unicode-range:U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:400;src:url(open-sans-vietnamese-400-normal.979797dd.woff2)format("woff2"),url(open-sans-vietnamese-400-normal.c15bfd40.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:400;src:url(open-sans-latin-ext-400-normal.b040be2e.woff2)format("woff2"),url(open-sans-latin-ext-400-normal.9030d190.woff)format("woff");unicode-range:U+100-2AF,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:400;src:url(open-sans-latin-400-normal.7cf38e2c.woff2)format("woff2"),url(open-sans-latin-400-normal.36b20d2c.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+300-301,U+303-304,U+308-309,U+323,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html,body{background:#000;height:100%;margin:0;font-family:Open Sans,sans-serif;font-size:18px;line-height:27px}#root{height:100%}body *{scrollbar-color:var(--main-color)var(--bg-color);scrollbar-width:thin}body ::-webkit-scrollbar{width:var(--inner-padding)}body ::-webkit-scrollbar-thumb{background-color:var(--main-color);border:calc(.5*var(--inner-padding))solid var(--bg-color);border-left-width:0}:focus-visible{outline:calc(.5*var(--separator-width))solid var(--main-color);outline-offset:calc(1px + var(--separator-width))}::selection{color:var(--bg-color);background:var(--main-color)}a,summary{cursor:pointer;border-bottom:var(--separator-width)solid currentColor;color:inherit;text-decoration:none;display:inline}a:focus,a:hover,summary:focus,summary:hover{opacity:.8}hr{border:0;border-top:var(--separator-width)solid var(--main-color);height:0}ul{list-style:square}button{border:var(--separator-width)solid var(--main-color);background-color:var(--bg-color);color:var(--main-color);padding:var(--inner-padding)calc(4*var(--inner-padding));font-family:inherit;font-size:inherit;cursor:pointer}input::placeholder{color:var(--main-color);opacity:.8}input,select{box-sizing:border-box;padding:calc(.5*var(--inner-padding))var(--inner-padding);color:var(--main-color);background-color:var(--bg-color);border:var(--separator-width)solid var(--main-color);font:inherit}select{cursor:pointer;-webkit-appearance:none;appearance:none;background-image:repeating-linear-gradient(315deg,var(--bg-color),var(--bg-color)var(--inner-padding),var(--main-color)var(--inner-padding),var(--main-color)calc(var(--inner-padding) + var(--separator-width)),var(--bg-color)calc(var(--inner-padding) + var(--separator-width)),var(--bg-color)100%);border-radius:0;width:250px}label{width:100%;max-width:400px;display:inline-block}label input{width:100%}input[type=file]{text-indent:-100%;cursor:pointer;font-size:0;position:relative}body{--outer-padding:0px;--border-width:0px;--separator-width:2px;--inner-padding:8px;--input-box-margin:0px}@media (min-width:800px){body{--outer-padding:8px;--border-width:2px;--input-box-margin:8px}}.light{--bg-color:#fff;--main-color:#000c;--accent-color:#000c;--input-color:#000c}.dim{--bg-color:#333;--main-color:#fffc;--accent-color:#fffc;--input-color:#fffc}.dark{--bg-color:#000;--main-color:#fff;--accent-color:#fff;--input-color:#fff}.solarized-light{--bg-color:#eee8d5;--main-color:#586e75;--accent-color:#b58900;--input-color:#2aa198}.solarized-dark{--bg-color:#073642;--main-color:#93a1a1;--accent-color:#b58900;--input-color:#2aa198}.emo{--bg-color:#4d4d4d;--main-color:#f7a;--accent-color:#f7a;--input-color:#f7a}.redrum{--bg-color:#000;--main-color:red;--accent-color:red;--input-color:red}.toxin{--bg-color:#606060;--main-color:#d6ed17;--accent-color:#d6ed17;--input-color:#d6ed17}.valve{--bg-color:#292929;--main-color:#fb7e14;--accent-color:#fb7e14;--input-color:#fb7e14}.wasp{--bg-color:#f9d142;--main-color:#292826;--accent-color:#292826;--input-color:#292826}.a8008{--bg-color:#333a45;--main-color:#e9ecf0;--accent-color:#f44c7f;--input-color:#939eae}.a80s_after_dark{--bg-color:#1b1d36;--main-color:#e1e7ec;--accent-color:#fca6d1;--input-color:#99d6ea}.a9009{--bg-color:#eeebe2;--main-color:#080909;--accent-color:#080909;--input-color:#99947f}.aether{--bg-color:#101820;--main-color:#eedaea;--accent-color:#eedaea;--input-color:#cf6bdd}.alduin{--bg-color:#1c1c1c;--main-color:#f5f3ed;--accent-color:#dfd7af;--input-color:#444}.alpine{--bg-color:#6c687f;--main-color:#fff;--accent-color:#fff;--input-color:#9994b8}.arch{--bg-color:#0c0d11;--main-color:#f6f5f5;--accent-color:#7ebab5;--input-color:#454864}.aurora{--bg-color:#011926;--main-color:#fff;--accent-color:#00e980;--input-color:#245c69}.beach{--bg-color:#ffeead;--main-color:#5b7869;--accent-color:#96ceb4;--input-color:#ffcc5c}.bento{--bg-color:#2d394d;--main-color:#fffaf8;--accent-color:#ff7a90;--input-color:#4a768d}.bingsu{--bg-color:#b8a7aa;--main-color:#ebe6ea;--accent-color:#83616e;--input-color:#48373d}.bliss{--bg-color:#262727;--main-color:#fff;--accent-color:#f0d3c9;--input-color:#665957}.blue_dolphin{--bg-color:#003950;--main-color:#82eaff;--accent-color:#ffcefb;--input-color:#00e4ff}.blueberry_dark{--bg-color:#212b42;--main-color:#91b4d5;--accent-color:#add7ff;--input-color:#5c7da5}.blueberry_light{--bg-color:#dae0f5;--main-color:#678198;--accent-color:#506477;--input-color:#92a4be}.botanical{--bg-color:#7b9c98;--main-color:#eaf1f3;--accent-color:#eaf1f3;--input-color:#495755}.bouquet{--bg-color:#173f35;--main-color:#e9e0d2;--accent-color:#eaa09c;--input-color:#408e7b}.breeze{--bg-color:#e8d5c4;--main-color:#1b4c5e;--accent-color:#7d67a9;--input-color:#3a98b9}.bushido{--bg-color:#242933;--main-color:#f6f0e9;--accent-color:#ec4c56;--input-color:#596172}.cafe{--bg-color:#ceb18d;--main-color:#14120f;--accent-color:#14120f;--input-color:#d4d2d1}.camping{--bg-color:#faf1e4;--main-color:#3c403b;--accent-color:#618c56;--input-color:#c2b8aa}.carbon{--bg-color:#313131;--main-color:#f5e6c8;--accent-color:#f66e0d;--input-color:#616161}.catppuccin{--bg-color:#1e1e2e;--main-color:#d9e0ee;--accent-color:#abe9b3;--input-color:#575268}.chaos_theory{--bg-color:#141221;--main-color:#dde5ed;--accent-color:#fd77d7;--input-color:#676e8a}.cheesecake{--bg-color:#fdf0d5;--main-color:#3a3335;--accent-color:#8e2949;--input-color:#d91c81}.cherry_blossom{--bg-color:#323437;--main-color:#d1d0c5;--accent-color:#d65ccc;--input-color:#787d82}.comfy{--bg-color:#4a5b6e;--main-color:#f5efee;--accent-color:#f8cdc6;--input-color:#9ec1cc}.copper{--bg-color:#442f29;--main-color:#e7e0de;--accent-color:#b46a55;--input-color:#7ebab5}.creamsicle{--bg-color:#ff9869;--main-color:#fcfcf8;--accent-color:#fcfcf8;--input-color:#ff661f}.cyberspace{--bg-color:#181c18;--main-color:#c2fbe1;--accent-color:#00ce7c;--input-color:#9578d3}.dark_magic_girl{--bg-color:#091f2c;--main-color:#a288d9;--accent-color:#f5b1cc;--input-color:#93e8d3}.dark_note{--bg-color:#1f1f1f;--main-color:#d2dff4;--accent-color:#f2c17b;--input-color:#768f95}.darling{--bg-color:#fec8cd;--main-color:#fff;--accent-color:#fff;--input-color:#a30000}.deku{--bg-color:#058b8c;--main-color:#f7f2ea;--accent-color:#b63530;--input-color:#255458}.desert_oasis{--bg-color:#fff2d5;--main-color:#332800;--accent-color:#d19d01;--input-color:#0061fe}.dev{--bg-color:#1b2028;--main-color:#ccccb5;--accent-color:#23a9d5;--input-color:#4b5975}.diner{--bg-color:#537997;--main-color:#dfdbc8;--accent-color:#c3af5b;--input-color:#445c7f}.dino{--bg-color:#fff;--main-color:#1d221f;--accent-color:#40d672;--input-color:#d5d5d5}.dmg{--bg-color:#dadbdc;--main-color:#414141;--accent-color:#ae185e;--input-color:#3846b1}.dollar{--bg-color:#e4e4d4;--main-color:#555a56;--accent-color:#6b886b;--input-color:#8a9b69}.dots{--bg-color:#121520;--main-color:#fff;--accent-color:#fff;--input-color:#676e8a}.dracula{--bg-color:#282a36;--main-color:#f8f8f2;--accent-color:#bd93f9;--input-color:#6272a4}.drowning{--bg-color:#191826;--main-color:#9393a7;--accent-color:#4a6fb5;--input-color:#50688c}.dualshot{--bg-color:#737373;--main-color:#212222;--accent-color:#212222;--input-color:#aaa}.earthsong{--bg-color:#292521;--main-color:#e6c7a8;--accent-color:#509452;--input-color:#f5ae2d}.everblush{--bg-color:#141b1e;--main-color:#dadada;--accent-color:#8ccf7e;--input-color:#838887}.evil_eye{--bg-color:#0084c2;--main-color:#171718;--accent-color:#f7f2ea;--input-color:#01589f}.ez_mode{--bg-color:#0068c6;--main-color:#fff;--accent-color:#fa62d5;--input-color:#138bf7}.fire{--bg-color:#0f0000;--main-color:#fff;--accent-color:#b31313;--input-color:#683434}.fledgling{--bg-color:#3b363f;--main-color:#e6d5d3;--accent-color:#fc6e83;--input-color:#8e5568}.fleuriste{--bg-color:#c6b294;--main-color:#091914;--accent-color:#405a52;--input-color:#64374d}.froyo{--bg-color:#e1dacb;--main-color:#7b7d7d;--accent-color:#7b7d7d;--input-color:#b29c5e}.frozen_llama{--bg-color:#9bf2ea;--main-color:#fff;--accent-color:#6d44a6;--input-color:#b690fd}.fruit_chew{--bg-color:#d6d3d6;--main-color:#282528;--accent-color:#5c1e5f;--input-color:#b49cb5}.fundamentals{--bg-color:#727474;--main-color:#131313;--accent-color:#7fa482;--input-color:#cac4be}.future_funk{--bg-color:#2e1a47;--main-color:#f7f2ea;--accent-color:#f7f2ea;--input-color:#c18fff}.godspeed{--bg-color:#eae4cf;--main-color:#646669;--accent-color:#9abbcd;--input-color:#ada998}.graen{--bg-color:#303c36;--main-color:#a59682;--accent-color:#a59682;--input-color:#181d1a}.grand_prix{--bg-color:#36475c;--main-color:#c1c7d7;--accent-color:#c0d036;--input-color:#5c6c80}.gruvbox_dark{--bg-color:#282828;--main-color:#ebdbb2;--accent-color:#d79921;--input-color:#665c54}.gruvbox_light{--bg-color:#fbf1c7;--main-color:#3c3836;--accent-color:#689d6a;--input-color:#a89984}.hammerhead{--bg-color:#030613;--main-color:#e2f1f5;--accent-color:#4fcdb9;--input-color:#213c53}.hanok{--bg-color:#d8d2c3;--main-color:#393b3b;--accent-color:#513a2a;--input-color:#8b6f5c}.hedge{--bg-color:#415e31;--main-color:#f7f1d6;--accent-color:#6a994e;--input-color:#ede5b4}.honey{--bg-color:#f2aa00;--main-color:#f3eecb;--accent-color:#fff546;--input-color:#a66b00}.horizon{--bg-color:#1c1e26;--main-color:#bbb;--accent-color:#c4a88a;--input-color:#db886f}.husqy{--bg-color:#000;--main-color:#ebd7ff;--accent-color:#c58aff;--input-color:#972fff}.iceberg_dark{--bg-color:#161821;--main-color:#c6c8d1;--accent-color:#84a0c6;--input-color:#595e76}.iceberg_light{--bg-color:#e8e9ec;--main-color:#33374c;--accent-color:#2d539e;--input-color:#adb1c4}.ishtar{--bg-color:#202020;--main-color:#fae1c3;--accent-color:#91170c;--input-color:#847869}.iv_clover{--bg-color:#a0a0a0;--main-color:#3b2d3b;--accent-color:#573e40;--input-color:#353535}.iv_spade{--bg-color:#0c0c0c;--main-color:#d3c2c3;--accent-color:#b7976a;--input-color:#404040}.joker{--bg-color:#1a0e25;--main-color:#e9e2f5;--accent-color:#99de1e;--input-color:#7554a3}.laser{--bg-color:#221b44;--main-color:#dbe7e8;--accent-color:#009eaf;--input-color:#b82356}.lavender{--bg-color:#ada6c2;--main-color:#2f2a41;--accent-color:#e4e3e9;--input-color:#e4e3e9}.leather{--bg-color:#a86948;--main-color:#ffe4bc;--accent-color:#ffe4bc;--input-color:#81482b}.lil_dragon{--bg-color:#ebe1ef;--main-color:#212b43;--accent-color:#8a5bd6;--input-color:#a28db8}.lime{--bg-color:#7c878e;--main-color:#bfcfdc;--accent-color:#93c247;--input-color:#4b5257}.luna{--bg-color:#221c35;--main-color:#ffe3eb;--accent-color:#f67599;--input-color:#5a3a7e}.magic_girl{--bg-color:#fff;--main-color:#00ac8c;--accent-color:#f5b1cc;--input-color:#93e8d3}.mashu{--bg-color:#2b2b2c;--main-color:#f1e2e4;--accent-color:#76689a;--input-color:#d8a0a6}.matcha_moccha{--bg-color:#523525;--main-color:#ecddcc;--accent-color:#7ec160;--input-color:#9e6749}.material{--bg-color:#263238;--main-color:#e6edf3;--accent-color:#80cbc4;--input-color:#4c6772}.matrix{--bg-color:#000;--main-color:#d1ffcd;--accent-color:#15ff00;--input-color:#006500}.menthol{--bg-color:#00c18c;--main-color:#fff;--accent-color:#fff;--input-color:#186544}.metaverse{--bg-color:#232323;--main-color:#e8e8e8;--accent-color:#d82934;--input-color:#5e5e5e}.metropolis{--bg-color:#0f1f2c;--main-color:#e4edf1;--accent-color:#56c3b7;--input-color:#326984}.mexican{--bg-color:#f8ad34;--main-color:#eee;--accent-color:#b12189;--input-color:#333}.miami{--bg-color:#f35588;--main-color:#f0e9ec;--accent-color:#05dfd7;--input-color:#94294c}.miami_nights{--bg-color:#18181a;--main-color:#fff;--accent-color:#e4609b;--input-color:#47bac0}.midnight{--bg-color:#0b0e13;--main-color:#9fadc6;--accent-color:#60759f;--input-color:#394760}.milkshake{--bg-color:#fff;--main-color:#212b43;--accent-color:#212b43;--input-color:#62cfe6}.mint{--bg-color:#05385b;--main-color:#edf5e1;--accent-color:#5cdb95;--input-color:#20688a}.mizu{--bg-color:#afcbdd;--main-color:#1a2633;--accent-color:#fcfbf6;--input-color:#85a5bb}.modern_dolch{--bg-color:#2d2e30;--main-color:#e3e6eb;--accent-color:#7eddd3;--input-color:#54585c}.modern_dolch_light{--bg-color:#dbdbdb;--main-color:#454545;--accent-color:#8fd1c3;--input-color:#acacac}.modern_ink{--bg-color:#fff;--main-color:#000;--accent-color:#ff360d;--input-color:#b7b7b7}.monokai{--bg-color:#272822;--main-color:#e2e2dc;--accent-color:#a6e22e;--input-color:#e6db74}.moonlight{--bg-color:#191f28;--main-color:#ccccb5;--accent-color:#c69f68;--input-color:#4b5975}.mountain{--bg-color:#0f0f0f;--main-color:#e7e7e7;--accent-color:#e7e7e7;--input-color:#4c4c4c}.mr_sleeves{--bg-color:#d1d7da;--main-color:#1d1d1d;--accent-color:#daa99b;--input-color:#9a9fa1}.ms_cupcakes{--bg-color:#fff;--main-color:#0a282f;--accent-color:#5ed5f3;--input-color:#d64090}.muted{--bg-color:#525252;--main-color:#b1e4e3;--accent-color:#c5b4e3;--input-color:#939eae}.nautilus{--bg-color:#132237;--main-color:#1cbaac;--accent-color:#ebb723;--input-color:#0b4c6c}.nebula{--bg-color:#212135;--main-color:#838686;--accent-color:#be3c88;--input-color:#19b3b8}.night_runner{--bg-color:#212121;--main-color:#e8e8e8;--accent-color:#feff04;--input-color:#5c4a9c}.nord{--bg-color:#242933;--main-color:#d8dee9;--accent-color:#d8dee9;--input-color:#617b94}.nord_light{--bg-color:#eceff4;--main-color:#8fbcbb;--accent-color:#8fbcbb;--input-color:#6a7791}.norse{--bg-color:#242425;--main-color:#ccc2b1;--accent-color:#2b5f6d;--input-color:#505b5e}.oblivion{--bg-color:#313231;--main-color:#f7f5f1;--accent-color:#a5a096;--input-color:#5d6263}.olive{--bg-color:#e9e5cc;--main-color:#373731;--accent-color:#92946f;--input-color:#b7b39e}.olivia{--bg-color:#1c1b1d;--main-color:#f2efed;--accent-color:#deaf9d;--input-color:#4e3e3e}.onedark{--bg-color:#2f343f;--main-color:#98c379;--accent-color:#61afef;--input-color:#eceff4}.our_theme{--bg-color:#ce1226;--main-color:#fff;--accent-color:#fcd116;--input-color:#6d0f19}.paper{--bg-color:#eee;--main-color:#444;--accent-color:#444;--input-color:#b2b2b2}.passion_fruit{--bg-color:#7c2142;--main-color:#fff;--accent-color:#f4a3b4;--input-color:#9994b8}.pastel{--bg-color:#e0b2bd;--main-color:#6d5c6f;--accent-color:#fbf4b6;--input-color:#b4e9ff}.peach_blossom{--bg-color:#292929;--main-color:#fecea8;--accent-color:#99b898;--input-color:#616161}.peaches{--bg-color:#e0d7c1;--main-color:#5f4c41;--accent-color:#dd7a5f;--input-color:#e7b28e}.pink_lemonade{--bg-color:#f6d992;--main-color:#fcfcf8;--accent-color:#f6a192;--input-color:#f6b092}.pulse{--bg-color:#181818;--main-color:#e5f4f4;--accent-color:#17b8bd;--input-color:#53565a}.purpurite{--bg-color:#1f2533;--main-color:#99f;--accent-color:#99f;--input-color:#cdf}.red_dragon{--bg-color:#1a0b0c;--main-color:#4a4d4e;--accent-color:#ff3a32;--input-color:#e2a528}.red_samurai{--bg-color:#84202c;--main-color:#e2dad0;--accent-color:#c79e6e;--input-color:#55131b}.repose_dark{--bg-color:#2f3338;--main-color:#d6d2bc;--accent-color:#d6d2bc;--input-color:#8f8e84}.repose_light{--bg-color:#efead0;--main-color:#333538;--accent-color:#5f605e;--input-color:#8f8e84}.retro{--bg-color:#dad3c1;--main-color:#1d1b17;--accent-color:#1d1b17;--input-color:#918b7d}.retrocast{--bg-color:#07737a;--main-color:#fff;--accent-color:#88dbdf;--input-color:#f3e03b}.rose_pine{--bg-color:#1f1d27;--main-color:#e0def4;--accent-color:#9ccfd8;--input-color:#c4a7e7}.rose_pine_dawn{--bg-color:#fffaf3;--main-color:#286983;--accent-color:#56949f;--input-color:#c4a7e7}.rose_pine_moon{--bg-color:#2a273f;--main-color:#e0def4;--accent-color:#9ccfd8;--input-color:#c4a7e7}.rudy{--bg-color:#1a2b3e;--main-color:#c9c8bf;--accent-color:#af8f5c;--input-color:#3a506c}.ryujinscales{--bg-color:#081426;--main-color:#ffe4bc;--accent-color:#f17754;--input-color:#ffbc90}.serika{--bg-color:#e1e1e3;--main-color:#323437;--accent-color:#e2b714;--input-color:#aaaeb3}.serika_dark{--bg-color:#323437;--main-color:#d1d0c5;--accent-color:#e2b714;--input-color:#646669}.sewing_tin{--bg-color:#241963;--main-color:#fff;--accent-color:#f2ce83;--input-color:#446ad5}.sewing_tin_light{--bg-color:#fff;--main-color:#2d2076;--accent-color:#2d2076;--input-color:#385eca}.shadow{--bg-color:#000;--main-color:#eee;--accent-color:#eee;--input-color:#444}.shoko{--bg-color:#ced7e0;--main-color:#3b4c58;--accent-color:#81c4dd;--input-color:#7599b1}.slambook{--bg-color:#fffdde;--main-color:#125d98;--accent-color:#13005a;--input-color:#1c82adc4}.snes{--bg-color:#bfbec2;--main-color:#2e2e2e;--accent-color:#553d94;--input-color:#9f8ad4}.soaring_skies{--bg-color:#fff9f2;--main-color:#1d1e1e;--accent-color:#55c6f0;--input-color:#1e107a}.sonokai{--bg-color:#2c2e34;--main-color:#e2e2e3;--accent-color:#9ed072;--input-color:#e7c664}.stealth{--bg-color:#010203;--main-color:#383e42;--accent-color:#383e42;--input-color:#5e676e}.strawberry{--bg-color:#f37f83;--main-color:#fcfcf8;--accent-color:#fcfcf8;--input-color:#e53c58}.striker{--bg-color:#124883;--main-color:#d6dbd9;--accent-color:#d7dcda;--input-color:#0f2d4e}.superuser{--bg-color:#262a33;--main-color:#e5f7ef;--accent-color:#43ffaf;--input-color:#526777}.sweden{--bg-color:#0058a3;--main-color:#fff;--accent-color:#ffcc02;--input-color:#57abdb}.taro{--bg-color:#b3baff;--main-color:#130f1a;--accent-color:#130f1a;--input-color:#6f6c91}.terminal{--bg-color:#191a1b;--main-color:#e7eae0;--accent-color:#79a617;--input-color:#48494b}.terra{--bg-color:#0c100e;--main-color:#f0edd1;--accent-color:#89c559;--input-color:#436029}.terror_below{--bg-color:#0b1e1a;--main-color:#dceae5;--accent-color:#66ac92;--input-color:#015c53}.tiramisu{--bg-color:#cfc6b9;--main-color:#7d5448;--accent-color:#c0976f;--input-color:#c0976f}.trackday{--bg-color:#464d66;--main-color:#cfcfcf;--accent-color:#e0513e;--input-color:#5c7eb9}.trance{--bg-color:#00021b;--main-color:#fff;--accent-color:#e51376;--input-color:#3c4c79}.tron_orange{--bg-color:#0d1c1c;--main-color:#fff;--accent-color:#f0e800;--input-color:#f60}.vaporwave{--bg-color:#a4a7ea;--main-color:#f1ebf1;--accent-color:#e368da;--input-color:#7c7faf}.viridescent{--bg-color:#2c3333;--main-color:#e9f5db;--accent-color:#95d5b2;--input-color:#84a98c}.voc{--bg-color:#190618;--main-color:#eeeae4;--accent-color:#e0caac;--input-color:#4c1e48}.vscode{--bg-color:#1e1e1e;--main-color:#d4d4d4;--accent-color:#007acc;--input-color:#4d4d4d}.watermelon{--bg-color:#1f4437;--main-color:#cdc6bc;--accent-color:#d6686f;--input-color:#3e7a65}.wavez{--bg-color:#1c292f;--main-color:#e9efe6;--accent-color:#6bde3b;--input-color:#1f5e6b}.witch_girl{--bg-color:#f3dbda;--main-color:#56786a;--accent-color:#56786a;--input-color:#ddb4a7}.-soi4G_games .-soi4G_tutorial{margin-block:64px}.-soi4G_games h4{margin:0}.-soi4G_games li{margin-bottom:1em}.qdlvgW_themes{--current-border:var(--main-color)}.qdlvgW_themes .qdlvgW_themePreview{border:2px solid var(--current-border);padding:calc(2*var(--inner-padding));background-color:var(--bg-color);color:var(--main-color);margin-bottom:32px}.qdlvgW_themes .qdlvgW_themePreview.qdlvgW_current{border:none;margin-block:64px;padding:0}.qdlvgW_themes .qdlvgW_themePreview .qdlvgW_output{border:2px solid var(--main-color);padding:var(--inner-padding);margin-bottom:8px}.qdlvgW_themes .qdlvgW_themePreview .qdlvgW_output .qdlvgW_message.qdlvgW_subheader{color:var(--accent-color);text-transform:capitalize;font-weight:700}.qdlvgW_themes .qdlvgW_themePreview .qdlvgW_output .qdlvgW_message.qdlvgW_input{color:var(--input-color)}.qdlvgW_themes .qdlvgW_themePreview button{width:100%}.hBGgUq_message.hBGgUq_input{color:var(--input-color)}.hBGgUq_message.hBGgUq_emphasized,.hBGgUq_message.hBGgUq_subheader{color:var(--accent-color)}.hBGgUq_scrollTarget{scroll-margin-block-start:var(--inner-padding)}.PwGQsW_elseifplayer{box-sizing:border-box;background-color:var(--bg-color);color:var(--main-color);padding:var(--outer-padding);flex-direction:column;height:100%;display:flex}.PwGQsW_elseifplayer .PwGQsW_output{overflow-wrap:break-word;border:var(--border-width)solid var(--main-color);flex-direction:column;flex-grow:2;display:flex;overflow-y:hidden}.PwGQsW_elseifplayer .PwGQsW_output .PwGQsW_buffer{box-sizing:border-box;padding:var(--inner-padding);overflow-y:scroll}.PwGQsW_elseifplayer .PwGQsW_output .PwGQsW_buffer:empty,.PwGQsW_elseifplayer .PwGQsW_output .PwGQsW_buffer>br:first-child,.PwGQsW_elseifplayer .PwGQsW_output .PwGQsW_buffer>br:last-child,.PwGQsW_elseifplayer .PwGQsW_output .PwGQsW_buffer>br+br+br{display:none}.PwGQsW_elseifplayer .PwGQsW_output .PwGQsW_buffer.PwGQsW_gridBuffer{border-bottom:var(--separator-width)solid var(--main-color);flex-shrink:0;max-height:100%}.PwGQsW_elseifplayer .PwGQsW_output .PwGQsW_buffer.PwGQsW_textBuffer{scroll-behavior:smooth;outline:none;flex:2}.gUkI1a_menuButton{outline-offset:-8px;background:0 0;border:none;justify-content:center;align-items:center;height:100%;padding:0;display:inline-flex;position:absolute;right:0}@media (max-width:800px){.gUkI1a_menuButton{padding:0 calc(.5*var(--inner-padding));overflow:hidden}}.gUkI1a_menuButton:focus-visible{outline-offset:-4px}.gUkI1a_menuButton .gUkI1a_menuIcon{fill:none;stroke:currentColor;stroke-width:2px;height:32px}@media (max-width:800px){.gUkI1a_menuButton .gUkI1a_menuIcon{fill:currentColor;transform:scale(2,.5)}}.LdLucW_inputControls{margin-top:var(--input-box-margin);position:relative}.LdLucW_inputControls .LdLucW_inputBox{font:inherit;color:inherit;background-color:var(--bg-color);border:var(--border-width)solid var(--main-color);border-top:var(--separator-width)solid var(--main-color);padding:var(--inner-padding);padding-right:calc(4*var(--inner-padding));outline:0;width:100%;margin:0}.LdLucW_inputControls .LdLucW_inputBox::placeholder{color:var(--main-color);opacity:1}.LdLucW_inputControls .LdLucW_inputBox:focus::placeholder{opacity:.5}.LdLucW_inputControls .LdLucW_inputBox::-webkit-search-cancel-button{display:none}@keyframes zi213q_dots0123{0%{content:""}33%{content:"."}66%{content:".."}to{content:"..."}}.zi213q_status{word-break:break-word;padding-block:var(--inner-padding)}@media (max-width:800px){.zi213q_status{padding:var(--inner-padding)}}.zi213q_status.zi213q_loading>div:after{content:"";animation:1s infinite zi213q_dots0123}.J9zJZG_menu{text-align:center;background-color:var(--bg-color);border-left:none;border-right:none;border-color:var(--main-color);color:var(--main-color);width:100%;padding-top:0;padding-bottom:0}.J9zJZG_menu::backdrop{backdrop-filter:blur(2px);background:0 0}.J9zJZG_menu>section{flex-direction:column;gap:32px;max-width:270px;margin:32px auto 40px;display:flex}.J9zJZG_menu .J9zJZG_navigation{color:var(--accent-color)}.J9zJZG_menu .J9zJZG_appearance{flex-direction:column;gap:8px;display:flex}.J9zJZG_menu select,.J9zJZG_menu button{width:100%}.X8uEDW_app{box-sizing:border-box;color:var(--main-color);background-color:var(--bg-color);flex-direction:column;justify-content:center;align-items:center;min-height:100%;display:flex}.X8uEDW_app.X8uEDW_home,.X8uEDW_app.X8uEDW_games,.X8uEDW_app.X8uEDW_themes{padding:var(--inner-padding)}@media (min-width:800px){.X8uEDW_app.X8uEDW_home,.X8uEDW_app.X8uEDW_games,.X8uEDW_app.X8uEDW_themes{padding-left:calc(100vw - 100% + var(--inner-padding))}}.X8uEDW_app.X8uEDW_play,.X8uEDW_app.X8uEDW_focus{height:100%;max-height:100dvh}@media (min-width:800px){.X8uEDW_app.X8uEDW_play>main,.X8uEDW_app.X8uEDW_focus>main{max-height:90%;margin:auto}}.X8uEDW_app>main{box-sizing:border-box;flex:auto;width:100%;height:100%}@media (min-width:800px){.X8uEDW_app>main{max-width:800px;margin:5vh 0}} +/*# sourceMappingURL=index.62ef15f1.css.map */ diff --git a/docs/index.62ef15f1.css.map b/docs/index.62ef15f1.css.map new file mode 100644 index 0000000..243dfe7 --- /dev/null +++ b/docs/index.62ef15f1.css.map @@ -0,0 +1 @@ +{"mappings":"ACCA,kVAUA,oTAUA,kRAUA,6QAUA,qTAUA,sYAUA,oYAUA,yaCrEA,gHAYA,kBCXE,6EAKA,oDAIA,gJASF,gIAKA,+DAOA,kIAUA,uDASA,8EAQA,qBAMA,mOAYA,sDAKA,wNAWA,mYAkBA,sDAMA,uBAIA,gFC1HA,6GAOA,yBACE,oEASF,mFAOA,iFAOA,+EASA,sGAOA,qGASA,iFAOA,8EAOA,4FAOA,4FAOA,2FASA,4FAOA,sGAOA,4FAOA,6FAOA,0FAOA,uFAOA,2FAOA,0FAOA,4FAOA,4FAOA,6FAOA,yFAOA,mGAOA,qGAOA,sGAOA,gGAOA,8FAOA,6FAOA,8FAOA,2FAOA,8FAOA,6FAOA,iGAOA,mGAOA,iGAOA,qGAOA,4FAOA,6FAOA,iGAOA,iGAOA,sGAOA,gGAOA,wFAOA,2FAOA,mGAOA,0FAOA,4FAOA,wFAOA,0FAOA,6FAOA,qFAOA,8FAOA,+FAOA,4FAOA,gGAOA,gGAOA,+FAOA,2FAOA,wFAOA,gGAOA,gGAOA,4FAOA,gGAOA,iGAOA,mGAOA,kGAOA,+FAOA,4FAOA,iGAOA,mGAOA,oGAOA,iGAOA,4FAOA,4FAOA,4FAOA,2FAOA,yFAOA,mGAOA,oGAOA,6FAOA,gGAOA,+FAOA,4FAOA,4FAOA,+FAOA,8FAOA,iGAOA,2FAOA,2FAOA,8FAOA,4FAOA,oGAOA,+FAOA,0FAOA,wFAOA,gGAOA,iGAOA,wFAOA,4FAOA,gGAOA,+FAOA,6FAOA,2FAOA,2FAOA,mGAOA,yGAOA,2FAOA,8FAOA,gGAOA,+FAOA,iGAOA,+FAOA,4FAOA,+FAOA,6FAOA,mGAOA,2FAOA,iGAOA,4FAOA,+FAOA,4FAOA,6FAOA,8FAOA,6FAOA,mFAOA,iGAOA,6FAOA,oGAOA,8FAOA,oGAOA,4FAOA,uFAOA,iGAOA,kGAOA,kGAOA,mGAOA,4FAOA,6FAOA,gGAOA,qGAOA,qGAOA,2FAOA,mGAOA,6FAOA,kGAOA,8FAOA,oGAOA,iFAOA,4FAOA,iGAOA,2FAOA,oGAOA,8FAOA,8FAOA,iGAOA,8FAOA,gGAOA,0FAOA,2FAOA,+FAOA,4FAOA,mGAOA,+FAOA,+FAOA,0FAOA,4FAOA,gGAOA,kGAOA,0FAOA,6FAOA,iGAOA,4FAOA,iGC1sCE,iDAIA,0BAIA,mCCTF,kDAGE,4LAQE,2FAMA,qIAKE,wJAMA,yGAKF,sDChCF,sDAIA,6FAMF,oECXA,gLAUE,gLASE,wHAME,qQAUA,+JAMA,gHCzCN,gLAYE,yBAZF,4EAiBE,qDAIA,+FAME,yBANF,6ECrBF,2EAIE,oTAaE,sFAKA,qEAIA,kFC1BJ,4FAOA,wEAIE,yBAJF,6CAQE,yFCfF,oMAaE,gEAKA,uGAQA,0DAIA,2EAMA,mDCpCF,wLAaE,wGAIE,yBAJF,mIAUA,+EAIE,yBACE,uFAQJ,wEAOE,yBAPF","sources":["index.62ef15f1.css","node_modules/@fontsource/open-sans/index.css","src/style/base.scss","src/style/controls.scss","src/themes/themes.css","src/views/GamesView/GamesView.module.scss","src/views/ThemesView/ThemesView.module.scss","src/components/Player/OutputBox/TextMessage/TextMessage.module.scss","src/components/Player/Player.module.scss","src/components/Player/InputBox/MenuButton/MenuButton.module.scss","src/components/Player/InputBox/InputBox.module.scss","src/components/Player/Status/Status.module.scss","src/components/Player/MenuOverlay/MenuOverlay.module.scss","src/style/App.module.scss"],"sourcesContent":["@font-face {\n font-family: Open Sans;\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(\"open-sans-cyrillic-ext-400-normal.5a91320c.woff2\") format(\"woff2\"), url(\"open-sans-cyrillic-ext-400-normal.650c7d3f.woff\") format(\"woff\");\n unicode-range: U+460-52F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n\n@font-face {\n font-family: Open Sans;\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(\"open-sans-cyrillic-400-normal.09174fa0.woff2\") format(\"woff2\"), url(\"open-sans-cyrillic-400-normal.2a726790.woff\") format(\"woff\");\n unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;\n}\n\n@font-face {\n font-family: Open Sans;\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(\"open-sans-greek-ext-400-normal.2d040ff0.woff2\") format(\"woff2\"), url(\"open-sans-greek-ext-400-normal.ca43dd21.woff\") format(\"woff\");\n unicode-range: U+1F??;\n}\n\n@font-face {\n font-family: Open Sans;\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(\"open-sans-greek-400-normal.dc2ae4bd.woff2\") format(\"woff2\"), url(\"open-sans-greek-400-normal.3d6f6e23.woff\") format(\"woff\");\n unicode-range: U+370-3FF;\n}\n\n@font-face {\n font-family: Open Sans;\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(\"open-sans-hebrew-400-normal.942ca237.woff2\") format(\"woff2\"), url(\"open-sans-hebrew-400-normal.76fb5a51.woff\") format(\"woff\");\n unicode-range: U+590-5FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;\n}\n\n@font-face {\n font-family: Open Sans;\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(\"open-sans-vietnamese-400-normal.979797dd.woff2\") format(\"woff2\"), url(\"open-sans-vietnamese-400-normal.c15bfd40.woff\") format(\"woff\");\n unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;\n}\n\n@font-face {\n font-family: Open Sans;\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(\"open-sans-latin-ext-400-normal.b040be2e.woff2\") format(\"woff2\"), url(\"open-sans-latin-ext-400-normal.9030d190.woff\") format(\"woff\");\n unicode-range: U+100-2AF, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1E??, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n\n@font-face {\n font-family: Open Sans;\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(\"open-sans-latin-400-normal.7cf38e2c.woff2\") format(\"woff2\"), url(\"open-sans-latin-400-normal.36b20d2c.woff\") format(\"woff\");\n unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+300-301, U+303-304, U+308-309, U+323, U+329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n\nhtml, body {\n background: #000;\n height: 100%;\n margin: 0;\n font-family: Open Sans, sans-serif;\n font-size: 18px;\n line-height: 27px;\n}\n\n#root {\n height: 100%;\n}\n\nbody * {\n scrollbar-color: var(--main-color) var(--bg-color);\n scrollbar-width: thin;\n}\n\nbody ::-webkit-scrollbar {\n width: var(--inner-padding);\n}\n\nbody ::-webkit-scrollbar-thumb {\n background-color: var(--main-color);\n border: calc(.5 * var(--inner-padding)) solid var(--bg-color);\n border-left-width: 0;\n}\n\n:focus-visible {\n outline: calc(.5 * var(--separator-width)) solid var(--main-color);\n outline-offset: calc(1px + var(--separator-width));\n}\n\n::selection {\n color: var(--bg-color);\n background: var(--main-color);\n}\n\na, summary {\n cursor: pointer;\n border-bottom: var(--separator-width) solid currentColor;\n color: inherit;\n text-decoration: none;\n display: inline;\n}\n\na:focus, a:hover, summary:focus, summary:hover {\n opacity: .8;\n}\n\nhr {\n border: 0;\n border-top: var(--separator-width) solid var(--main-color);\n height: 0;\n}\n\nul {\n list-style: square;\n}\n\nbutton {\n border: var(--separator-width) solid var(--main-color);\n background-color: var(--bg-color);\n color: var(--main-color);\n padding: var(--inner-padding) calc(4 * var(--inner-padding));\n font-family: inherit;\n font-size: inherit;\n cursor: pointer;\n}\n\ninput::placeholder {\n color: var(--main-color);\n opacity: .8;\n}\n\ninput, select {\n box-sizing: border-box;\n padding: calc(.5 * var(--inner-padding)) var(--inner-padding);\n color: var(--main-color);\n background-color: var(--bg-color);\n border: var(--separator-width) solid var(--main-color);\n font: inherit;\n}\n\nselect {\n cursor: pointer;\n -webkit-appearance: none;\n appearance: none;\n background-image: repeating-linear-gradient(315deg, var(--bg-color), var(--bg-color) var(--inner-padding), var(--main-color) var(--inner-padding), var(--main-color) calc(var(--inner-padding) + var(--separator-width)), var(--bg-color) calc(var(--inner-padding) + var(--separator-width)), var(--bg-color) 100%);\n border-radius: 0;\n width: 250px;\n}\n\nlabel {\n width: 100%;\n max-width: 400px;\n display: inline-block;\n}\n\nlabel input {\n width: 100%;\n}\n\ninput[type=\"file\"] {\n text-indent: -100%;\n cursor: pointer;\n font-size: 0;\n position: relative;\n}\n\nbody {\n --outer-padding: 0px;\n --border-width: 0px;\n --separator-width: 2px;\n --inner-padding: 8px;\n --input-box-margin: 0px;\n}\n\n@media (min-width: 800px) {\n body {\n --outer-padding: 8px;\n --border-width: 2px;\n --input-box-margin: 8px;\n }\n}\n\n.light {\n --bg-color: #fff;\n --main-color: #000c;\n --accent-color: #000c;\n --input-color: #000c;\n}\n\n.dim {\n --bg-color: #333;\n --main-color: #fffc;\n --accent-color: #fffc;\n --input-color: #fffc;\n}\n\n.dark {\n --bg-color: #000;\n --main-color: #fff;\n --accent-color: #fff;\n --input-color: #fff;\n}\n\n.solarized-light {\n --bg-color: #eee8d5;\n --main-color: #586e75;\n --accent-color: #b58900;\n --input-color: #2aa198;\n}\n\n.solarized-dark {\n --bg-color: #073642;\n --main-color: #93a1a1;\n --accent-color: #b58900;\n --input-color: #2aa198;\n}\n\n.emo {\n --bg-color: #4d4d4d;\n --main-color: #f7a;\n --accent-color: #f7a;\n --input-color: #f7a;\n}\n\n.redrum {\n --bg-color: #000;\n --main-color: red;\n --accent-color: red;\n --input-color: red;\n}\n\n.toxin {\n --bg-color: #606060;\n --main-color: #d6ed17;\n --accent-color: #d6ed17;\n --input-color: #d6ed17;\n}\n\n.valve {\n --bg-color: #292929;\n --main-color: #fb7e14;\n --accent-color: #fb7e14;\n --input-color: #fb7e14;\n}\n\n.wasp {\n --bg-color: #f9d142;\n --main-color: #292826;\n --accent-color: #292826;\n --input-color: #292826;\n}\n\n.a8008 {\n --bg-color: #333a45;\n --main-color: #e9ecf0;\n --accent-color: #f44c7f;\n --input-color: #939eae;\n}\n\n.a80s_after_dark {\n --bg-color: #1b1d36;\n --main-color: #e1e7ec;\n --accent-color: #fca6d1;\n --input-color: #99d6ea;\n}\n\n.a9009 {\n --bg-color: #eeebe2;\n --main-color: #080909;\n --accent-color: #080909;\n --input-color: #99947f;\n}\n\n.aether {\n --bg-color: #101820;\n --main-color: #eedaea;\n --accent-color: #eedaea;\n --input-color: #cf6bdd;\n}\n\n.alduin {\n --bg-color: #1c1c1c;\n --main-color: #f5f3ed;\n --accent-color: #dfd7af;\n --input-color: #444;\n}\n\n.alpine {\n --bg-color: #6c687f;\n --main-color: #fff;\n --accent-color: #fff;\n --input-color: #9994b8;\n}\n\n.arch {\n --bg-color: #0c0d11;\n --main-color: #f6f5f5;\n --accent-color: #7ebab5;\n --input-color: #454864;\n}\n\n.aurora {\n --bg-color: #011926;\n --main-color: #fff;\n --accent-color: #00e980;\n --input-color: #245c69;\n}\n\n.beach {\n --bg-color: #ffeead;\n --main-color: #5b7869;\n --accent-color: #96ceb4;\n --input-color: #ffcc5c;\n}\n\n.bento {\n --bg-color: #2d394d;\n --main-color: #fffaf8;\n --accent-color: #ff7a90;\n --input-color: #4a768d;\n}\n\n.bingsu {\n --bg-color: #b8a7aa;\n --main-color: #ebe6ea;\n --accent-color: #83616e;\n --input-color: #48373d;\n}\n\n.bliss {\n --bg-color: #262727;\n --main-color: #fff;\n --accent-color: #f0d3c9;\n --input-color: #665957;\n}\n\n.blue_dolphin {\n --bg-color: #003950;\n --main-color: #82eaff;\n --accent-color: #ffcefb;\n --input-color: #00e4ff;\n}\n\n.blueberry_dark {\n --bg-color: #212b42;\n --main-color: #91b4d5;\n --accent-color: #add7ff;\n --input-color: #5c7da5;\n}\n\n.blueberry_light {\n --bg-color: #dae0f5;\n --main-color: #678198;\n --accent-color: #506477;\n --input-color: #92a4be;\n}\n\n.botanical {\n --bg-color: #7b9c98;\n --main-color: #eaf1f3;\n --accent-color: #eaf1f3;\n --input-color: #495755;\n}\n\n.bouquet {\n --bg-color: #173f35;\n --main-color: #e9e0d2;\n --accent-color: #eaa09c;\n --input-color: #408e7b;\n}\n\n.breeze {\n --bg-color: #e8d5c4;\n --main-color: #1b4c5e;\n --accent-color: #7d67a9;\n --input-color: #3a98b9;\n}\n\n.bushido {\n --bg-color: #242933;\n --main-color: #f6f0e9;\n --accent-color: #ec4c56;\n --input-color: #596172;\n}\n\n.cafe {\n --bg-color: #ceb18d;\n --main-color: #14120f;\n --accent-color: #14120f;\n --input-color: #d4d2d1;\n}\n\n.camping {\n --bg-color: #faf1e4;\n --main-color: #3c403b;\n --accent-color: #618c56;\n --input-color: #c2b8aa;\n}\n\n.carbon {\n --bg-color: #313131;\n --main-color: #f5e6c8;\n --accent-color: #f66e0d;\n --input-color: #616161;\n}\n\n.catppuccin {\n --bg-color: #1e1e2e;\n --main-color: #d9e0ee;\n --accent-color: #abe9b3;\n --input-color: #575268;\n}\n\n.chaos_theory {\n --bg-color: #141221;\n --main-color: #dde5ed;\n --accent-color: #fd77d7;\n --input-color: #676e8a;\n}\n\n.cheesecake {\n --bg-color: #fdf0d5;\n --main-color: #3a3335;\n --accent-color: #8e2949;\n --input-color: #d91c81;\n}\n\n.cherry_blossom {\n --bg-color: #323437;\n --main-color: #d1d0c5;\n --accent-color: #d65ccc;\n --input-color: #787d82;\n}\n\n.comfy {\n --bg-color: #4a5b6e;\n --main-color: #f5efee;\n --accent-color: #f8cdc6;\n --input-color: #9ec1cc;\n}\n\n.copper {\n --bg-color: #442f29;\n --main-color: #e7e0de;\n --accent-color: #b46a55;\n --input-color: #7ebab5;\n}\n\n.creamsicle {\n --bg-color: #ff9869;\n --main-color: #fcfcf8;\n --accent-color: #fcfcf8;\n --input-color: #ff661f;\n}\n\n.cyberspace {\n --bg-color: #181c18;\n --main-color: #c2fbe1;\n --accent-color: #00ce7c;\n --input-color: #9578d3;\n}\n\n.dark_magic_girl {\n --bg-color: #091f2c;\n --main-color: #a288d9;\n --accent-color: #f5b1cc;\n --input-color: #93e8d3;\n}\n\n.dark_note {\n --bg-color: #1f1f1f;\n --main-color: #d2dff4;\n --accent-color: #f2c17b;\n --input-color: #768f95;\n}\n\n.darling {\n --bg-color: #fec8cd;\n --main-color: #fff;\n --accent-color: #fff;\n --input-color: #a30000;\n}\n\n.deku {\n --bg-color: #058b8c;\n --main-color: #f7f2ea;\n --accent-color: #b63530;\n --input-color: #255458;\n}\n\n.desert_oasis {\n --bg-color: #fff2d5;\n --main-color: #332800;\n --accent-color: #d19d01;\n --input-color: #0061fe;\n}\n\n.dev {\n --bg-color: #1b2028;\n --main-color: #ccccb5;\n --accent-color: #23a9d5;\n --input-color: #4b5975;\n}\n\n.diner {\n --bg-color: #537997;\n --main-color: #dfdbc8;\n --accent-color: #c3af5b;\n --input-color: #445c7f;\n}\n\n.dino {\n --bg-color: #fff;\n --main-color: #1d221f;\n --accent-color: #40d672;\n --input-color: #d5d5d5;\n}\n\n.dmg {\n --bg-color: #dadbdc;\n --main-color: #414141;\n --accent-color: #ae185e;\n --input-color: #3846b1;\n}\n\n.dollar {\n --bg-color: #e4e4d4;\n --main-color: #555a56;\n --accent-color: #6b886b;\n --input-color: #8a9b69;\n}\n\n.dots {\n --bg-color: #121520;\n --main-color: #fff;\n --accent-color: #fff;\n --input-color: #676e8a;\n}\n\n.dracula {\n --bg-color: #282a36;\n --main-color: #f8f8f2;\n --accent-color: #bd93f9;\n --input-color: #6272a4;\n}\n\n.drowning {\n --bg-color: #191826;\n --main-color: #9393a7;\n --accent-color: #4a6fb5;\n --input-color: #50688c;\n}\n\n.dualshot {\n --bg-color: #737373;\n --main-color: #212222;\n --accent-color: #212222;\n --input-color: #aaa;\n}\n\n.earthsong {\n --bg-color: #292521;\n --main-color: #e6c7a8;\n --accent-color: #509452;\n --input-color: #f5ae2d;\n}\n\n.everblush {\n --bg-color: #141b1e;\n --main-color: #dadada;\n --accent-color: #8ccf7e;\n --input-color: #838887;\n}\n\n.evil_eye {\n --bg-color: #0084c2;\n --main-color: #171718;\n --accent-color: #f7f2ea;\n --input-color: #01589f;\n}\n\n.ez_mode {\n --bg-color: #0068c6;\n --main-color: #fff;\n --accent-color: #fa62d5;\n --input-color: #138bf7;\n}\n\n.fire {\n --bg-color: #0f0000;\n --main-color: #fff;\n --accent-color: #b31313;\n --input-color: #683434;\n}\n\n.fledgling {\n --bg-color: #3b363f;\n --main-color: #e6d5d3;\n --accent-color: #fc6e83;\n --input-color: #8e5568;\n}\n\n.fleuriste {\n --bg-color: #c6b294;\n --main-color: #091914;\n --accent-color: #405a52;\n --input-color: #64374d;\n}\n\n.froyo {\n --bg-color: #e1dacb;\n --main-color: #7b7d7d;\n --accent-color: #7b7d7d;\n --input-color: #b29c5e;\n}\n\n.frozen_llama {\n --bg-color: #9bf2ea;\n --main-color: #fff;\n --accent-color: #6d44a6;\n --input-color: #b690fd;\n}\n\n.fruit_chew {\n --bg-color: #d6d3d6;\n --main-color: #282528;\n --accent-color: #5c1e5f;\n --input-color: #b49cb5;\n}\n\n.fundamentals {\n --bg-color: #727474;\n --main-color: #131313;\n --accent-color: #7fa482;\n --input-color: #cac4be;\n}\n\n.future_funk {\n --bg-color: #2e1a47;\n --main-color: #f7f2ea;\n --accent-color: #f7f2ea;\n --input-color: #c18fff;\n}\n\n.godspeed {\n --bg-color: #eae4cf;\n --main-color: #646669;\n --accent-color: #9abbcd;\n --input-color: #ada998;\n}\n\n.graen {\n --bg-color: #303c36;\n --main-color: #a59682;\n --accent-color: #a59682;\n --input-color: #181d1a;\n}\n\n.grand_prix {\n --bg-color: #36475c;\n --main-color: #c1c7d7;\n --accent-color: #c0d036;\n --input-color: #5c6c80;\n}\n\n.gruvbox_dark {\n --bg-color: #282828;\n --main-color: #ebdbb2;\n --accent-color: #d79921;\n --input-color: #665c54;\n}\n\n.gruvbox_light {\n --bg-color: #fbf1c7;\n --main-color: #3c3836;\n --accent-color: #689d6a;\n --input-color: #a89984;\n}\n\n.hammerhead {\n --bg-color: #030613;\n --main-color: #e2f1f5;\n --accent-color: #4fcdb9;\n --input-color: #213c53;\n}\n\n.hanok {\n --bg-color: #d8d2c3;\n --main-color: #393b3b;\n --accent-color: #513a2a;\n --input-color: #8b6f5c;\n}\n\n.hedge {\n --bg-color: #415e31;\n --main-color: #f7f1d6;\n --accent-color: #6a994e;\n --input-color: #ede5b4;\n}\n\n.honey {\n --bg-color: #f2aa00;\n --main-color: #f3eecb;\n --accent-color: #fff546;\n --input-color: #a66b00;\n}\n\n.horizon {\n --bg-color: #1c1e26;\n --main-color: #bbb;\n --accent-color: #c4a88a;\n --input-color: #db886f;\n}\n\n.husqy {\n --bg-color: #000;\n --main-color: #ebd7ff;\n --accent-color: #c58aff;\n --input-color: #972fff;\n}\n\n.iceberg_dark {\n --bg-color: #161821;\n --main-color: #c6c8d1;\n --accent-color: #84a0c6;\n --input-color: #595e76;\n}\n\n.iceberg_light {\n --bg-color: #e8e9ec;\n --main-color: #33374c;\n --accent-color: #2d539e;\n --input-color: #adb1c4;\n}\n\n.ishtar {\n --bg-color: #202020;\n --main-color: #fae1c3;\n --accent-color: #91170c;\n --input-color: #847869;\n}\n\n.iv_clover {\n --bg-color: #a0a0a0;\n --main-color: #3b2d3b;\n --accent-color: #573e40;\n --input-color: #353535;\n}\n\n.iv_spade {\n --bg-color: #0c0c0c;\n --main-color: #d3c2c3;\n --accent-color: #b7976a;\n --input-color: #404040;\n}\n\n.joker {\n --bg-color: #1a0e25;\n --main-color: #e9e2f5;\n --accent-color: #99de1e;\n --input-color: #7554a3;\n}\n\n.laser {\n --bg-color: #221b44;\n --main-color: #dbe7e8;\n --accent-color: #009eaf;\n --input-color: #b82356;\n}\n\n.lavender {\n --bg-color: #ada6c2;\n --main-color: #2f2a41;\n --accent-color: #e4e3e9;\n --input-color: #e4e3e9;\n}\n\n.leather {\n --bg-color: #a86948;\n --main-color: #ffe4bc;\n --accent-color: #ffe4bc;\n --input-color: #81482b;\n}\n\n.lil_dragon {\n --bg-color: #ebe1ef;\n --main-color: #212b43;\n --accent-color: #8a5bd6;\n --input-color: #a28db8;\n}\n\n.lime {\n --bg-color: #7c878e;\n --main-color: #bfcfdc;\n --accent-color: #93c247;\n --input-color: #4b5257;\n}\n\n.luna {\n --bg-color: #221c35;\n --main-color: #ffe3eb;\n --accent-color: #f67599;\n --input-color: #5a3a7e;\n}\n\n.magic_girl {\n --bg-color: #fff;\n --main-color: #00ac8c;\n --accent-color: #f5b1cc;\n --input-color: #93e8d3;\n}\n\n.mashu {\n --bg-color: #2b2b2c;\n --main-color: #f1e2e4;\n --accent-color: #76689a;\n --input-color: #d8a0a6;\n}\n\n.matcha_moccha {\n --bg-color: #523525;\n --main-color: #ecddcc;\n --accent-color: #7ec160;\n --input-color: #9e6749;\n}\n\n.material {\n --bg-color: #263238;\n --main-color: #e6edf3;\n --accent-color: #80cbc4;\n --input-color: #4c6772;\n}\n\n.matrix {\n --bg-color: #000;\n --main-color: #d1ffcd;\n --accent-color: #15ff00;\n --input-color: #006500;\n}\n\n.menthol {\n --bg-color: #00c18c;\n --main-color: #fff;\n --accent-color: #fff;\n --input-color: #186544;\n}\n\n.metaverse {\n --bg-color: #232323;\n --main-color: #e8e8e8;\n --accent-color: #d82934;\n --input-color: #5e5e5e;\n}\n\n.metropolis {\n --bg-color: #0f1f2c;\n --main-color: #e4edf1;\n --accent-color: #56c3b7;\n --input-color: #326984;\n}\n\n.mexican {\n --bg-color: #f8ad34;\n --main-color: #eee;\n --accent-color: #b12189;\n --input-color: #333;\n}\n\n.miami {\n --bg-color: #f35588;\n --main-color: #f0e9ec;\n --accent-color: #05dfd7;\n --input-color: #94294c;\n}\n\n.miami_nights {\n --bg-color: #18181a;\n --main-color: #fff;\n --accent-color: #e4609b;\n --input-color: #47bac0;\n}\n\n.midnight {\n --bg-color: #0b0e13;\n --main-color: #9fadc6;\n --accent-color: #60759f;\n --input-color: #394760;\n}\n\n.milkshake {\n --bg-color: #fff;\n --main-color: #212b43;\n --accent-color: #212b43;\n --input-color: #62cfe6;\n}\n\n.mint {\n --bg-color: #05385b;\n --main-color: #edf5e1;\n --accent-color: #5cdb95;\n --input-color: #20688a;\n}\n\n.mizu {\n --bg-color: #afcbdd;\n --main-color: #1a2633;\n --accent-color: #fcfbf6;\n --input-color: #85a5bb;\n}\n\n.modern_dolch {\n --bg-color: #2d2e30;\n --main-color: #e3e6eb;\n --accent-color: #7eddd3;\n --input-color: #54585c;\n}\n\n.modern_dolch_light {\n --bg-color: #dbdbdb;\n --main-color: #454545;\n --accent-color: #8fd1c3;\n --input-color: #acacac;\n}\n\n.modern_ink {\n --bg-color: #fff;\n --main-color: #000;\n --accent-color: #ff360d;\n --input-color: #b7b7b7;\n}\n\n.monokai {\n --bg-color: #272822;\n --main-color: #e2e2dc;\n --accent-color: #a6e22e;\n --input-color: #e6db74;\n}\n\n.moonlight {\n --bg-color: #191f28;\n --main-color: #ccccb5;\n --accent-color: #c69f68;\n --input-color: #4b5975;\n}\n\n.mountain {\n --bg-color: #0f0f0f;\n --main-color: #e7e7e7;\n --accent-color: #e7e7e7;\n --input-color: #4c4c4c;\n}\n\n.mr_sleeves {\n --bg-color: #d1d7da;\n --main-color: #1d1d1d;\n --accent-color: #daa99b;\n --input-color: #9a9fa1;\n}\n\n.ms_cupcakes {\n --bg-color: #fff;\n --main-color: #0a282f;\n --accent-color: #5ed5f3;\n --input-color: #d64090;\n}\n\n.muted {\n --bg-color: #525252;\n --main-color: #b1e4e3;\n --accent-color: #c5b4e3;\n --input-color: #939eae;\n}\n\n.nautilus {\n --bg-color: #132237;\n --main-color: #1cbaac;\n --accent-color: #ebb723;\n --input-color: #0b4c6c;\n}\n\n.nebula {\n --bg-color: #212135;\n --main-color: #838686;\n --accent-color: #be3c88;\n --input-color: #19b3b8;\n}\n\n.night_runner {\n --bg-color: #212121;\n --main-color: #e8e8e8;\n --accent-color: #feff04;\n --input-color: #5c4a9c;\n}\n\n.nord {\n --bg-color: #242933;\n --main-color: #d8dee9;\n --accent-color: #d8dee9;\n --input-color: #617b94;\n}\n\n.nord_light {\n --bg-color: #eceff4;\n --main-color: #8fbcbb;\n --accent-color: #8fbcbb;\n --input-color: #6a7791;\n}\n\n.norse {\n --bg-color: #242425;\n --main-color: #ccc2b1;\n --accent-color: #2b5f6d;\n --input-color: #505b5e;\n}\n\n.oblivion {\n --bg-color: #313231;\n --main-color: #f7f5f1;\n --accent-color: #a5a096;\n --input-color: #5d6263;\n}\n\n.olive {\n --bg-color: #e9e5cc;\n --main-color: #373731;\n --accent-color: #92946f;\n --input-color: #b7b39e;\n}\n\n.olivia {\n --bg-color: #1c1b1d;\n --main-color: #f2efed;\n --accent-color: #deaf9d;\n --input-color: #4e3e3e;\n}\n\n.onedark {\n --bg-color: #2f343f;\n --main-color: #98c379;\n --accent-color: #61afef;\n --input-color: #eceff4;\n}\n\n.our_theme {\n --bg-color: #ce1226;\n --main-color: #fff;\n --accent-color: #fcd116;\n --input-color: #6d0f19;\n}\n\n.paper {\n --bg-color: #eee;\n --main-color: #444;\n --accent-color: #444;\n --input-color: #b2b2b2;\n}\n\n.passion_fruit {\n --bg-color: #7c2142;\n --main-color: #fff;\n --accent-color: #f4a3b4;\n --input-color: #9994b8;\n}\n\n.pastel {\n --bg-color: #e0b2bd;\n --main-color: #6d5c6f;\n --accent-color: #fbf4b6;\n --input-color: #b4e9ff;\n}\n\n.peach_blossom {\n --bg-color: #292929;\n --main-color: #fecea8;\n --accent-color: #99b898;\n --input-color: #616161;\n}\n\n.peaches {\n --bg-color: #e0d7c1;\n --main-color: #5f4c41;\n --accent-color: #dd7a5f;\n --input-color: #e7b28e;\n}\n\n.pink_lemonade {\n --bg-color: #f6d992;\n --main-color: #fcfcf8;\n --accent-color: #f6a192;\n --input-color: #f6b092;\n}\n\n.pulse {\n --bg-color: #181818;\n --main-color: #e5f4f4;\n --accent-color: #17b8bd;\n --input-color: #53565a;\n}\n\n.purpurite {\n --bg-color: #1f2533;\n --main-color: #99f;\n --accent-color: #99f;\n --input-color: #cdf;\n}\n\n.red_dragon {\n --bg-color: #1a0b0c;\n --main-color: #4a4d4e;\n --accent-color: #ff3a32;\n --input-color: #e2a528;\n}\n\n.red_samurai {\n --bg-color: #84202c;\n --main-color: #e2dad0;\n --accent-color: #c79e6e;\n --input-color: #55131b;\n}\n\n.repose_dark {\n --bg-color: #2f3338;\n --main-color: #d6d2bc;\n --accent-color: #d6d2bc;\n --input-color: #8f8e84;\n}\n\n.repose_light {\n --bg-color: #efead0;\n --main-color: #333538;\n --accent-color: #5f605e;\n --input-color: #8f8e84;\n}\n\n.retro {\n --bg-color: #dad3c1;\n --main-color: #1d1b17;\n --accent-color: #1d1b17;\n --input-color: #918b7d;\n}\n\n.retrocast {\n --bg-color: #07737a;\n --main-color: #fff;\n --accent-color: #88dbdf;\n --input-color: #f3e03b;\n}\n\n.rose_pine {\n --bg-color: #1f1d27;\n --main-color: #e0def4;\n --accent-color: #9ccfd8;\n --input-color: #c4a7e7;\n}\n\n.rose_pine_dawn {\n --bg-color: #fffaf3;\n --main-color: #286983;\n --accent-color: #56949f;\n --input-color: #c4a7e7;\n}\n\n.rose_pine_moon {\n --bg-color: #2a273f;\n --main-color: #e0def4;\n --accent-color: #9ccfd8;\n --input-color: #c4a7e7;\n}\n\n.rudy {\n --bg-color: #1a2b3e;\n --main-color: #c9c8bf;\n --accent-color: #af8f5c;\n --input-color: #3a506c;\n}\n\n.ryujinscales {\n --bg-color: #081426;\n --main-color: #ffe4bc;\n --accent-color: #f17754;\n --input-color: #ffbc90;\n}\n\n.serika {\n --bg-color: #e1e1e3;\n --main-color: #323437;\n --accent-color: #e2b714;\n --input-color: #aaaeb3;\n}\n\n.serika_dark {\n --bg-color: #323437;\n --main-color: #d1d0c5;\n --accent-color: #e2b714;\n --input-color: #646669;\n}\n\n.sewing_tin {\n --bg-color: #241963;\n --main-color: #fff;\n --accent-color: #f2ce83;\n --input-color: #446ad5;\n}\n\n.sewing_tin_light {\n --bg-color: #fff;\n --main-color: #2d2076;\n --accent-color: #2d2076;\n --input-color: #385eca;\n}\n\n.shadow {\n --bg-color: #000;\n --main-color: #eee;\n --accent-color: #eee;\n --input-color: #444;\n}\n\n.shoko {\n --bg-color: #ced7e0;\n --main-color: #3b4c58;\n --accent-color: #81c4dd;\n --input-color: #7599b1;\n}\n\n.slambook {\n --bg-color: #fffdde;\n --main-color: #125d98;\n --accent-color: #13005a;\n --input-color: #1c82adc4;\n}\n\n.snes {\n --bg-color: #bfbec2;\n --main-color: #2e2e2e;\n --accent-color: #553d94;\n --input-color: #9f8ad4;\n}\n\n.soaring_skies {\n --bg-color: #fff9f2;\n --main-color: #1d1e1e;\n --accent-color: #55c6f0;\n --input-color: #1e107a;\n}\n\n.sonokai {\n --bg-color: #2c2e34;\n --main-color: #e2e2e3;\n --accent-color: #9ed072;\n --input-color: #e7c664;\n}\n\n.stealth {\n --bg-color: #010203;\n --main-color: #383e42;\n --accent-color: #383e42;\n --input-color: #5e676e;\n}\n\n.strawberry {\n --bg-color: #f37f83;\n --main-color: #fcfcf8;\n --accent-color: #fcfcf8;\n --input-color: #e53c58;\n}\n\n.striker {\n --bg-color: #124883;\n --main-color: #d6dbd9;\n --accent-color: #d7dcda;\n --input-color: #0f2d4e;\n}\n\n.superuser {\n --bg-color: #262a33;\n --main-color: #e5f7ef;\n --accent-color: #43ffaf;\n --input-color: #526777;\n}\n\n.sweden {\n --bg-color: #0058a3;\n --main-color: #fff;\n --accent-color: #ffcc02;\n --input-color: #57abdb;\n}\n\n.taro {\n --bg-color: #b3baff;\n --main-color: #130f1a;\n --accent-color: #130f1a;\n --input-color: #6f6c91;\n}\n\n.terminal {\n --bg-color: #191a1b;\n --main-color: #e7eae0;\n --accent-color: #79a617;\n --input-color: #48494b;\n}\n\n.terra {\n --bg-color: #0c100e;\n --main-color: #f0edd1;\n --accent-color: #89c559;\n --input-color: #436029;\n}\n\n.terror_below {\n --bg-color: #0b1e1a;\n --main-color: #dceae5;\n --accent-color: #66ac92;\n --input-color: #015c53;\n}\n\n.tiramisu {\n --bg-color: #cfc6b9;\n --main-color: #7d5448;\n --accent-color: #c0976f;\n --input-color: #c0976f;\n}\n\n.trackday {\n --bg-color: #464d66;\n --main-color: #cfcfcf;\n --accent-color: #e0513e;\n --input-color: #5c7eb9;\n}\n\n.trance {\n --bg-color: #00021b;\n --main-color: #fff;\n --accent-color: #e51376;\n --input-color: #3c4c79;\n}\n\n.tron_orange {\n --bg-color: #0d1c1c;\n --main-color: #fff;\n --accent-color: #f0e800;\n --input-color: #f60;\n}\n\n.vaporwave {\n --bg-color: #a4a7ea;\n --main-color: #f1ebf1;\n --accent-color: #e368da;\n --input-color: #7c7faf;\n}\n\n.viridescent {\n --bg-color: #2c3333;\n --main-color: #e9f5db;\n --accent-color: #95d5b2;\n --input-color: #84a98c;\n}\n\n.voc {\n --bg-color: #190618;\n --main-color: #eeeae4;\n --accent-color: #e0caac;\n --input-color: #4c1e48;\n}\n\n.vscode {\n --bg-color: #1e1e1e;\n --main-color: #d4d4d4;\n --accent-color: #007acc;\n --input-color: #4d4d4d;\n}\n\n.watermelon {\n --bg-color: #1f4437;\n --main-color: #cdc6bc;\n --accent-color: #d6686f;\n --input-color: #3e7a65;\n}\n\n.wavez {\n --bg-color: #1c292f;\n --main-color: #e9efe6;\n --accent-color: #6bde3b;\n --input-color: #1f5e6b;\n}\n\n.witch_girl {\n --bg-color: #f3dbda;\n --main-color: #56786a;\n --accent-color: #56786a;\n --input-color: #ddb4a7;\n}\n\n.-soi4G_games .-soi4G_tutorial {\n margin-block: 64px;\n}\n\n.-soi4G_games h4 {\n margin: 0;\n}\n\n.-soi4G_games li {\n margin-bottom: 1em;\n}\n\n.qdlvgW_themes {\n --current-border: var(--main-color);\n}\n\n.qdlvgW_themes .qdlvgW_themePreview {\n border: 2px solid var(--current-border);\n padding: calc(2 * var(--inner-padding));\n background-color: var(--bg-color);\n color: var(--main-color);\n margin-bottom: 32px;\n}\n\n.qdlvgW_themes .qdlvgW_themePreview.qdlvgW_current {\n border: none;\n margin-block: 64px;\n padding: 0;\n}\n\n.qdlvgW_themes .qdlvgW_themePreview .qdlvgW_output {\n border: 2px solid var(--main-color);\n padding: var(--inner-padding);\n margin-bottom: 8px;\n}\n\n.qdlvgW_themes .qdlvgW_themePreview .qdlvgW_output .qdlvgW_message.qdlvgW_subheader {\n color: var(--accent-color);\n text-transform: capitalize;\n font-weight: bold;\n}\n\n.qdlvgW_themes .qdlvgW_themePreview .qdlvgW_output .qdlvgW_message.qdlvgW_input {\n color: var(--input-color);\n}\n\n.qdlvgW_themes .qdlvgW_themePreview button {\n width: 100%;\n}\n\n.hBGgUq_message.hBGgUq_input {\n color: var(--input-color);\n}\n\n.hBGgUq_message.hBGgUq_emphasized, .hBGgUq_message.hBGgUq_subheader {\n color: var(--accent-color);\n}\n\n.hBGgUq_scrollTarget {\n scroll-margin-block-start: var(--inner-padding);\n}\n\n.PwGQsW_elseifplayer {\n box-sizing: border-box;\n background-color: var(--bg-color);\n color: var(--main-color);\n padding: var(--outer-padding);\n flex-direction: column;\n height: 100%;\n display: flex;\n}\n\n.PwGQsW_elseifplayer .PwGQsW_output {\n overflow-wrap: break-word;\n border: var(--border-width) solid var(--main-color);\n flex-direction: column;\n flex-grow: 2;\n display: flex;\n overflow-y: hidden;\n}\n\n.PwGQsW_elseifplayer .PwGQsW_output .PwGQsW_buffer {\n box-sizing: border-box;\n padding: var(--inner-padding);\n overflow-y: scroll;\n}\n\n.PwGQsW_elseifplayer .PwGQsW_output .PwGQsW_buffer:empty, .PwGQsW_elseifplayer .PwGQsW_output .PwGQsW_buffer > br:first-child, .PwGQsW_elseifplayer .PwGQsW_output .PwGQsW_buffer > br:last-child, .PwGQsW_elseifplayer .PwGQsW_output .PwGQsW_buffer > br + br + br {\n display: none;\n}\n\n.PwGQsW_elseifplayer .PwGQsW_output .PwGQsW_buffer.PwGQsW_gridBuffer {\n border-bottom: var(--separator-width) solid var(--main-color);\n flex-shrink: 0;\n max-height: 100%;\n}\n\n.PwGQsW_elseifplayer .PwGQsW_output .PwGQsW_buffer.PwGQsW_textBuffer {\n scroll-behavior: smooth;\n outline: none;\n flex: 2;\n}\n\n.gUkI1a_menuButton {\n outline-offset: -8px;\n background: none;\n border: none;\n justify-content: center;\n align-items: center;\n height: 100%;\n padding: 0;\n display: inline-flex;\n position: absolute;\n right: 0;\n}\n\n@media (max-width: 800px) {\n .gUkI1a_menuButton {\n padding: 0 calc(.5 * var(--inner-padding));\n overflow: hidden;\n }\n}\n\n.gUkI1a_menuButton:focus-visible {\n outline-offset: -4px;\n}\n\n.gUkI1a_menuButton .gUkI1a_menuIcon {\n fill: none;\n stroke: currentColor;\n stroke-width: 2px;\n height: 32px;\n}\n\n@media (max-width: 800px) {\n .gUkI1a_menuButton .gUkI1a_menuIcon {\n fill: currentColor;\n transform: scaleX(2)scaleY(.5);\n }\n}\n\n.LdLucW_inputControls {\n margin-top: var(--input-box-margin);\n position: relative;\n}\n\n.LdLucW_inputControls .LdLucW_inputBox {\n font: inherit;\n color: inherit;\n background-color: var(--bg-color);\n border: var(--border-width) solid var(--main-color);\n border-top: var(--separator-width) solid var(--main-color);\n padding: var(--inner-padding);\n padding-right: calc(4 * var(--inner-padding));\n outline: 0;\n width: 100%;\n margin: 0;\n}\n\n.LdLucW_inputControls .LdLucW_inputBox::placeholder {\n color: var(--main-color);\n opacity: 1;\n}\n\n.LdLucW_inputControls .LdLucW_inputBox:focus::placeholder {\n opacity: .5;\n}\n\n.LdLucW_inputControls .LdLucW_inputBox::-webkit-search-cancel-button {\n display: none;\n}\n\n@keyframes zi213q_dots0123 {\n 0% {\n content: \"\";\n }\n\n 33% {\n content: \".\";\n }\n\n 66% {\n content: \"..\";\n }\n\n 100% {\n content: \"...\";\n }\n}\n\n.zi213q_status {\n word-break: break-word;\n padding-block: var(--inner-padding);\n}\n\n@media (max-width: 800px) {\n .zi213q_status {\n padding: var(--inner-padding);\n }\n}\n\n.zi213q_status.zi213q_loading > div:after {\n content: \"\";\n animation: 1s infinite zi213q_dots0123;\n}\n\n.J9zJZG_menu {\n text-align: center;\n background-color: var(--bg-color);\n border-left: none;\n border-right: none;\n border-color: var(--main-color);\n color: var(--main-color);\n width: 100%;\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.J9zJZG_menu::backdrop {\n -webkit-backdrop-filter: blur(2px);\n backdrop-filter: blur(2px);\n background: none;\n}\n\n.J9zJZG_menu > section {\n flex-direction: column;\n gap: 32px;\n max-width: 270px;\n margin: 32px auto 40px;\n display: flex;\n}\n\n.J9zJZG_menu .J9zJZG_navigation {\n color: var(--accent-color);\n}\n\n.J9zJZG_menu .J9zJZG_appearance {\n flex-direction: column;\n gap: 8px;\n display: flex;\n}\n\n.J9zJZG_menu select, .J9zJZG_menu button {\n width: 100%;\n}\n\n.X8uEDW_app {\n box-sizing: border-box;\n color: var(--main-color);\n background-color: var(--bg-color);\n flex-direction: column;\n justify-content: center;\n align-items: center;\n min-height: 100%;\n display: flex;\n}\n\n.X8uEDW_app.X8uEDW_home, .X8uEDW_app.X8uEDW_games, .X8uEDW_app.X8uEDW_themes {\n padding: var(--inner-padding);\n}\n\n@media (min-width: 800px) {\n .X8uEDW_app.X8uEDW_home, .X8uEDW_app.X8uEDW_games, .X8uEDW_app.X8uEDW_themes {\n padding-left: calc(100vw - 100% + var(--inner-padding));\n }\n}\n\n.X8uEDW_app.X8uEDW_play, .X8uEDW_app.X8uEDW_focus {\n height: 100%;\n max-height: 100dvh;\n}\n\n@media (min-width: 800px) {\n .X8uEDW_app.X8uEDW_play > main, .X8uEDW_app.X8uEDW_focus > main {\n max-height: 90%;\n margin: auto;\n }\n}\n\n.X8uEDW_app > main {\n box-sizing: border-box;\n flex: auto;\n width: 100%;\n height: 100%;\n}\n\n@media (min-width: 800px) {\n .X8uEDW_app > main {\n max-width: 800px;\n margin: 5vh 0;\n }\n}\n\n/*# sourceMappingURL=index.62ef15f1.css.map */\n","/* open-sans-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'Open Sans';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/open-sans-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/open-sans-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* open-sans-cyrillic-400-normal */\n@font-face {\n font-family: 'Open Sans';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/open-sans-cyrillic-400-normal.woff2) format('woff2'), url(./files/open-sans-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* open-sans-greek-ext-400-normal */\n@font-face {\n font-family: 'Open Sans';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/open-sans-greek-ext-400-normal.woff2) format('woff2'), url(./files/open-sans-greek-ext-400-normal.woff) format('woff');\n unicode-range: U+1F00-1FFF;\n}\n\n/* open-sans-greek-400-normal */\n@font-face {\n font-family: 'Open Sans';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/open-sans-greek-400-normal.woff2) format('woff2'), url(./files/open-sans-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* open-sans-hebrew-400-normal */\n@font-face {\n font-family: 'Open Sans';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/open-sans-hebrew-400-normal.woff2) format('woff2'), url(./files/open-sans-hebrew-400-normal.woff) format('woff');\n unicode-range: U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;\n}\n\n/* open-sans-vietnamese-400-normal */\n@font-face {\n font-family: 'Open Sans';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/open-sans-vietnamese-400-normal.woff2) format('woff2'), url(./files/open-sans-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* open-sans-latin-ext-400-normal */\n@font-face {\n font-family: 'Open Sans';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/open-sans-latin-ext-400-normal.woff2) format('woff2'), url(./files/open-sans-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* open-sans-latin-400-normal */\n@font-face {\n font-family: 'Open Sans';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/open-sans-latin-400-normal.woff2) format('woff2'), url(./files/open-sans-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}","/* Layout */\n\nhtml, body {\n margin: 0;\n height: 100%;\n\n font-family: 'Open Sans', sans-serif;\n font-size: 18px;\n line-height: 27px;\n\n /* To prevent the white flash */\n background: #000000;\n}\n\n#root {\n height: 100%;\n}\n","/* Scrollbars */\n\nbody {\n * {\n scrollbar-color: var(--main-color) var(--bg-color);\n scrollbar-width: thin;\n }\n\n *::-webkit-scrollbar {\n width: var(--inner-padding);\n }\n\n *::-webkit-scrollbar-thumb {\n background-color: var(--main-color);\n border: calc(0.5 * var(--inner-padding)) solid var(--bg-color);\n border-left-width: 0;\n }\n}\n\n/* Focus */\n\n*:focus-visible {\n outline: calc(0.5 * var(--separator-width)) solid var(--main-color);\n outline-offset: calc(1px + var(--separator-width));\n}\n\n*::selection {\n color: var(--bg-color);\n background: var(--main-color);\n}\n\n/* Links */\n\na,\nsummary {\n display: inline;\n cursor: pointer;\n\n border-bottom: var(--separator-width) solid currentColor;\n color: inherit;\n text-decoration: none;\n}\n\na:focus,\na:hover,\nsummary:focus,\nsummary:hover {\n opacity: 0.8;\n}\n\n/* Separators */\n\nhr {\n border: 0;\n height: 0;\n border-top: var(--separator-width) solid var(--main-color);\n}\n\n/* Lists */\n\nul {\n list-style: square;\n}\n\n/* Buttons */\n\nbutton {\n border: var(--separator-width) solid var(--main-color);\n background-color: var(--bg-color);\n color: var(--main-color);\n padding: var(--inner-padding) calc(4 * var(--inner-padding));\n font-family: inherit;\n font-size: inherit;\n cursor: pointer;\n}\n\n/* Inputs */\n\ninput::placeholder {\n color: var(--main-color);\n opacity: 0.8;\n}\n\ninput,\nselect {\n box-sizing: border-box;\n\n padding: calc(0.5 * var(--inner-padding)) var(--inner-padding);\n color: var(--main-color);\n background-color: var(--bg-color);\n border: var(--separator-width) solid var(--main-color);\n font: inherit;\n}\n\nselect {\n width: 250px;\n\n cursor: pointer;\n appearance: none;\n -webkit-appearance: none;\n border-radius: 0;\n background-image: repeating-linear-gradient(\n 315deg,\n var(--bg-color),\n var(--bg-color) var(--inner-padding),\n var(--main-color) var(--inner-padding),\n var(--main-color) calc(var(--inner-padding) + var(--separator-width)),\n var(--bg-color) calc(var(--inner-padding) + var(--separator-width)),\n var(--bg-color) 100%\n );\n}\n\nlabel {\n display: inline-block;\n width: 100%;\n max-width: 400px;\n}\n\nlabel input {\n width: 100%;\n}\n\ninput[type='file'] {\n position: relative;\n font-size: 0;\n text-indent: -100%;\n cursor: pointer;\n}\n","body {\n --outer-padding: 0px;\n --border-width: 0px;\n --separator-width: 2px;\n --inner-padding: 8px;\n --input-box-margin: 0px;\n}\n@media (min-width: 800px) {\n body {\n --outer-padding: 8px;\n --border-width: 2px;\n --input-box-margin: 8px;\n }\n}\n\n/* */\n\n.light {\n --bg-color: hsl(0, 0%, 100%, 1);\n --main-color: hsl(0, 0%, 0%, 0.8);\n --accent-color: hsl(0, 0%, 0%, 0.8);\n --input-color: hsl(0, 0%, 0%, 0.8);\n}\n\n.dim {\n --bg-color: hsl(0, 0%, 20%, 1);\n --main-color: hsl(0, 0%, 100%, 0.8);\n --accent-color: hsl(0, 0%, 100%, 0.8);\n --input-color: hsl(0, 0%, 100%, 0.8);\n}\n\n.dark {\n --bg-color: hsl(0, 0%, 0%, 1);\n --main-color: hsl(0, 0%, 100%, 1);\n --accent-color: hsl(0, 0%, 100%, 1);\n --input-color: hsl(0, 0%, 100%, 1);\n}\n\n/* Solarized */\n\n.solarized-light {\n --bg-color: #eee8d5;\n --main-color: #586e75;\n --accent-color: #b58900;\n --input-color: #2aa198;\n}\n\n.solarized-dark {\n --bg-color: #073642;\n --main-color: #93a1a1;\n --accent-color: #b58900;\n --input-color: #2aa198;\n}\n\n/* Original */\n\n.emo {\n --bg-color: #4d4d4d;\n --main-color: #ff77aa;\n --accent-color: #ff77aa;\n --input-color: #ff77aa;\n}\n\n.redrum {\n --bg-color: #000000;\n --main-color: #ff0000;\n --accent-color: #ff0000;\n --input-color: #ff0000;\n}\n\n.toxin {\n --bg-color: #606060;\n --main-color: #d6ed17;\n --accent-color: #d6ed17;\n --input-color: #d6ed17;\n}\n\n.valve {\n --bg-color: #292929;\n --main-color: #fb7e14;\n --accent-color: #fb7e14;\n --input-color: #fb7e14;\n}\n\n.wasp {\n --bg-color: #f9d142;\n --main-color: #292826;\n --accent-color: #292826;\n --input-color: #292826;\n}\n\n/* Monkeytype */\n\n.a8008 {\n --bg-color: #333a45;\n --main-color: #e9ecf0;\n --accent-color: #f44c7f;\n --input-color: #939eae;\n}\n\n.a80s_after_dark {\n --bg-color: #1b1d36;\n --main-color: #e1e7ec;\n --accent-color: #fca6d1;\n --input-color: #99d6ea;\n}\n\n.a9009 {\n --bg-color: #eeebe2;\n --main-color: #080909;\n --accent-color: #080909;\n --input-color: #99947f;\n}\n\n.aether {\n --bg-color: #101820;\n --main-color: #eedaea;\n --accent-color: #eedaea;\n --input-color: #cf6bdd;\n}\n\n.alduin {\n --bg-color: #1c1c1c;\n --main-color: #f5f3ed;\n --accent-color: #dfd7af;\n --input-color: #444444;\n}\n\n.alpine {\n --bg-color: #6c687f;\n --main-color: #ffffff;\n --accent-color: #ffffff;\n --input-color: #9994b8;\n}\n\n.arch {\n --bg-color: #0c0d11;\n --main-color: #f6f5f5;\n --accent-color: #7ebab5;\n --input-color: #454864;\n}\n\n.aurora {\n --bg-color: #011926;\n --main-color: #fff;\n --accent-color: #00e980;\n --input-color: #245c69;\n}\n\n.beach {\n --bg-color: #ffeead;\n --main-color: #5b7869;\n --accent-color: #96ceb4;\n --input-color: #ffcc5c;\n}\n\n.bento {\n --bg-color: #2d394d;\n --main-color: #fffaf8;\n --accent-color: #ff7a90;\n --input-color: #4a768d;\n}\n\n.bingsu {\n --bg-color: #b8a7aa;\n --main-color: #ebe6ea;\n --accent-color: #83616e;\n --input-color: #48373d;\n}\n\n.bliss {\n --bg-color: #262727;\n --main-color: #fff;\n --accent-color: #f0d3c9;\n --input-color: #665957;\n}\n\n.blue_dolphin {\n --bg-color: #003950;\n --main-color: #82eaff;\n --accent-color: #ffcefb;\n --input-color: #00e4ff;\n}\n\n.blueberry_dark {\n --bg-color: #212b42;\n --main-color: #91b4d5;\n --accent-color: #add7ff;\n --input-color: #5c7da5;\n}\n\n.blueberry_light {\n --bg-color: #dae0f5;\n --main-color: #678198;\n --accent-color: #506477;\n --input-color: #92a4be;\n}\n\n.botanical {\n --bg-color: #7b9c98;\n --main-color: #eaf1f3;\n --accent-color: #eaf1f3;\n --input-color: #495755;\n}\n\n.bouquet {\n --bg-color: #173f35;\n --main-color: #e9e0d2;\n --accent-color: #eaa09c;\n --input-color: #408e7b;\n}\n\n.breeze {\n --bg-color: #e8d5c4;\n --main-color: #1b4c5e;\n --accent-color: #7d67a9;\n --input-color: #3a98b9;\n}\n\n.bushido {\n --bg-color: #242933;\n --main-color: #f6f0e9;\n --accent-color: #ec4c56;\n --input-color: #596172;\n}\n\n.cafe {\n --bg-color: #ceb18d;\n --main-color: #14120f;\n --accent-color: #14120f;\n --input-color: #d4d2d1;\n}\n\n.camping {\n --bg-color: #faf1e4;\n --main-color: #3c403b;\n --accent-color: #618c56;\n --input-color: #c2b8aa;\n}\n\n.carbon {\n --bg-color: #313131;\n --main-color: #f5e6c8;\n --accent-color: #f66e0d;\n --input-color: #616161;\n}\n\n.catppuccin {\n --bg-color: #1e1e2e;\n --main-color: #d9e0ee;\n --accent-color: #abe9b3;\n --input-color: #575268;\n}\n\n.chaos_theory {\n --bg-color: #141221;\n --main-color: #dde5ed;\n --accent-color: #fd77d7;\n --input-color: #676e8a;\n}\n\n.cheesecake {\n --bg-color: #fdf0d5;\n --main-color: #3a3335;\n --accent-color: #8e2949;\n --input-color: #d91c81;\n}\n\n.cherry_blossom {\n --bg-color: #323437;\n --main-color: #d1d0c5;\n --accent-color: #d65ccc;\n --input-color: #787d82;\n}\n\n.comfy {\n --bg-color: #4a5b6e;\n --main-color: #f5efee;\n --accent-color: #f8cdc6;\n --input-color: #9ec1cc;\n}\n\n.copper {\n --bg-color: #442f29;\n --main-color: #e7e0de;\n --accent-color: #b46a55;\n --input-color: #7ebab5;\n}\n\n.creamsicle {\n --bg-color: #ff9869;\n --main-color: #fcfcf8;\n --accent-color: #fcfcf8;\n --input-color: #ff661f;\n}\n\n.cyberspace {\n --bg-color: #181c18;\n --main-color: #c2fbe1;\n --accent-color: #00ce7c;\n --input-color: #9578d3;\n}\n\n.dark_magic_girl {\n --bg-color: #091f2c;\n --main-color: #a288d9;\n --accent-color: #f5b1cc;\n --input-color: #93e8d3;\n}\n\n.dark_note {\n --bg-color: #1f1f1f;\n --main-color: #d2dff4;\n --accent-color: #f2c17b;\n --input-color: #768f95;\n}\n\n.darling {\n --bg-color: #fec8cd;\n --main-color: #ffffff;\n --accent-color: #ffffff;\n --input-color: #a30000;\n}\n\n.deku {\n --bg-color: #058b8c;\n --main-color: #f7f2ea;\n --accent-color: #b63530;\n --input-color: #255458;\n}\n\n.desert_oasis {\n --bg-color: #fff2d5;\n --main-color: #332800;\n --accent-color: #d19d01;\n --input-color: #0061fe;\n}\n\n.dev {\n --bg-color: #1b2028;\n --main-color: #ccccb5;\n --accent-color: #23a9d5;\n --input-color: #4b5975;\n}\n\n.diner {\n --bg-color: #537997;\n --main-color: #dfdbc8;\n --accent-color: #c3af5b;\n --input-color: #445c7f;\n}\n\n.dino {\n --bg-color: #ffffff;\n --main-color: #1d221f;\n --accent-color: #40d672;\n --input-color: #d5d5d5;\n}\n\n.dmg {\n --bg-color: #dadbdc;\n --main-color: #414141;\n --accent-color: #ae185e;\n --input-color: #3846b1;\n}\n\n.dollar {\n --bg-color: #e4e4d4;\n --main-color: #555a56;\n --accent-color: #6b886b;\n --input-color: #8a9b69;\n}\n\n.dots {\n --bg-color: #121520;\n --main-color: #fff;\n --accent-color: #fff;\n --input-color: #676e8a;\n}\n\n.dracula {\n --bg-color: #282a36;\n --main-color: #f8f8f2;\n --accent-color: #bd93f9;\n --input-color: #6272a4;\n}\n\n.drowning {\n --bg-color: #191826;\n --main-color: #9393a7;\n --accent-color: #4a6fb5;\n --input-color: #50688c;\n}\n\n.dualshot {\n --bg-color: #737373;\n --main-color: #212222;\n --accent-color: #212222;\n --input-color: #aaaaaa;\n}\n\n.earthsong {\n --bg-color: #292521;\n --main-color: #e6c7a8;\n --accent-color: #509452;\n --input-color: #f5ae2d;\n}\n\n.everblush {\n --bg-color: #141b1e;\n --main-color: #dadada;\n --accent-color: #8ccf7e;\n --input-color: #838887;\n}\n\n.evil_eye {\n --bg-color: #0084c2;\n --main-color: #171718;\n --accent-color: #f7f2ea;\n --input-color: #01589f;\n}\n\n.ez_mode {\n --bg-color: #0068c6;\n --main-color: #ffffff;\n --accent-color: #fa62d5;\n --input-color: #138bf7;\n}\n\n.fire {\n --bg-color: #0f0000;\n --main-color: #ffffff;\n --accent-color: #b31313;\n --input-color: #683434;\n}\n\n.fledgling {\n --bg-color: #3b363f;\n --main-color: #e6d5d3;\n --accent-color: #fc6e83;\n --input-color: #8e5568;\n}\n\n.fleuriste {\n --bg-color: #c6b294;\n --main-color: #091914;\n --accent-color: #405a52;\n --input-color: #64374d;\n}\n\n.froyo {\n --bg-color: #e1dacb;\n --main-color: #7b7d7d;\n --accent-color: #7b7d7d;\n --input-color: #b29c5e;\n}\n\n.frozen_llama {\n --bg-color: #9bf2ea;\n --main-color: #ffffff;\n --accent-color: #6d44a6;\n --input-color: #b690fd;\n}\n\n.fruit_chew {\n --bg-color: #d6d3d6;\n --main-color: #282528;\n --accent-color: #5c1e5f;\n --input-color: #b49cb5;\n}\n\n.fundamentals {\n --bg-color: #727474;\n --main-color: #131313;\n --accent-color: #7fa482;\n --input-color: #cac4be;\n}\n\n.future_funk {\n --bg-color: #2e1a47;\n --main-color: #f7f2ea;\n --accent-color: #f7f2ea;\n --input-color: #c18fff;\n}\n\n.godspeed {\n --bg-color: #eae4cf;\n --main-color: #646669;\n --accent-color: #9abbcd;\n --input-color: #ada998;\n}\n\n.graen {\n --bg-color: #303c36;\n --main-color: #a59682;\n --accent-color: #a59682;\n --input-color: #181d1a;\n}\n\n.grand_prix {\n --bg-color: #36475c;\n --main-color: #c1c7d7;\n --accent-color: #c0d036;\n --input-color: #5c6c80;\n}\n\n.gruvbox_dark {\n --bg-color: #282828;\n --main-color: #ebdbb2;\n --accent-color: #d79921;\n --input-color: #665c54;\n}\n\n.gruvbox_light {\n --bg-color: #fbf1c7;\n --main-color: #3c3836;\n --accent-color: #689d6a;\n --input-color: #a89984;\n}\n\n.hammerhead {\n --bg-color: #030613;\n --main-color: #e2f1f5;\n --accent-color: #4fcdb9;\n --input-color: #213c53;\n}\n\n.hanok {\n --bg-color: #d8d2c3;\n --main-color: #393b3b;\n --accent-color: #513a2a;\n --input-color: #8b6f5c;\n}\n\n.hedge {\n --bg-color: #415e31;\n --main-color: #f7f1d6;\n --accent-color: #6a994e;\n --input-color: #ede5b4;\n}\n\n.honey {\n --bg-color: #f2aa00;\n --main-color: #f3eecb;\n --accent-color: #fff546;\n --input-color: #a66b00;\n}\n\n.horizon {\n --bg-color: #1c1e26;\n --main-color: #bbbbbb;\n --accent-color: #c4a88a;\n --input-color: #db886f;\n}\n\n.husqy {\n --bg-color: #000000;\n --main-color: #ebd7ff;\n --accent-color: #c58aff;\n --input-color: #972fff;\n}\n\n.iceberg_dark {\n --bg-color: #161821;\n --main-color: #c6c8d1;\n --accent-color: #84a0c6;\n --input-color: #595e76;\n}\n\n.iceberg_light {\n --bg-color: #e8e9ec;\n --main-color: #33374c;\n --accent-color: #2d539e;\n --input-color: #adb1c4;\n}\n\n.ishtar {\n --bg-color: #202020;\n --main-color: #fae1c3;\n --accent-color: #91170c;\n --input-color: #847869;\n}\n\n.iv_clover {\n --bg-color: #a0a0a0;\n --main-color: #3b2d3b;\n --accent-color: #573e40;\n --input-color: #353535;\n}\n\n.iv_spade {\n --bg-color: #0c0c0c;\n --main-color: #d3c2c3;\n --accent-color: #b7976a;\n --input-color: #404040;\n}\n\n.joker {\n --bg-color: #1a0e25;\n --main-color: #e9e2f5;\n --accent-color: #99de1e;\n --input-color: #7554a3;\n}\n\n.laser {\n --bg-color: #221b44;\n --main-color: #dbe7e8;\n --accent-color: #009eaf;\n --input-color: #b82356;\n}\n\n.lavender {\n --bg-color: #ada6c2;\n --main-color: #2f2a41;\n --accent-color: #e4e3e9;\n --input-color: #e4e3e9;\n}\n\n.leather {\n --bg-color: #a86948;\n --main-color: #ffe4bc;\n --accent-color: #ffe4bc;\n --input-color: #81482b;\n}\n\n.lil_dragon {\n --bg-color: #ebe1ef;\n --main-color: #212b43;\n --accent-color: #8a5bd6;\n --input-color: #a28db8;\n}\n\n.lime {\n --bg-color: #7c878e;\n --main-color: #bfcfdc;\n --accent-color: #93c247;\n --input-color: #4b5257;\n}\n\n.luna {\n --bg-color: #221c35;\n --main-color: #ffe3eb;\n --accent-color: #f67599;\n --input-color: #5a3a7e;\n}\n\n.magic_girl {\n --bg-color: #ffffff;\n --main-color: #00ac8c;\n --accent-color: #f5b1cc;\n --input-color: #93e8d3;\n}\n\n.mashu {\n --bg-color: #2b2b2c;\n --main-color: #f1e2e4;\n --accent-color: #76689a;\n --input-color: #d8a0a6;\n}\n\n.matcha_moccha {\n --bg-color: #523525;\n --main-color: #ecddcc;\n --accent-color: #7ec160;\n --input-color: #9e6749;\n}\n\n.material {\n --bg-color: #263238;\n --main-color: #e6edf3;\n --accent-color: #80cbc4;\n --input-color: #4c6772;\n}\n\n.matrix {\n --bg-color: #000000;\n --main-color: #d1ffcd;\n --accent-color: #15ff00;\n --input-color: #006500;\n}\n\n.menthol {\n --bg-color: #00c18c;\n --main-color: #ffffff;\n --accent-color: #ffffff;\n --input-color: #186544;\n}\n\n.metaverse {\n --bg-color: #232323;\n --main-color: #e8e8e8;\n --accent-color: #d82934;\n --input-color: #5e5e5e;\n}\n\n.metropolis {\n --bg-color: #0f1f2c;\n --main-color: #e4edf1;\n --accent-color: #56c3b7;\n --input-color: #326984;\n}\n\n.mexican {\n --bg-color: #f8ad34;\n --main-color: #eee;\n --accent-color: #b12189;\n --input-color: #333;\n}\n\n.miami {\n --bg-color: #f35588;\n --main-color: #f0e9ec;\n --accent-color: #05dfd7;\n --input-color: #94294c;\n}\n\n.miami_nights {\n --bg-color: #18181a;\n --main-color: #fff;\n --accent-color: #e4609b;\n --input-color: #47bac0;\n}\n\n.midnight {\n --bg-color: #0b0e13;\n --main-color: #9fadc6;\n --accent-color: #60759f;\n --input-color: #394760;\n}\n\n.milkshake {\n --bg-color: #ffffff;\n --main-color: #212b43;\n --accent-color: #212b43;\n --input-color: #62cfe6;\n}\n\n.mint {\n --bg-color: #05385b;\n --main-color: #edf5e1;\n --accent-color: #5cdb95;\n --input-color: #20688a;\n}\n\n.mizu {\n --bg-color: #afcbdd;\n --main-color: #1a2633;\n --accent-color: #fcfbf6;\n --input-color: #85a5bb;\n}\n\n.modern_dolch {\n --bg-color: #2d2e30;\n --main-color: #e3e6eb;\n --accent-color: #7eddd3;\n --input-color: #54585c;\n}\n\n.modern_dolch_light {\n --bg-color: #dbdbdb;\n --main-color: #454545;\n --accent-color: #8fd1c3;\n --input-color: #acacac;\n}\n\n.modern_ink {\n --bg-color: #ffffff;\n --main-color: #000000;\n --accent-color: #ff360d;\n --input-color: #b7b7b7;\n}\n\n.monokai {\n --bg-color: #272822;\n --main-color: #e2e2dc;\n --accent-color: #a6e22e;\n --input-color: #e6db74;\n}\n\n.moonlight {\n --bg-color: #191f28;\n --main-color: #ccccb5;\n --accent-color: #c69f68;\n --input-color: #4b5975;\n}\n\n.mountain {\n --bg-color: #0f0f0f;\n --main-color: #e7e7e7;\n --accent-color: #e7e7e7;\n --input-color: #4c4c4c;\n}\n\n.mr_sleeves {\n --bg-color: #d1d7da;\n --main-color: #1d1d1d;\n --accent-color: #daa99b;\n --input-color: #9a9fa1;\n}\n\n.ms_cupcakes {\n --bg-color: #ffffff;\n --main-color: #0a282f;\n --accent-color: #5ed5f3;\n --input-color: #d64090;\n}\n\n.muted {\n --bg-color: #525252;\n --main-color: #b1e4e3;\n --accent-color: #c5b4e3;\n --input-color: #939eae;\n}\n\n.nautilus {\n --bg-color: #132237;\n --main-color: #1cbaac;\n --accent-color: #ebb723;\n --input-color: #0b4c6c;\n}\n\n.nebula {\n --bg-color: #212135;\n --main-color: #838686;\n --accent-color: #be3c88;\n --input-color: #19b3b8;\n}\n\n.night_runner {\n --bg-color: #212121;\n --main-color: #e8e8e8;\n --accent-color: #feff04;\n --input-color: #5c4a9c;\n}\n\n.nord {\n --bg-color: #242933;\n --main-color: #d8dee9;\n --accent-color: #d8dee9;\n --input-color: #617b94;\n}\n\n.nord_light {\n --bg-color: #eceff4;\n --main-color: #8fbcbb;\n --accent-color: #8fbcbb;\n --input-color: #6a7791;\n}\n\n.norse {\n --bg-color: #242425;\n --main-color: #ccc2b1;\n --accent-color: #2b5f6d;\n --input-color: #505b5e;\n}\n\n.oblivion {\n --bg-color: #313231;\n --main-color: #f7f5f1;\n --accent-color: #a5a096;\n --input-color: #5d6263;\n}\n\n.olive {\n --bg-color: #e9e5cc;\n --main-color: #373731;\n --accent-color: #92946f;\n --input-color: #b7b39e;\n}\n\n.olivia {\n --bg-color: #1c1b1d;\n --main-color: #f2efed;\n --accent-color: #deaf9d;\n --input-color: #4e3e3e;\n}\n\n.onedark {\n --bg-color: #2f343f;\n --main-color: #98c379;\n --accent-color: #61afef;\n --input-color: #eceff4;\n}\n\n.our_theme {\n --bg-color: #ce1226;\n --main-color: #ffffff;\n --accent-color: #fcd116;\n --input-color: #6d0f19;\n}\n\n.paper {\n --bg-color: #eeeeee;\n --main-color: #444444;\n --accent-color: #444444;\n --input-color: #b2b2b2;\n}\n\n.passion_fruit {\n --bg-color: #7c2142;\n --main-color: #ffffff;\n --accent-color: #f4a3b4;\n --input-color: #9994b8;\n}\n\n.pastel {\n --bg-color: #e0b2bd;\n --main-color: #6d5c6f;\n --accent-color: #fbf4b6;\n --input-color: #b4e9ff;\n}\n\n.peach_blossom {\n --bg-color: #292929;\n --main-color: #fecea8;\n --accent-color: #99b898;\n --input-color: #616161;\n}\n\n.peaches {\n --bg-color: #e0d7c1;\n --main-color: #5f4c41;\n --accent-color: #dd7a5f;\n --input-color: #e7b28e;\n}\n\n.pink_lemonade {\n --bg-color: #f6d992;\n --main-color: #fcfcf8;\n --accent-color: #f6a192;\n --input-color: #f6b092;\n}\n\n.pulse {\n --bg-color: #181818;\n --main-color: #e5f4f4;\n --accent-color: #17b8bd;\n --input-color: #53565a;\n}\n\n.purpurite {\n --bg-color: #1f2533;\n --main-color: #9999ff;\n --accent-color: #9999ff;\n --input-color: #ccddff;\n}\n\n.red_dragon {\n --bg-color: #1a0b0c;\n --main-color: #4a4d4e;\n --accent-color: #ff3a32;\n --input-color: #e2a528;\n}\n\n.red_samurai {\n --bg-color: #84202c;\n --main-color: #e2dad0;\n --accent-color: #c79e6e;\n --input-color: #55131b;\n}\n\n.repose_dark {\n --bg-color: #2f3338;\n --main-color: #d6d2bc;\n --accent-color: #d6d2bc;\n --input-color: #8f8e84;\n}\n\n.repose_light {\n --bg-color: #efead0;\n --main-color: #333538;\n --accent-color: #5f605e;\n --input-color: #8f8e84;\n}\n\n.retro {\n --bg-color: #dad3c1;\n --main-color: #1d1b17;\n --accent-color: #1d1b17;\n --input-color: #918b7d;\n}\n\n.retrocast {\n --bg-color: #07737a;\n --main-color: #ffffff;\n --accent-color: #88dbdf;\n --input-color: #f3e03b;\n}\n\n.rose_pine {\n --bg-color: #1f1d27;\n --main-color: #e0def4;\n --accent-color: #9ccfd8;\n --input-color: #c4a7e7;\n}\n\n.rose_pine_dawn {\n --bg-color: #fffaf3;\n --main-color: #286983;\n --accent-color: #56949f;\n --input-color: #c4a7e7;\n}\n\n.rose_pine_moon {\n --bg-color: #2a273f;\n --main-color: #e0def4;\n --accent-color: #9ccfd8;\n --input-color: #c4a7e7;\n}\n\n.rudy {\n --bg-color: #1a2b3e;\n --main-color: #c9c8bf;\n --accent-color: #af8f5c;\n --input-color: #3a506c;\n}\n\n.ryujinscales {\n --bg-color: #081426;\n --main-color: #ffe4bc;\n --accent-color: #f17754;\n --input-color: #ffbc90;\n}\n\n.serika {\n --bg-color: #e1e1e3;\n --main-color: #323437;\n --accent-color: #e2b714;\n --input-color: #aaaeb3;\n}\n\n.serika_dark {\n --bg-color: #323437;\n --main-color: #d1d0c5;\n --accent-color: #e2b714;\n --input-color: #646669;\n}\n\n.sewing_tin {\n --bg-color: #241963;\n --main-color: #ffffff;\n --accent-color: #f2ce83;\n --input-color: #446ad5;\n}\n\n.sewing_tin_light {\n --bg-color: #ffffff;\n --main-color: #2d2076;\n --accent-color: #2d2076;\n --input-color: #385eca;\n}\n\n.shadow {\n --bg-color: #000;\n --main-color: #eee;\n --accent-color: #eee;\n --input-color: #444;\n}\n\n.shoko {\n --bg-color: #ced7e0;\n --main-color: #3b4c58;\n --accent-color: #81c4dd;\n --input-color: #7599b1;\n}\n\n.slambook {\n --bg-color: #FFFDDE;\n --main-color: #125d98;\n --accent-color: #13005A;\n --input-color: #1c82adc4;\n}\n\n.snes {\n --bg-color: #bfbec2;\n --main-color: #2e2e2e;\n --accent-color: #553d94;\n --input-color: #9f8ad4;\n}\n\n.soaring_skies {\n --bg-color: #fff9f2;\n --main-color: #1d1e1e;\n --accent-color: #55c6f0;\n --input-color: #1e107a;\n}\n\n.sonokai {\n --bg-color: #2c2e34;\n --main-color: #e2e2e3;\n --accent-color: #9ed072;\n --input-color: #e7c664;\n}\n\n.stealth {\n --bg-color: #010203;\n --main-color: #383e42;\n --accent-color: #383e42;\n --input-color: #5e676e;\n}\n\n.strawberry {\n --bg-color: #f37f83;\n --main-color: #fcfcf8;\n --accent-color: #fcfcf8;\n --input-color: #e53c58;\n}\n\n.striker {\n --bg-color: #124883;\n --main-color: #d6dbd9;\n --accent-color: #d7dcda;\n --input-color: #0f2d4e;\n}\n\n.superuser {\n --bg-color: #262a33;\n --main-color: #e5f7ef;\n --accent-color: #43ffaf;\n --input-color: #526777;\n}\n\n.sweden {\n --bg-color: #0058a3;\n --main-color: #ffffff;\n --accent-color: #ffcc02;\n --input-color: #57abdb;\n}\n\n.taro {\n --bg-color: #b3baff;\n --main-color: #130f1a;\n --accent-color: #130f1a;\n --input-color: #6f6c91;\n}\n\n.terminal {\n --bg-color: #191a1b;\n --main-color: #e7eae0;\n --accent-color: #79a617;\n --input-color: #48494b;\n}\n\n.terra {\n --bg-color: #0c100e;\n --main-color: #f0edd1;\n --accent-color: #89c559;\n --input-color: #436029;\n}\n\n.terror_below {\n --bg-color: #0b1e1a;\n --main-color: #dceae5;\n --accent-color: #66ac92;\n --input-color: #015c53;\n}\n\n.tiramisu {\n --bg-color: #cfc6b9;\n --main-color: #7d5448;\n --accent-color: #c0976f;\n --input-color: #c0976f;\n}\n\n.trackday {\n --bg-color: #464d66;\n --main-color: #cfcfcf;\n --accent-color: #e0513e;\n --input-color: #5c7eb9;\n}\n\n.trance {\n --bg-color: #00021b;\n --main-color: #fff;\n --accent-color: #e51376;\n --input-color: #3c4c79;\n}\n\n.tron_orange {\n --bg-color: #0d1c1c;\n --main-color: #ffffff;\n --accent-color: #f0e800;\n --input-color: #ff6600;\n}\n\n.vaporwave {\n --bg-color: #a4a7ea;\n --main-color: #f1ebf1;\n --accent-color: #e368da;\n --input-color: #7c7faf;\n}\n\n.viridescent {\n --bg-color: #2c3333;\n --main-color: #e9f5db;\n --accent-color: #95d5b2;\n --input-color: #84a98c;\n}\n\n.voc {\n --bg-color: #190618;\n --main-color: #eeeae4;\n --accent-color: #e0caac;\n --input-color: #4c1e48;\n}\n\n.vscode {\n --bg-color: #1e1e1e;\n --main-color: #d4d4d4;\n --accent-color: #007acc;\n --input-color: #4d4d4d;\n}\n\n.watermelon {\n --bg-color: #1f4437;\n --main-color: #cdc6bc;\n --accent-color: #d6686f;\n --input-color: #3e7a65;\n}\n\n.wavez {\n --bg-color: #1c292f;\n --main-color: #e9efe6;\n --accent-color: #6bde3b;\n --input-color: #1f5e6b;\n}\n\n.witch_girl {\n --bg-color: #f3dbda;\n --main-color: #56786a;\n --accent-color: #56786a;\n --input-color: #ddb4a7;\n}\n",".games {\n .tutorial {\n margin-block: 64px;\n }\n\n h4 {\n margin: 0;\n }\n\n li {\n margin-bottom: 1em;\n }\n}\n",".themes {\n --current-border: var(--main-color);\n\n .themePreview {\n border: 2px solid var(--current-border);\n padding: calc(2 * var(--inner-padding));\n margin-bottom: 32px;\n\n background-color: var(--bg-color);\n color: var(--main-color);\n\n &.current {\n padding: 0;\n border: none;\n margin-block: 64px;\n }\n\n .output {\n border: 2px solid var(--main-color);\n padding: var(--inner-padding);\n margin-bottom: 8px;\n\n .message.subheader {\n font-weight: bold;\n color: var(--accent-color);\n text-transform: capitalize;\n }\n\n .message.input {\n color: var(--input-color);\n }\n }\n\n button {\n width: 100%;\n }\n }\n}\n",".message {\n &.input {\n color: var(--input-color);\n }\n\n &.emphasized,\n &.subheader {\n color: var(--accent-color);\n }\n}\n\n.scrollTarget {\n scroll-margin-block-start: var(--inner-padding);\n}\n",".elseifplayer {\n height: 100%;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n\n background-color: var(--bg-color);\n color: var(--main-color);\n padding: var(--outer-padding);\n\n .output {\n display: flex;\n flex-grow: 2;\n flex-direction: column;\n overflow-y: hidden;\n overflow-wrap: break-word;\n\n border: var(--border-width) solid var(--main-color);\n\n .buffer {\n overflow-y: scroll;\n box-sizing: border-box;\n\n padding: var(--inner-padding);\n\n &:empty {\n display: none;\n }\n\n & > br:first-child,\n & > br:last-child,\n & > br + br + br {\n display: none;\n }\n\n &.gridBuffer {\n flex-shrink: 0;\n max-height: 100%;\n border-bottom: var(--separator-width) solid var(--main-color);\n }\n\n &.textBuffer {\n flex: 2 1;\n outline: none;\n scroll-behavior: smooth;\n }\n }\n }\n}\n",".menuButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n outline-offset: -8px;\n position: absolute;\n right: 0;\n height: 100%;\n padding: 0;\n\n @media (max-width: 800px) {\n padding: 0 calc(0.5 * var(--inner-padding));\n overflow: hidden;\n }\n\n &:focus-visible {\n outline-offset: -4px;\n }\n\n .menuIcon {\n height: 32px;\n fill: none;\n stroke: currentColor;\n stroke-width: 2px;\n\n @media (max-width: 800px) {\n transform: scaleX(2) scaleY(0.5);\n fill: currentColor;\n }\n }\n}\n",".inputControls {\n position: relative;\n margin-top: var(--input-box-margin);\n\n .inputBox {\n font: inherit;\n color: inherit;\n outline: 0;\n\n background-color: var(--bg-color);\n border: var(--border-width) solid var(--main-color);\n border-top: var(--separator-width) solid var(--main-color);\n padding: var(--inner-padding);\n padding-right: calc(4 * var(--inner-padding));\n margin: 0;\n width: 100%;\n\n &::placeholder {\n color: var(--main-color);\n opacity: 1;\n }\n\n &:focus::placeholder {\n opacity: 0.5;\n }\n\n &::-webkit-search-cancel-button {\n display: none;\n }\n }\n}\n","@keyframes dots0123 {\n 0% { content: ''; }\n 33% { content: '.'; }\n 66% { content: '..'; }\n 100% { content: '...'; }\n}\n\n.status {\n word-break: break-word;\n padding-block: var(--inner-padding);\n\n @media (max-width: 800px) {\n padding: var(--inner-padding);\n }\n\n &.loading > div:after {\n animation: dots0123 1s infinite;\n content: '';\n }\n}\n\n",".menu {\n width: 100%;\n\n border-left: none;\n border-right: none;\n text-align: center;\n padding-top: 0;\n padding-bottom: 0;\n\n background-color: var(--bg-color);\n border-color: var(--main-color);\n color: var(--main-color);\n\n &::backdrop {\n background: none;\n backdrop-filter: blur(2px);\n }\n\n & > section {\n margin: 32px auto 40px;\n gap: 32px;\n max-width: 270px;\n display: flex;\n flex-direction: column;\n }\n\n .navigation {\n color: var(--accent-color);\n }\n\n .appearance {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n select,\n button {\n width: 100%;\n }\n}\n",".app {\n min-height: 100%;\n box-sizing: border-box;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n color: var(--main-color);\n background-color: var(--bg-color);\n\n /* */\n &.home, &.games, &.themes {\n padding: var(--inner-padding);\n\n /* Fix for Jumping Scrollbar Issue */\n @media (min-width: 800px) {\n padding-left: calc(100vw - 100% + var(--inner-padding));\n }\n }\n\n /* Player view */\n &.play, &.focus {\n height: 100%;\n max-height: 100dvh;\n\n @media (min-width: 800px) {\n & > main {\n max-height: 90%;\n margin: auto;\n }\n }\n }\n\n /* */\n & > main {\n flex: 1 1 auto;\n\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n\n @media (min-width: 800px) {\n margin: 5vh 0;\n max-width: 800px;\n }\n }\n}\n"],"names":[],"version":3,"file":"index.62ef15f1.css.map"} \ No newline at end of file diff --git a/docs/index.6a6ba7ba.js b/docs/index.6a6ba7ba.js new file mode 100644 index 0000000..9e2543d --- /dev/null +++ b/docs/index.6a6ba7ba.js @@ -0,0 +1,2 @@ +!function(){function e(e,r,n,o){Object.defineProperty(e,r,{get:n,set:o,enumerable:!0,configurable:!0})}var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},n={},o={},t=r.parcelRequire847f;null==t&&((t=function(e){if(e in n)return n[e].exports;if(e in o){var r=o[e];delete o[e];var t={id:e,exports:{}};return n[e]=t,r.call(t.exports,t,t.exports),t.exports}var f=Error("Cannot find module '"+e+"'");throw f.code="MODULE_NOT_FOUND",f}).register=function(e,r){o[e]=r},r.parcelRequire847f=t),t.register("n9Yfb",function(r,n){"use strict";e(r.exports,"register",function(){return o},function(e){return o=e}),e(r.exports,"resolve",function(){return t},function(e){return t=e});var o,t,f={};o=function(e){for(var r=Object.keys(e),n=0;n","node_modules/@parcel/runtime-js/lib/helpers/bundle-manifest.js","node_modules/@parcel/runtime-js/lib/runtime-fe39eb45e7abdff9.js"],"sourcesContent":["(function () {\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $parcel$global =\ntypeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequire847f\"];\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequire847f\"] = parcelRequire;\n}\nparcelRequire.register(\"n9Yfb\", function(module, exports) {\n\n$parcel$export(module.exports, \"register\", function () { return $0459e210d5f34936$export$6503ec6e8aabbaf; }, function (v) { return $0459e210d5f34936$export$6503ec6e8aabbaf = v; });\n$parcel$export(module.exports, \"resolve\", function () { return $0459e210d5f34936$export$f7ad0328861e2f03; }, function (v) { return $0459e210d5f34936$export$f7ad0328861e2f03 = v; });\nvar $0459e210d5f34936$export$6503ec6e8aabbaf;\nvar $0459e210d5f34936$export$f7ad0328861e2f03;\n\"use strict\";\nvar $0459e210d5f34936$var$mapping = {};\nfunction $0459e210d5f34936$var$register(pairs) {\n var keys = Object.keys(pairs);\n for(var i = 0; i < keys.length; i++)$0459e210d5f34936$var$mapping[keys[i]] = pairs[keys[i]];\n}\nfunction $0459e210d5f34936$var$resolve(id) {\n var resolved = $0459e210d5f34936$var$mapping[id];\n if (resolved == null) throw new Error(\"Could not resolve bundle with id \" + id);\n return resolved;\n}\n$0459e210d5f34936$export$6503ec6e8aabbaf = $0459e210d5f34936$var$register;\n$0459e210d5f34936$export$f7ad0328861e2f03 = $0459e210d5f34936$var$resolve;\n\n});\n\nvar $8dc9718ce5170e3c$exports = {};\n\n(parcelRequire(\"n9Yfb\")).register(JSON.parse('{\"ejVIo\":\"index.7852e909.js\",\"5EF4K\":\"bocfel-core.ee206e48.wasm\",\"9Qh6d\":\"git-core.b75bc635.wasm\",\"huVfu\":\"hugo-core.34679da7.wasm\",\"b8QSH\":\"tads-core.768683a2.wasm\",\"iM1SU\":\"scare-core.0f93f725.wasm\",\"depHM\":\"index.62ef15f1.css\"}'));\n\n})();\n//# sourceMappingURL=index.6a6ba7ba.js.map\n","\"use strict\";\n\nvar mapping = {};\nfunction register(pairs) {\n var keys = Object.keys(pairs);\n for (var i = 0; i < keys.length; i++) {\n mapping[keys[i]] = pairs[keys[i]];\n }\n}\nfunction resolve(id) {\n var resolved = mapping[id];\n if (resolved == null) {\n throw new Error('Could not resolve bundle with id ' + id);\n }\n return resolved;\n}\nmodule.exports.register = register;\nmodule.exports.resolve = resolve;","require('./helpers/bundle-manifest').register(JSON.parse(\"{\\\"ejVIo\\\":\\\"index.7852e909.js\\\",\\\"5EF4K\\\":\\\"bocfel-core.ee206e48.wasm\\\",\\\"9Qh6d\\\":\\\"git-core.b75bc635.wasm\\\",\\\"huVfu\\\":\\\"hugo-core.34679da7.wasm\\\",\\\"b8QSH\\\":\\\"tads-core.768683a2.wasm\\\",\\\"iM1SU\\\":\\\"scare-core.0f93f725.wasm\\\",\\\"depHM\\\":\\\"index.62ef15f1.css\\\"}\"));"],"names":["$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","self","window","global","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$0459e210d5f34936$export$6503ec6e8aabbaf","$0459e210d5f34936$export$f7ad0328861e2f03","$0459e210d5f34936$var$mapping","pairs","keys","i","length","resolved","JSON","parse"],"version":3,"file":"index.6a6ba7ba.js.map"} \ No newline at end of file diff --git a/docs/index.7852e909.js b/docs/index.7852e909.js new file mode 100644 index 0000000..9c84a27 --- /dev/null +++ b/docs/index.7852e909.js @@ -0,0 +1,2 @@ +!function(){function e(e,r,t,n){Object.defineProperty(e,r,{get:t,set:n,enumerable:!0,configurable:!0})}var r,t,n,o,a,i,s,u,l,c,d,f,m,h,p,v,w,g,_,y,E,b,k,S,D,F,M,A,P,x,R,C,T="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},N={},z={},B=T.parcelRequire847f;null==B&&((B=function(e){if(e in N)return N[e].exports;if(e in z){var r=z[e];delete z[e];var t={id:e,exports:{}};return N[e]=t,r.call(t.exports,t,t.exports),t.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,r){z[e]=r},T.parcelRequire847f=B),B.register("6kBsm",function(r,t){e(r.exports,"getBundleURL",function(){return n},function(e){return n=e});"use strict";var n,o={};n=function(e){var r=o[e];return r||(r=function(){try{throw Error()}catch(r){var e=(""+r.stack).match(/(https?|file|ftp|(chrome|moz|safari-web)-extension):\/\/[^)\n]+/g);if(e)return(""+e[2]).replace(/^((?:https?|file|ftp|(chrome|moz|safari-web)-extension):\/\/.+)\/[^/]+$/,"$1")+"/"}return"/"}(),o[e]=r),r}});var j,O,I,L,U,H,W,q,Y,G={},V=[],X=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,K=Array.isArray;function $(e,r){for(var t in r)e[t]=r[t];return e}function J(e){var r=e.parentNode;r&&r.removeChild(e)}function Z(e,r,t){var n,o,a,i={};for(a in r)"key"==a?n=r[a]:"ref"==a?o=r[a]:i[a]=r[a];if(arguments.length>2&&(i.children=arguments.length>3?j.call(arguments,2):t),"function"==typeof e&&null!=e.defaultProps)for(a in e.defaultProps)void 0===i[a]&&(i[a]=e.defaultProps[a]);return Q(e,i,n,o,null)}function Q(e,r,t,n,o){var a={type:e,props:r,key:t,ref:n,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++I:o};return null==o&&null!=O.vnode&&O.vnode(a),a}function ee(e){return e.children}function er(e,r){this.props=e,this.context=r}function et(e,r){if(null==r)return e.__?et(e.__,e.__.__k.indexOf(e)+1):null;for(var t;rr&&U.sort(q));eo.__r=0}function ea(e,r,t,n,o,a,i,s,u,l){var c,d,f,m,h,p,v,w=n&&n.__k||V,g=w.length;for(t.__k=[],c=0;c0?Q(m.type,m.props,m.key,m.ref?m.ref:null,m.__v):m)){if(m.__=t,m.__b=t.__b+1,null===(f=w[c])||f&&m.key==f.key&&m.type===f.type)w[c]=void 0;else for(d=0;d=0;t--)if((n=r.__k[t])&&(o=e(n)))return o}return null}(n).nextSibling),function e(r,t,n){var o,a;if(O.unmount&&O.unmount(r),(o=r.ref)&&(o.current&&o.current!==r.__e||em(o,null,t)),null!=(o=r.__c)){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(e){O.__e(e,t)}o.base=o.__P=null,r.__c=void 0}if(o=r.__k)for(a=0;a2&&(s.children=arguments.length>3?j.call(arguments,2):t),Q(e.type,s,n||e.key,o||e.ref,null)}j=V.slice,O={__e:function(e,r,t,n){for(var o,a,i;r=r.__;)if((o=r.__c)&&!o.__)try{if((a=o.constructor)&&null!=a.getDerivedStateFromError&&(o.setState(a.getDerivedStateFromError(e)),i=o.__d),null!=o.componentDidCatch&&(o.componentDidCatch(e,n||{}),i=o.__d),i)return o.__E=o}catch(r){e=r}throw e}},I=0,L=function(e){return null!=e&&void 0===e.constructor},er.prototype.setState=function(e,r){var t;t=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=$({},this.state),"function"==typeof e&&(e=e($({},t),this.props)),e&&$(t,e),null!=e&&this.__v&&(r&&this._sb.push(r),en(this))},er.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),en(this))},er.prototype.render=ee,U=[],W="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,q=function(e,r){return e.__v.__b-r.__v.__b},eo.__r=0,Y=0;var ev=0;function ew(e,r,t,n,o,a){var i,s,u={};for(s in r)"ref"==s?i=r[s]:u[s]=r[s];var l={type:e,props:u,key:t,ref:i,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--ev,__source:o,__self:a};if("function"==typeof e&&(i=e.defaultProps))for(s in i)void 0===u[s]&&(u[s]=i[s]);return O.vnode&&O.vnode(l),l}var eg,e_,ey,eE,eb=0,ek=[],eS=[],eD=O.__b,eF=O.__r,eM=O.diffed,eA=O.__c,eP=O.unmount;function ex(e,r){O.__h&&O.__h(e_,e,eb||r),eb=0;var t=e_.__H||(e_.__H={__:[],__h:[]});return e>=t.__.length&&t.__.push({__V:eS}),t.__[e]}function eR(e){return eb=1,function(e,r,t){var n=ex(eg++,2);if(n.t=e,!n.__c&&(n.__=[t?t(r):eH(void 0,r),function(e){var r=n.__N?n.__N[0]:n.__[0],t=n.t(r,e);r!==t&&(n.__N=[t,n.__[1]],n.__c.setState({}))}],n.__c=e_,!e_.u)){var o=function(e,r,t){if(!n.__c.__H)return!0;var o=n.__c.__H.__.filter(function(e){return e.__c});if(o.every(function(e){return!e.__N}))return!a||a.call(this,e,r,t);var i=!1;return o.forEach(function(e){if(e.__N){var r=e.__[0];e.__=e.__N,e.__N=void 0,r!==e.__[0]&&(i=!0)}}),!(!i&&n.__c.props===e)&&(!a||a.call(this,e,r,t))};e_.u=!0;var a=e_.shouldComponentUpdate,i=e_.componentWillUpdate;e_.componentWillUpdate=function(e,r,t){if(this.__e){var n=a;a=void 0,o(e,r,t),a=n}i&&i.call(this,e,r,t)},e_.shouldComponentUpdate=o}return n.__N||n.__}(eH,e)}function eC(e,r){var t=ex(eg++,3);!O.__s&&eU(t.__H,r)&&(t.__=e,t.i=r,e_.__H.__h.push(t))}function eT(e,r){var t=ex(eg++,4);!O.__s&&eU(t.__H,r)&&(t.__=e,t.i=r,e_.__h.push(t))}function eN(e){return eb=5,ez(function(){return{current:e}},[])}function ez(e,r){var t=ex(eg++,7);return eU(t.__H,r)?(t.__V=e(),t.i=r,t.__h=e,t.__V):t.__}function eB(){for(var e;e=ek.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(eI),e.__H.__h.forEach(eL),e.__H.__h=[]}catch(r){e.__H.__h=[],O.__e(r,e.__v)}}O.__b=function(e){e_=null,eD&&eD(e)},O.__r=function(e){eF&&eF(e),eg=0;var r=(e_=e.__c).__H;r&&(ey===e_?(r.__h=[],e_.__h=[],r.__.forEach(function(e){e.__N&&(e.__=e.__N),e.__V=eS,e.__N=e.i=void 0})):(r.__h.forEach(eI),r.__h.forEach(eL),r.__h=[],eg=0)),ey=e_},O.diffed=function(e){eM&&eM(e);var r=e.__c;r&&r.__H&&(r.__H.__h.length&&(1!==ek.push(r)&&eE===O.requestAnimationFrame||((eE=O.requestAnimationFrame)||eO)(eB)),r.__H.__.forEach(function(e){e.i&&(e.__H=e.i),e.__V!==eS&&(e.__=e.__V),e.i=void 0,e.__V=eS})),ey=e_=null},O.__c=function(e,r){r.some(function(e){try{e.__h.forEach(eI),e.__h=e.__h.filter(function(e){return!e.__||eL(e)})}catch(t){r.some(function(e){e.__h&&(e.__h=[])}),r=[],O.__e(t,e.__v)}}),eA&&eA(e,r)},O.unmount=function(e){eP&&eP(e);var r,t=e.__c;t&&t.__H&&(t.__H.__.forEach(function(e){try{eI(e)}catch(e){r=e}}),t.__H=void 0,r&&O.__e(r,t.__v))};var ej="function"==typeof requestAnimationFrame;function eO(e){var r,t=function(){clearTimeout(n),ej&&cancelAnimationFrame(r),setTimeout(e)},n=setTimeout(t,100);ej&&(r=requestAnimationFrame(t))}function eI(e){var r=e_,t=e.__c;"function"==typeof t&&(e.__c=void 0,t()),e_=r}function eL(e){var r=e_;e.__c=e.__(),e_=r}function eU(e,r){return!e||e.length!==r.length||r.some(function(r,t){return r!==e[t]})}function eH(e,r){return"function"==typeof r?r(e):r}let eW=!!("undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement);function eq(e,r){return e===r&&(0!==e||1/e==1/r)||e!=e&&r!=r}let eY=e=>{let r=eN([e,(...e)=>r[0](...e)]).current;return eT(()=>{r[0]=e}),r[1]},eG=(e="",r=location.pathname)=>r.toLowerCase().indexOf(e.toLowerCase())?"~"+r:r.slice(e.length)||"/",eV=(e,r="")=>"~"===e[0]?e.slice(1):r+e,eX="pushState",eK="replaceState",e$=["popstate",eX,eK,"hashchange"],eJ=e=>{for(let r of e$)addEventListener(r,e);return()=>{for(let r of e$)removeEventListener(r,e)}},eZ=(e,r)=>(function(e,r,t){t&&!eW&&(r=t);let n=r(),[{_instance:o},a]=eR({_instance:{_value:n,_getSnapshot:r}});return eT(()=>{o._value=n,o._getSnapshot=r,eq(o._value,r())||a({_instance:o})},[e,n,r]),eC(()=>(eq(o._value,o._getSnapshot())||a({_instance:o}),e(()=>{eq(o._value,o._getSnapshot())||a({_instance:o})})),[e]),n})(eJ,e,r),eQ=()=>location.pathname,e0=({ssrPath:e}={})=>eZ(eQ,e?()=>e:eQ),e1=(e,{replace:r=!1}={})=>history[r?eK:eX](null,"",e);if("undefined"!=typeof history)for(let e of[eX,eK]){let r=history[e];history[e]=function(){let t=r.apply(this,arguments),n=new Event(e);return n.arguments=arguments,dispatchEvent(n),t}}let e2=e=>e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),e4=(e,r,t)=>{let n=e?"((?:[^\\/]+?)(?:\\/(?:[^\\/]+?))*)":"([^\\/]+?)";return r&&t&&(n="(?:\\/"+n+")"),n+(r?"?":"")},e6=e=>{let r=/:([A-Za-z0-9_]+)([?+*]?)/g,t=null,n=0,o=[],a="";for(;null!==(t=r.exec(e));){let[i,s,u]=t,l="+"===u||"*"===u,c="?"===u||"*"===u,d=c&&"/"===e[t.index-1]?1:0,f=e.substring(n,t.index-d);o.push({name:s}),n=r.lastIndex,a+=e2(f)+e4(l,c,d)}return{keys:o,regexp:RegExp("^"+(a+=e2(e.substring(n)))+"(?:\\/)?$","i")}},e3={hook:(e={})=>[eG(e.base,e0(e)),eY((r,t)=>e1(eV(r,e.base),t))],matcher:function(e=e6){let r={},t=t=>r[t]||(r[t]=e(t));return(e,r)=>{let{regexp:n,keys:o}=t(e||""),a=n.exec(r);if(!a)return[!1,null];let i=o.reduce((e,r,t)=>(e[r.name]=a[t+1],e),{});return[!0,i]}}(),base:""},e9=(t={__c:r="__cC"+Y++,__:e3,Consumer:function(e,r){return e.children(r)},Provider:function(e){var t,n;return this.getChildContext||(t=[],(n={})[r]=this,this.getChildContext=function(){return n},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&t.some(function(e){e.__e=!0,en(e)})},this.sub=function(e){t.push(e);var r=e.componentWillUnmount;e.componentWillUnmount=function(){t.splice(t.indexOf(e),1),r&&r.call(e)}}),e.children}}).Provider.__=t.Consumer.contextType=t,e8=()=>{var e,r;return e=e_.context[e9.__c],(r=ex(eg++,9)).c=e9,e?(null==r.__&&(r.__=!0,e.sub(e_)),e.props.value):e9.__},e5=e=>e.hook(e),e7=e=>{let r=e8(),[t]=e5(r);return r.matcher(e,t)},re=({hook:e,matcher:r,ssrPath:t,base:n="",parent:o,children:a})=>{let i=(a,i=o||e3)=>(a.hook=e||i.hook,a.matcher=r||i.matcher,a.ssrPath=t||i.ssrPath,a.ownBase=n,a.parent=o,a),[s]=eR(()=>i({get base(){return(s.parent||e3).base+s.ownBase}}));return eT(()=>{i(s)}),Z(e9.Provider,{value:s,children:a})},rr=({path:e,match:r,component:t,children:n})=>{let o=e7(e),[a,i]=r||o;return a?t?Z(t,{params:i}):"function"==typeof n?n(i):n:null},rt=(e,r)=>{let t=e8(),[,n]=e5(t),{to:o,href:a=o,children:i,onClick:s}=e,u=eY(r=>{r.ctrlKey||r.metaKey||r.altKey||r.shiftKey||0!==r.button||(s&&s(r),r.defaultPrevented||(r.preventDefault(),n(o||a,e)))}),l={href:"~"===a[0]?a.slice(1):t.base+a,onClick:u,to:null,ref:r},c=L(i)?i:Z("a",e);return ep(c,l)},rn=e=>Array.isArray(e)?[].concat(...e.map(e=>e&&e.type===ee?rn(e.props.children):rn(e))):[e],ro=({children:e,location:r})=>{let t=e8(),n=t.matcher,[o]=e5(t);for(let t of rn(e)){let e=0;if(L(t)&&(e=t.props.path?n(t.props.path,r||o):[!0,{}])[0])return ep(t,{match:e})}return null},ra=()=>window.location.hash.replace("#","")||"/",ri=({url:e})=>`/#/play/${encodeURIComponent(e)}`,rs=e=>{if("/"===e)return"home";let r=e.split("/").filter(Boolean)[0];return r||""},ru=()=>{var e;let[r,t]=eR(ra());eC(()=>{let e=()=>{let e=ra();e!==r&&(t(e),window.scrollTo(0,0))};return e(),window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)},[r,t]);let n=(e=e=>{window.location.hash=e.replace("#/","")},eb=8,ez(function(){return e},[]));return[r,n]},rl=["light","dim","dark","solarized-light","solarized-dark","emo","redrum","toxin","valve","wasp","a8008","a80s_after_dark","a9009","aether","alduin","alpine","arch","aurora","beach","bento","bingsu","bliss","blue_dolphin","blueberry_dark","blueberry_light","botanical","bouquet","breeze","bushido","cafe","camping","carbon","catppuccin","chaos_theory","cheesecake","cherry_blossom","comfy","copper","creamsicle","cyberspace","dark_magic_girl","dark_note","darling","deku","desert_oasis","dev","diner","dino","dmg","dollar","dots","dracula","drowning","dualshot","earthsong","everblush","evil_eye","ez_mode","fire","fledgling","fleuriste","froyo","frozen_llama","fruit_chew","fundamentals","future_funk","godspeed","graen","grand_prix","gruvbox_dark","gruvbox_light","hammerhead","hanok","hedge","honey","horizon","husqy","iceberg_dark","iceberg_light","ishtar","iv_clover","iv_spade","joker","laser","lavender","leather","lil_dragon","lime","luna","magic_girl","mashu","matcha_moccha","material","matrix","menthol","metaverse","metropolis","mexican","miami","miami_nights","midnight","milkshake","mint","mizu","modern_dolch","modern_dolch_light","modern_ink","monokai","moonlight","mountain","mr_sleeves","ms_cupcakes","muted","nautilus","nebula","night_runner","nord","nord_light","norse","oblivion","olive","olivia","onedark","our_theme","paper","passion_fruit","pastel","peach_blossom","peaches","pink_lemonade","pulse","purpurite","red_dragon","red_samurai","repose_dark","repose_light","retro","retrocast","rose_pine","rose_pine_dawn","rose_pine_moon","rudy","ryujinscales","serika","serika_dark","sewing_tin","sewing_tin_light","shadow","shoko","slambook","snes","soaring_skies","sonokai","stealth","strawberry","striker","superuser","sweden","taro","terminal","terra","terror_below","tiramisu","trackday","trance","tron_orange","vaporwave","viridescent","voc","vscode","watermelon","wavez","witch_girl"],rc="elseifplayer/theme",rd=rl[0],rf=()=>{let e=localStorage.getItem(rc);return e||rd},rm=e=>rl.includes(e)?e:rf(),rh=(e=rf())=>{let[r,t]=eR(e),n=e=>{let r=rm(e);t(r),localStorage.setItem(rc,r)};return{currentTheme:r,setTheme:n,setRandomTheme:()=>{let e=rl[Math.floor(Math.random()*rl.length)];n(e)},themes:rl}};function rp({theme:e,setLocation:r,buildLink:t}){return ew("input",{type:"file",onChange:({target:n})=>{let o=n.files[0],a=`${URL.createObjectURL(o)}#${o.name}`;r(t({url:a,theme:e}))}})}function rv({theme:e,setLocation:r,buildLink:t}){let n=/^(http|https):\/\/[^ "]+$/;return ew("input",{type:"text",placeholder:"https://...",onKeyPress:({keyCode:o,target:a})=>{if(13!==o)return;let i=encodeURI(a.value);n.test(i)&&r(t({url:i,theme:e}))}})}function rw({themeEngine:e}){let r=e.themes.map(e=>ew("option",{value:e,children:e},e));return ew("select",{value:e.currentTheme,onChange:({target:r})=>e.setTheme(r.value),children:r})}function rg({themeEngine:e}){let r=ru()[1];return ew("main",{children:[ew("h1",{children:"ElseIFPlayer"}),ew("section",{children:ew("p",{children:["Interactive Fiction interpreter that runs right in your browser.",ew("br",{}),"Source code can be found in this ",ew("a",{target:"_blank",rel:"noopener noreferrer",href:"https://github.com/He4eT/elseifplayer",children:"repository"}),"."]})}),ew("hr",{}),ew("section",{children:[ew("h2",{children:"Interface Theme"}),ew(rw,{themeEngine:e}),ew("p",{children:["Preview and choose from available themes on the ",ew(rt,{href:"/#/themes/",children:"themes page"}),"."]}),ew("p",{children:ew("small",{children:"Double-click the input field during the game to enter full-screen mode."})})]}),ew("hr",{}),ew("section",{children:[ew("h2",{children:"Play a Game from the List"}),ew("p",{children:ew(rt,{href:"/#/games/",children:"IFDB games"})})]}),ew("hr",{}),ew("section",{children:[ew("h2",{children:"Play the Game from a File"}),ew("p",{children:ew("details",{children:[ew("summary",{children:"Supported formats"}),ew("p",{children:"Text-only games are supported:"}),ew("ul",{children:[ew("li",{children:"ADRIFT 4 (.taf)"}),ew("li",{children:"Glulx (.gblorb, .ulx)"}),ew("li",{children:"Hugo (.hex)"}),ew("li",{children:"TADS 2/3 (.gam, .t3)"}),ew("li",{children:"Z-code (.z3, .z4, .z5, .z8, .blorb)"})]})]})}),ew("p",{children:ew("label",{children:["Local file: ",ew("br",{}),ew(rp,{setLocation:r,buildLink:ri,theme:e.currentTheme})]})}),ew("p",{children:ew("label",{children:["Direct link: ",ew("br",{}),ew(rv,{setLocation:r,buildLink:ri,theme:e.currentTheme})]})})]})]})}function r_({name:e,ifdb:r,url:t}){return ew("div",{children:[ew("h4",{children:e}),ew("a",{target:"_blank",rel:"noopener noreferrer",href:r,children:"IFDB page"}),ew("span",{children:" | "}),ew(rt,{href:ri({url:t}),children:"Play"})]})}var ry=[["Lost Pig","https://ifdb.org/viewgame?id=mohwfk47yjzii14w","https://mirror.ifarchive.org/if-archive/games/zcode/LostPig.z8"],["Counterfeit Monkey","https://ifdb.org/viewgame?id=aearuuxv83plclpl","https://mirror.ifarchive.org/if-archive/games/glulx/CounterfeitMonkey.gblorb"],["Anchorhead","https://ifdb.org/viewgame?id=op0uw1gn1tjqmjt7","https://ifarchive.org/if-archive/games/zcode/anchor.z8"],["Galatea","https://ifdb.org/viewgame?id=urxrv27t7qtu52lb","https://mirror.ifarchive.org/if-archive/games/zcode/Galatea.zblorb"],["Photopia","https://ifdb.org/viewgame?id=ju778uv5xaswnlpl","https://mirror.ifarchive.org/if-archive/games/zcode/photopia.z5"],["Spider and Web","https://ifdb.org/viewgame?id=2xyccw3pe0uovfad","https://mirror.ifarchive.org/if-archive/games/zcode/Tangle.z5"],["Slouching Towards Bedlam","https://ifdb.org/viewgame?id=032krqe6bjn5au78","https://mirror.ifarchive.org/if-archive/games/competition2003/zcode/slouch/slouch.z5"],["Curses!","https://ifdb.org/viewgame?id=plvzam05bmz3enh8","https://mirror.ifarchive.org/if-archive/games/zcode/curses.z5"],["Violet","https://ifdb.org/viewgame?id=4glrrfh7wrp9zz7b","https://mirror.ifarchive.org/if-archive/games/zcode/Violet.zblorb"],["The Wizard Sniffer","https://ifdb.org/viewgame?id=uq18rw9gt8j58da","https://ifarchive.org/if-archive/games/competition2017/The%20Wizard%20Sniffer/The_Wizard_Sniffer.gblorb"],["Shade","https://ifdb.org/viewgame?id=hsfc7fnl40k4a30q","https://mirror.ifarchive.org/if-archive/games/zcode/shade.z5"],["Vespers","https://ifdb.org/viewgame?id=6dj2vguyiagrhvc2","https://mirror.ifarchive.org/if-archive/games/zcode/vespers.z8"],["Savoir-Faire","https://ifdb.org/viewgame?id=p0cizeb3kiwzlm2p","https://mirror.ifarchive.org/if-archive/games/zcode/Savoir-Faire.zblorb"],["Aisle","https://ifdb.org/viewgame?id=j49crlvd62mhwuzu","https://mirror.ifarchive.org/if-archive/games/zcode/Aisle.z5"],["Gun Mute","https://ifdb.org/viewgame?id=xwedbibfksczn7eq","https://mirror.ifarchive.org/if-archive/games/tads/GunMute.t3"],["A Beauty Cold and Austere","https://ifdb.org/viewgame?id=y9y7jozi0l76bb82","https://ifarchive.org/if-archive/games/competition2017/A%20Beauty%20Cold%20and%20Austere/A_Beauty_Cold_and_Austere.gblorb"],["Coloratura","https://ifdb.org/viewgame?id=g0fl99ovcrq2sqzk","https://mirror.ifarchive.org/if-archive/games/competition2013/glulx/coloratura/Coloratura.gblorb"],["Lime Ergot","https://ifdb.org/viewgame?id=b8mb4fcwmf1hrxl","https://mirror.ifarchive.org/if-archive/games/glulx/Lime_Ergot.gblorb"],["Rameses","https://ifdb.org/viewgame?id=0stz0hr7a98bp9mp","https://mirror.ifarchive.org/if-archive/games/zcode/rameses.zblorb"],["The Wand","https://ifdb.org/viewgame?id=2jil5vbxmbv8riv1","https://ifarchive.org/if-archive/games/glulx/Wand.ulx"],["1893: A World's Fair Mystery","https://ifdb.org/viewgame?id=00e0t7swrris5pg6","https://mirror.ifarchive.org/if-archive/games/tads/1893.gam"],["Adventure","https://ifdb.org/viewgame?id=fft6pu91j85y4acv","https://mirror.ifarchive.org/if-archive/games/zcode/Advent.z5"],["Alias 'The Magpie'","https://ifdb.org/viewgame?id=yspn49v69hzc8rtb","https://ifarchive.org/if-archive/games/competition2018/Alias%20The%20Magpie/Alias%20%27The%20Magpie%27.gblorb"],["Cragne Manor","https://ifdb.org/viewgame?id=4x7nltu8p851tn4x","https://mirror.ifarchive.org/if-archive/games/glulx/cragne.gblorb"],["The Edifice","https://ifdb.org/viewgame?id=4tb9soabrb4apqzd","https://mirror.ifarchive.org/if-archive/games/zcode/edifice.z5"],["Endless, Nameless","https://ifdb.org/viewgame?id=7vtm1rq16hh3xch","https://ifarchive.org/if-archive/games/zcode/nameless.z8"],["Everybody Dies","https://ifdb.org/viewgame?id=lyblvftb8xtlo0a1","https://mirror.ifarchive.org/if-archive/games/competition2008/glulx/everybodydies/EverybodyDies.gblorb"],["Foo Foo","https://ifdb.org/viewgame?id=ec6x9y8qcmsrxob9","https://ifarchive.org/if-archive/games/springthing/2016/FooFoo.gblorb"],["The Gostak","https://ifdb.org/viewgame?id=w5s3sv43s3p98v45","https://mirror.ifarchive.org/if-archive/games/zcode/gostak.z5"],["Inside the Facility","https://ifdb.org/viewgame?id=stsdri5zh7a4i5my","https://ifarchive.org/if-archive/games/competition2016/Inside%20the%20Facility/Facility.z8"],["Make It Good","https://ifdb.org/viewgame?id=jdrbw1htq4ah8q57","https://mirror.ifarchive.org/if-archive/games/zcode/MakeItGood.z8"],["Sub Rosa","https://ifdb.org/viewgame?id=73nvz9yui87ub3sd","https://mirror.ifarchive.org/if-archive/games/glulx/Sub_Rosa.gblorb"],["Suveh Nux","https://ifdb.org/viewgame?id=xkai23ry99qdxce3","https://mirror.ifarchive.org/if-archive/games/zcode/suvehnux.z5"],["Varicella","https://ifdb.org/viewgame?id=ywwlr3tpxnktjasd","https://mirror.ifarchive.org/if-archive/games/zcode/vgame.z8"]].map(([e,r,t])=>({name:e,ifdb:r,url:t}));let rE={name:"The Dreamhold",ifdb:"https://ifdb.org/viewgame?id=3myqnrs64nbtwdaz",url:"https://mirror.ifarchive.org/if-archive/games/zcode/dreamhold.z8"};function rb(){return ew("main",{className:"-soi4G_games",children:[ew("h1",{children:[ew("a",{target:"_blank",rel:"noopener noreferrer",href:"https://ifdb.org/",title:"The Interactive Fiction Database",children:"IFDB"})," Games"]}),ew("p",{children:["Choose one or ",ew(rt,{href:"/",children:"go back"}),"."]}),ew("section",{className:"-soi4G_tutorial",children:[ew("h2",{children:"Tutorial"}),ew("p",{children:"If you are not familiar with Interactive Fiction, you should start with this tutorial game by\xa0Andrew\xa0Plotkin:"}),ew("ul",{children:ew("li",{children:ew(r_,{...rE})})})]}),ew("h2",{children:"Interactive Fiction Top 50 of All Time"}),ew("p",{children:[ew("a",{target:"_blank",rel:"noopener noreferrer",href:"https://ifdb.org/search?comp&sortby=awn&searchfor=series%3AInteractive+Fiction+Top+50+of+All+Time",children:"Every four years "}),", Victor Gijsbers puts together a list of the top 50 IF games of all time. Here is an almost complete and slightly rearranged version of the ",ew("a",{target:"_blank",rel:"noopener noreferrer",href:"https://ifdb.org/viewcomp?id=1lv599reviaxvwo7",children:"list from 2019"}),":"]}),ew("ol",{children:ry.map(e=>ew("li",{children:ew(r_,{...e})},e.name))})]})}h="qdlvgW_input",p="qdlvgW_message",v="qdlvgW_output",w="qdlvgW_subheader",g="qdlvgW_themePreview";let rk=(e,r)=>ew("section",{className:[g,r].join(" "),children:[ew("div",{className:v,children:[ew("div",{className:[p,h].join(" "),children:"> look"}),ew("div",{children:ew("br",{})}),ew("div",{className:[p,w].join(" "),children:r}),ew("div",{children:"Observe a vibrant demonstration of colors at work, showcasing their versatile usage right before your eyes."}),ew("div",{children:ew("br",{})})]}),ew("button",{onClick:()=>e.setTheme(r),children:"Apply this colors"})]},r);function rS({themeEngine:e}){let r=e.themes.map(r=>rk(e,r));return ew("main",{className:"qdlvgW_themes",children:[ew("h1",{children:"Themes Page"}),ew("p",{children:["Choose one or ",ew(rt,{href:"/",children:"go back"}),"."]}),ew("section",{className:[g,"qdlvgW_current"].join(" "),children:[ew("h2",{children:"Current Theme"}),ew("div",{className:v,children:[ew("div",{className:[p,h].join(" "),children:"> look"}),ew("div",{children:ew("br",{})}),ew("div",{className:[p,w].join(" "),children:["Selected: ",e.currentTheme]}),ew("div",{children:"You can set random one with the button below or choose any theme from the list."}),ew("div",{children:ew("br",{})})]}),ew("button",{onClick:()=>e.setRandomTheme(),children:"Set a random theme"})]}),ew("h2",{children:"Theme List"}),ew("section",{children:r})]})}class rD{constructor(e){this.dialog=e.options.Dialog,this.streaming=this.dialog.streaming,this.FS=e.Module.FS,this.VM=e,this.filename_map={},this.filename_counter=0}close(e){"storyfile"===e.name||(this.streaming?e.fstream.fclose():2!==e.fmode&&this.dialog.file_write(e.fref,e.data))}createNode(e,r,t){let n=this.FS;if(!n.isDir(t)&&!n.isFile(t))throw new n.ErrnoError(28);let o=n.createNode(e,r,t);return o.node_ops=this,o.stream_ops=this,o.timestamp=Date.now(),o}getattr(e){let r="storyfile"===e.name?this.VM.data.length:0;return{atime:new Date(e.timestamp),ctime:new Date(e.timestamp),dev:1,gid:0,ino:e.id,mode:e.mode,mtime:new Date(e.timestamp),nlink:1,rdev:e.rdev,size:r,uid:0}}get_dialog_ref(e){let[r,t]=e.split(".");t=t.replace("glk","");let n="";return"save"===t&&(n=this.VM.Module.AsciiToString(this.VM.Module._gidispatch_get_game_id())),this.dialog.file_construct_ref(r,t,n)}llseek(e,r,t){let n=r;if(1===t)n+=e.position;else if(2===t){if("storyfile"===e.name)n+=e.data.length;else if(this.streaming){let r=e.fstream.ftell();e.fstream.fseek(0,2),n+=e.fstream.ftell(),e.fstream.fseek(r,0)}else n+=e.data.length}if(n<0)throw new this.FS.ErrnoError(28);return n}lookup(e,r){if("storyfile"!==r){let e=this.filename_map[r]||r;if(!this.dialog.file_ref_exists(this.streaming?{filename:e}:this.get_dialog_ref(e)))throw new this.FS.ErrnoError(44)}return this.createNode(e,r,33206)}mknod(e,r,t){return this.createNode(e,r,t)}mmap(){throw Error("EmglkenFS.mmap")}mount(){return this.createNode(null,"/",16895,0)}msync(){throw Error("EmglkenFS.msync")}open(e){if(e.name=e.node.name,"storyfile"===e.name)e.data=this.VM.data;else{var r;let t=1024&(r=e.flags)?5:1&r?1:2&r?3:2,n=this.filename_map[e.name]||e.name;this.streaming?e.fstream=this.dialog.file_fopen(t,{filename:n}):(e.fref=this.get_dialog_ref(n),e.fmode=t,e.data=null,1!==t&&(e.data=this.dialog.file_read(e.fref)),null==e.data&&(e.data=new Uint8Array(0),2!==t&&this.dialog.file_write(e.fref,"",!0)))}}read(e,r,t,n,o){if(0===n)return 0;if("storyfile"===e.name){let a=Math.min(e.data.length-o,n);return r.set(e.data.subarray(o,o+a),t),a}if(this.streaming){e.fstream.fseek(o,0);let a=e.fstream.BufferClass.from(r.buffer,t,n);return e.fstream.fread(a,n)}{let a=Math.min(e.data.length-o,n);return r.set(e.data.subarray(o,o+a),t),a}}readdir(){throw Error("EmglkenFS.readdir")}readlink(){throw new this.FS.ErrnoError(28)}register_filename(e,r){let t="save"===r?".glksave":"data"===r?".glkdata":".txt";if(/\.(glkdata|glksave|txt)$/.test(e)||(e+=t),this.filename_map[e])return this.filename_map[e];let n="emglken_fake_file_"+this.filename_counter++;return this.filename_map[e]=n,this.filename_map[n+t]=e,n}rename(){throw Error("EmglkenFS.rename")}rmdir(){throw Error("EmglkenFS.rmdir")}setattr(){}symlink(){throw Error("EmglkenFS.symlink")}unlink(e,r){let t=this.filename_map[r]||r;this.dialog.file_remove_ref(this.get_dialog_ref(t))}write(e,r,t,n,o){if("storyfile"===e.name)throw Error("EmglkenFS.write: cannot write to storyfile");if(this.streaming){e.fstream.fseek(o,0);let a=e.fstream.BufferClass.from(r).subarray(t,t+n);return e.fstream.fwrite(a,n)}{o=o||e.position;let a=n+o;if(a>e.data.length){let r=e.data;e.data=new Uint8Array(a),e.data.set(r)}return e.data.set(r.subarray(t,t+n),o),n}}}let rF={arguments:["storyfile"]};class rM{init(e,r){this.data=e,this.options=Object.assign({},rF,this.default_options(),r)}async start(){let e=new TextEncoder,r="",t={arguments:this.options.show_help?["-help"]:this.options.arguments,emglken_stdin_buffers:[],emglken_stdin_ready(){},locateFile(){},print:e=>{if(""!==r||""===e||e.startsWith("{")){if(r+=e,e.endsWith("}")){let e;try{e=JSON.parse(r)}catch(e){}e&&(r="",e.specialinput&&"fileref_prompt"===e.specialinput.type&&(this.last_fr_usage=e.specialinput.filetype),this.options.GlkOte.update(e))}}else console.log(e)},preRun:()=>{let e=t.FS;this.EFS=new rD(this),e.mkdir("/emglken"),e.mount(this.EFS,{},"/emglken"),e.chdir("/emglken")},wasmBinary:this.options.wasmBinary};this.Module=t,this.options.accept=r=>{"specialresponse"===r.type&&"fileref_prompt"===r.response&&r.value&&(this.EFS.streaming?r.value=this.EFS.register_filename(r.value.filename,this.last_fr_usage):r.value=r.value.filename);let n=JSON.stringify(r),o=e.encode(n);t.emglken_stdin_buffers.push(o),t.emglken_stdin_ready()},await this.options.vmcore(t),this.options.GlkOte.init(this.options)}}var rA={};rA=B("6kBsm").getBundleURL("ejVIo")+B("n9Yfb").resolve("5EF4K");var rP=(n="file:///node_modules/emglken/build/bocfel-core.js",function(e={}){var r,t,o,a,i,s,u,l,c,d,f,m,h,p,v,w,g,_,e=void 0!==e?e:{};e.ready=new Promise(function(e,r){t=e,o=r});var y=Object.assign({},e),E=[],b="./this.program",k=(e,r)=>{throw r},S="";"undefined"!=typeof document&&document.currentScript&&(S=document.currentScript.src),n&&(S=n),S=0!==S.indexOf("blob:")?S.substr(0,S.replace(/[?#].*/,"").lastIndexOf("/")+1):"",a=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},i=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{if(200==n.status||0==n.status&&n.response){r(n.response);return}t()},n.onerror=t,n.send(null)};var D=e.print||console.log.bind(console),F=e.printErr||console.warn.bind(console);Object.assign(e,y),y=null,e.arguments&&(E=e.arguments),e.thisProgram&&(b=e.thisProgram),e.quit&&(k=e.quit),e.wasmBinary&&(u=e.wasmBinary);var M=e.noExitRuntime||!1;"object"!=typeof WebAssembly&&V("no native wasm support detected");var A=!1,P=new TextDecoder("utf8");function x(e,r,t){for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;return P.decode(e.buffer?e.subarray(r,o):new Uint8Array(e.slice(r,o)))}function R(e,r){if(!e)return"";for(var t=e+r,n=e;!(n>=t)&&f[n];)++n;return P.decode(f.subarray(e,n))}function C(e,r,t,n){if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)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 T(e){for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r}function N(){var r=l.buffer;e.HEAP8=d=new Int8Array(r),e.HEAP16=m=new Int16Array(r),e.HEAP32=h=new Int32Array(r),e.HEAPU8=f=new Uint8Array(r),e.HEAPU16=new Uint16Array(r),e.HEAPU32=p=new Uint32Array(r),e.HEAPF32=new Float32Array(r),e.HEAPF64=new Float64Array(r)}var z=[],B=[],j=[],O=[],I=[],L=!1,U=0,H=0,W=null,q=null;function Y(r){H++,e.monitorRunDependencies&&e.monitorRunDependencies(H)}function G(r){if(H--,e.monitorRunDependencies&&e.monitorRunDependencies(H),0==H&&(null!==W&&(clearInterval(W),W=null),q)){var t=q;q=null,t()}}function V(r){e.onAbort&&e.onAbort(r),F(r="Aborted("+r+")"),A=!0,c=1,r+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(r);throw o(t),t}function X(e){return e.startsWith("data:application/octet-stream;base64,")}function K(e){try{if(e==v&&u)return new Uint8Array(u);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}catch(e){V(e)}}function $(e,r,t){return(u||"function"!=typeof fetch?Promise.resolve().then(function(){return K(e)}):fetch(e,{credentials:"same-origin"}).then(function(r){if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()}).catch(function(){return K(e)})).then(function(e){return WebAssembly.instantiate(e,r)}).then(function(e){return e}).then(t,function(e){F("failed to asynchronously prepare wasm: "+e),V(e)})}function J(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Z(r){for(;r.length>0;)r.shift()(e)}e.locateFile?X(v="bocfel-core.wasm")||(r=v,v=e.locateFile?e.locateFile(r,S):S+r):v=new URL(rA).href;var Q=[],ee=0,er=0;function et(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){p[this.ptr+4>>2]=e},this.get_type=function(){return p[this.ptr+4>>2]},this.set_destructor=function(e){p[this.ptr+8>>2]=e},this.get_destructor=function(){return p[this.ptr+8>>2]},this.set_refcount=function(e){h[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,d[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=d[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,d[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=d[this.ptr+13>>0]},this.init=function(e,r){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(r),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=h[this.ptr>>2];h[this.ptr>>2]=e+1},this.release_ref=function(){var e=h[this.ptr>>2];return h[this.ptr>>2]=e-1,1===e},this.set_adjusted_ptr=function(e){p[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return p[this.ptr+16>>2]},this.get_exception_ptr=function(){if(eI(this.get_type()))return p[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}function en(){var e=er;if(!e)return eN(0),0;var r=new et(e);r.set_adjusted_ptr(e);var t=r.get_type();if(!t)return eN(0),e;for(var n=0;n"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(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:e=>{var r=eo.isAbs(e),t="/"===e.substr(-1);return(e=eo.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=eo.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=eo.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return -1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return eo.normalize(e.join("/"))},join2:(e,r)=>eo.normalize(e+"/"+r)},ea={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:el.cwd();if("string"!=typeof n)throw TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=eo.isAbs(n)}return e=eo.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+e||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=ea.resolve(e).substr(1),r=ea.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s0?t:T(e)+1),o=C(e,n,0,n.length);return r&&(n.length=o),n}var es={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){es.ttys[e]={input:[],output:[],ops:r},el.registerDevice(e,es.stream_ops)},stream_ops:{open:function(e){var r=es.ttys[e.node.rdev];if(!r)throw new el.ErrnoError(43);e.tty=r,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new el.ErrnoError(60);for(var a,i=0,s=0;s0&&(D(x(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(F(x(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync:function(e){e.output&&e.output.length>0&&(F(x(e.output,0)),e.output=[])}}},eu={ops_table:null,mount:function(e){return eu.createNode(null,"/",16895,0)},createNode:function(e,r,t,n){if(el.isBlkdev(t)||el.isFIFO(t))throw new el.ErrnoError(63);eu.ops_table||(eu.ops_table={dir:{node:{getattr:eu.node_ops.getattr,setattr:eu.node_ops.setattr,lookup:eu.node_ops.lookup,mknod:eu.node_ops.mknod,rename:eu.node_ops.rename,unlink:eu.node_ops.unlink,rmdir:eu.node_ops.rmdir,readdir:eu.node_ops.readdir,symlink:eu.node_ops.symlink},stream:{llseek:eu.stream_ops.llseek}},file:{node:{getattr:eu.node_ops.getattr,setattr:eu.node_ops.setattr},stream:{llseek:eu.stream_ops.llseek,read:eu.stream_ops.read,write:eu.stream_ops.write,allocate:eu.stream_ops.allocate,mmap:eu.stream_ops.mmap,msync:eu.stream_ops.msync}},link:{node:{getattr:eu.node_ops.getattr,setattr:eu.node_ops.setattr,readlink:eu.node_ops.readlink},stream:{}},chrdev:{node:{getattr:eu.node_ops.getattr,setattr:eu.node_ops.setattr},stream:el.chrdev_stream_ops}});var o=el.createNode(e,r,t,n);return el.isDir(o.mode)?(o.node_ops=eu.ops_table.dir.node,o.stream_ops=eu.ops_table.dir.stream,o.contents={}):el.isFile(o.mode)?(o.node_ops=eu.ops_table.file.node,o.stream_ops=eu.ops_table.file.stream,o.usedBytes=0,o.contents=null):el.isLink(o.mode)?(o.node_ops=eu.ops_table.link.node,o.stream_ops=eu.ops_table.link.stream):el.isChrdev(o.mode)&&(o.node_ops=eu.ops_table.chrdev.node,o.stream_ops=eu.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},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)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}}},node_ops:{getattr:function(e){var r={};return r.dev=el.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,el.isDir(e.mode)?r.size=4096:el.isFile(e.mode)?r.size=e.usedBytes:el.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&&eu.resizeFileStorage(e,r.size)},lookup:function(e,r){throw el.genericErrors[44]},mknod:function(e,r,t,n){return eu.createNode(e,r,t,n)},rename:function(e,r,t){if(el.isDir(e.mode)){var n;try{n=el.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new el.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink:function(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir:function(e,r){var t=el.lookupNode(e,r);for(var n in t.contents)throw new el.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},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=eu.createNode(e,r,41471,0);return n.link=t,n},readlink:function(e){if(!el.isLink(e.mode))throw new el.ErrnoError(28);return e.link}},stream_ops:{read:function(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s0||t+r{if(!(e=ea.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new el.ErrnoError(32);for(var t=e.split("/").filter(e=>!!e),n=el.root,o="/",a=0;a40)throw new el.ErrnoError(32)}}return{path:o,node:n}},getPath:e=>{for(var r;;){if(el.isRoot(e)){var t=e.mount.mountpoint;if(!r)return t;return"/"!==t[t.length-1]?t+"/"+r:t+r}r=r?e.name+"/"+r:e.name,e=e.parent}},hashName:(e,r)=>{for(var t=0,n=0;n>>0)%el.nameTable.length},hashAddNode:e=>{var r=el.hashName(e.parent.id,e.name);e.name_next=el.nameTable[r],el.nameTable[r]=e},hashRemoveNode:e=>{var r=el.hashName(e.parent.id,e.name);if(el.nameTable[r]===e)el.nameTable[r]=e.name_next;else for(var t=el.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode:(e,r)=>{var t=el.mayLookup(e);if(t)throw new el.ErrnoError(t,e);for(var n=el.hashName(e.id,r),o=el.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return el.lookup(e,r)},createNode:(e,r,t,n)=>{var o=new el.FSNode(e,r,t,n);return el.hashAddNode(o),o},destroyNode:e=>{el.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>(61440&e)==32768,isDir:e=>(61440&e)==16384,isLink:e=>(61440&e)==40960,isChrdev:e=>(61440&e)==8192,isBlkdev:e=>(61440&e)==24576,isFIFO:e=>(61440&e)==4096,isSocket:e=>(49152&e)==49152,flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var r=el.flagModes[e];if(void 0===r)throw Error("Unknown file open mode: "+e);return r},flagsToPermissionString:e=>{var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>el.ignorePermissions?0:r.includes("r")&&!(292&e.mode)||r.includes("w")&&!(146&e.mode)||r.includes("x")&&!(73&e.mode)?2:0,mayLookup:e=>el.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,r)=>{try{return el.lookupNode(e,r),20}catch(e){}return el.nodePermissions(e,"wx")},mayDelete:(e,r,t)=>{try{n=el.lookupNode(e,r)}catch(e){return e.errno}var n,o=el.nodePermissions(e,"wx");if(o)return o;if(t){if(!el.isDir(n.mode))return 54;if(el.isRoot(n)||el.getPath(n)===el.cwd())return 10}else if(el.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?el.isLink(e.mode)?32:el.isDir(e.mode)&&("r"!==el.flagsToPermissionString(r)||512&r)?31:el.nodePermissions(e,el.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,r=el.MAX_OPEN_FDS)=>{for(var t=e;t<=r;t++)if(!el.streams[t])return t;throw new el.ErrnoError(33)},getStream:e=>el.streams[e],createStream:(e,r,t)=>{el.FSStream||(el.FSStream=function(){this.shared={}},el.FSStream.prototype={},Object.defineProperties(el.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return(2097155&this.flags)!=1}},isWrite:{get:function(){return(2097155&this.flags)!=0}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new el.FSStream,e);var n=el.nextfd(r,t);return e.fd=n,el.streams[n]=e,e},closeStream:e=>{el.streams[e]=null},chrdev_stream_ops:{open:e=>{var r=el.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new el.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice:(e,r)=>{el.devices[e]={stream_ops:r}},getDevice:e=>el.devices[e],getMounts:e=>{for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs:(e,r)=>{"function"==typeof e&&(r=e,e=!1),el.syncFSRequests++,el.syncFSRequests>1&&F("warning: "+el.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=el.getMounts(el.root.mount),n=0;function o(e){return el.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach(r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)})},mount:(e,r,t)=>{var n,o="/"===t,a=!t;if(o&&el.root)throw new el.ErrnoError(10);if(!o&&!a){var i=el.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,el.isMountpoint(n))throw new el.ErrnoError(10);if(!el.isDir(n.mode))throw new el.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return u.mount=s,s.root=u,o?el.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:e=>{var r=el.lookupPath(e,{follow_mount:!1});if(!el.isMountpoint(r.node))throw new el.ErrnoError(28);var t=r.node,n=t.mounted,o=el.getMounts(n);Object.keys(el.nameTable).forEach(e=>{for(var r=el.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&el.destroyNode(r),r=t}}),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod:(e,r,t)=>{var n=el.lookupPath(e,{parent:!0}).node,o=eo.basename(e);if(!o||"."===o||".."===o)throw new el.ErrnoError(28);var a=el.mayCreate(n,o);if(a)throw new el.ErrnoError(a);if(!n.node_ops.mknod)throw new el.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=(void 0!==r?r:438)&4095|32768,el.mknod(e,r,0)),mkdir:(e,r)=>(r=(void 0!==r?r:511)&1023|16384,el.mknod(e,r,0)),mkdirTree:(e,r)=>{for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,el.mknod(e,r,t)),symlink:(e,r)=>{if(!ea.resolve(e))throw new el.ErrnoError(44);var t=el.lookupPath(r,{parent:!0}).node;if(!t)throw new el.ErrnoError(44);var n=eo.basename(r),o=el.mayCreate(t,n);if(o)throw new el.ErrnoError(o);if(!t.node_ops.symlink)throw new el.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename:(e,r)=>{var t,n,o,a=eo.dirname(e),i=eo.dirname(r),s=eo.basename(e),u=eo.basename(r);if(t=el.lookupPath(e,{parent:!0}).node,n=el.lookupPath(r,{parent:!0}).node,!t||!n)throw new el.ErrnoError(44);if(t.mount!==n.mount)throw new el.ErrnoError(75);var l=el.lookupNode(t,s),c=ea.relative(e,i);if("."!==c.charAt(0))throw new el.ErrnoError(28);if("."!==(c=ea.relative(r,a)).charAt(0))throw new el.ErrnoError(55);try{o=el.lookupNode(n,u)}catch(e){}if(l!==o){var d=el.isDir(l.mode),f=el.mayDelete(t,s,d);if(f||(f=o?el.mayDelete(n,u,d):el.mayCreate(n,u)))throw new el.ErrnoError(f);if(!t.node_ops.rename)throw new el.ErrnoError(63);if(el.isMountpoint(l)||o&&el.isMountpoint(o))throw new el.ErrnoError(10);if(n!==t&&(f=el.nodePermissions(t,"w")))throw new el.ErrnoError(f);el.hashRemoveNode(l);try{t.node_ops.rename(l,n,u)}catch(e){throw e}finally{el.hashAddNode(l)}}},rmdir:e=>{var r=el.lookupPath(e,{parent:!0}).node,t=eo.basename(e),n=el.lookupNode(r,t),o=el.mayDelete(r,t,!0);if(o)throw new el.ErrnoError(o);if(!r.node_ops.rmdir)throw new el.ErrnoError(63);if(el.isMountpoint(n))throw new el.ErrnoError(10);r.node_ops.rmdir(r,t),el.destroyNode(n)},readdir:e=>{var r=el.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new el.ErrnoError(54);return r.node_ops.readdir(r)},unlink:e=>{var r=el.lookupPath(e,{parent:!0}).node;if(!r)throw new el.ErrnoError(44);var t=eo.basename(e),n=el.lookupNode(r,t),o=el.mayDelete(r,t,!1);if(o)throw new el.ErrnoError(o);if(!r.node_ops.unlink)throw new el.ErrnoError(63);if(el.isMountpoint(n))throw new el.ErrnoError(10);r.node_ops.unlink(r,t),el.destroyNode(n)},readlink:e=>{var r=el.lookupPath(e).node;if(!r)throw new el.ErrnoError(44);if(!r.node_ops.readlink)throw new el.ErrnoError(28);return ea.resolve(el.getPath(r.parent),r.node_ops.readlink(r))},stat:(e,r)=>{var t=el.lookupPath(e,{follow:!r}).node;if(!t)throw new el.ErrnoError(44);if(!t.node_ops.getattr)throw new el.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>el.stat(e,!0),chmod:(e,r,t)=>{var n;if(!(n="string"==typeof e?el.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new el.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod:(e,r)=>{el.chmod(e,r,!0)},fchmod:(e,r)=>{var t=el.getStream(e);if(!t)throw new el.ErrnoError(8);el.chmod(t.node,r)},chown:(e,r,t,n)=>{var o;if(!(o="string"==typeof e?el.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new el.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,r,t)=>{el.chown(e,r,t,!0)},fchown:(e,r,t)=>{var n=el.getStream(e);if(!n)throw new el.ErrnoError(8);el.chown(n.node,r,t)},truncate:(e,r)=>{if(r<0)throw new el.ErrnoError(28);if("string"==typeof e){var t;t=el.lookupPath(e,{follow:!0}).node}else t=e;if(!t.node_ops.setattr)throw new el.ErrnoError(63);if(el.isDir(t.mode))throw new el.ErrnoError(31);if(!el.isFile(t.mode))throw new el.ErrnoError(28);var n=el.nodePermissions(t,"w");if(n)throw new el.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate:(e,r)=>{var t=el.getStream(e);if(!t)throw new el.ErrnoError(8);if((2097155&t.flags)==0)throw new el.ErrnoError(28);el.truncate(t.node,r)},utime:(e,r,t)=>{var n=el.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open:(r,t,n)=>{if(""===r)throw new el.ErrnoError(44);if(t="string"==typeof t?el.modeStringToFlags(t):t,n=void 0===n?438:n,n=64&t?4095&n|32768:0,"object"==typeof r)o=r;else{r=eo.normalize(r);try{var o;o=el.lookupPath(r,{follow:!(131072&t)}).node}catch(e){}}var a=!1;if(64&t){if(o){if(128&t)throw new el.ErrnoError(20)}else o=el.mknod(r,n,0),a=!0}if(!o)throw new el.ErrnoError(44);if(el.isChrdev(o.mode)&&(t&=-513),65536&t&&!el.isDir(o.mode))throw new el.ErrnoError(54);if(!a){var i=el.mayOpen(o,t);if(i)throw new el.ErrnoError(i)}512&t&&!a&&el.truncate(o,0),t&=-131713;var s=el.createStream({node:o,path:el.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!e.logReadFiles||1&t||(el.readFiles||(el.readFiles={}),r in el.readFiles||(el.readFiles[r]=1)),s},close:e=>{if(el.isClosed(e))throw new el.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{el.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,r,t)=>{if(el.isClosed(e))throw new el.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new el.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new el.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read:(e,r,t,n,o)=>{if(n<0||o<0)throw new el.ErrnoError(28);if(el.isClosed(e)||(2097155&e.flags)==1)throw new el.ErrnoError(8);if(el.isDir(e.node.mode))throw new el.ErrnoError(31);if(!e.stream_ops.read)throw new el.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new el.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write:(e,r,t,n,o,a)=>{if(n<0||o<0)throw new el.ErrnoError(28);if(el.isClosed(e)||(2097155&e.flags)==0)throw new el.ErrnoError(8);if(el.isDir(e.node.mode))throw new el.ErrnoError(31);if(!e.stream_ops.write)throw new el.ErrnoError(28);e.seekable&&1024&e.flags&&el.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new el.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},allocate:(e,r,t)=>{if(el.isClosed(e))throw new el.ErrnoError(8);if(r<0||t<=0)throw new el.ErrnoError(28);if((2097155&e.flags)==0)throw new el.ErrnoError(8);if(!el.isFile(e.node.mode)&&!el.isDir(e.node.mode))throw new el.ErrnoError(43);if(!e.stream_ops.allocate)throw new el.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap:(e,r,t,n,o)=>{if((2&n)!=0&&(2&o)==0&&(2097155&e.flags)!=2||(2097155&e.flags)==1)throw new el.ErrnoError(2);if(!e.stream_ops.mmap)throw new el.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl:(e,r,t)=>{if(!e.stream_ops.ioctl)throw new el.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile:(e,r={})=>{if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw Error('Invalid encoding type "'+r.encoding+'"');var t,n=el.open(e,r.flags),o=el.stat(e).size,a=new Uint8Array(o);return el.read(n,a,0,o,0),"utf8"===r.encoding?t=x(a,0):"binary"===r.encoding&&(t=a),el.close(n),t},writeFile:(e,r,t={})=>{t.flags=t.flags||577;var n=el.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(T(r)+1),a=C(r,o,0,o.length);el.write(n,o,0,a,void 0,t.canOwn)}else if(ArrayBuffer.isView(r))el.write(n,r,0,r.byteLength,void 0,t.canOwn);else throw Error("Unsupported data type");el.close(n)},cwd:()=>el.currentPath,chdir:e=>{var r=el.lookupPath(e,{follow:!0});if(null===r.node)throw new el.ErrnoError(44);if(!el.isDir(r.node.mode))throw new el.ErrnoError(54);var t=el.nodePermissions(r.node,"x");if(t)throw new el.ErrnoError(t);el.currentPath=r.path},createDefaultDirectories:()=>{el.mkdir("/tmp"),el.mkdir("/home"),el.mkdir("/home/web_user")},createDefaultDevices:()=>{el.mkdir("/dev"),el.registerDevice(el.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),el.mkdev("/dev/null",el.makedev(1,3)),es.register(el.makedev(5,0),es.default_tty_ops),es.register(el.makedev(6,0),es.default_tty1_ops),el.mkdev("/dev/tty",el.makedev(5,0)),el.mkdev("/dev/tty1",el.makedev(6,0));var e=function(){if("object"!=typeof crypto||"function"!=typeof crypto.getRandomValues)return()=>V("randomDevice");var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}();el.createDevice("/dev","random",e),el.createDevice("/dev","urandom",e),el.mkdir("/dev/shm"),el.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{el.mkdir("/proc");var e=el.mkdir("/proc/self");el.mkdir("/proc/self/fd"),el.mount({mount:()=>{var r=el.createNode(e,"fd",16895,73);return r.node_ops={lookup:(e,r)=>{var t=el.getStream(+r);if(!t)throw new el.ErrnoError(8);var n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>t.path}};return n.parent=n,n}},r}},{},"/proc/self/fd")},createStandardStreams:()=>{e.stdin?el.createDevice("/dev","stdin",e.stdin):el.symlink("/dev/tty","/dev/stdin"),e.stdout?el.createDevice("/dev","stdout",null,e.stdout):el.symlink("/dev/tty","/dev/stdout"),e.stderr?el.createDevice("/dev","stderr",null,e.stderr):el.symlink("/dev/tty1","/dev/stderr"),el.open("/dev/stdin",0),el.open("/dev/stdout",1),el.open("/dev/stderr",1)},ensureErrnoError:()=>{el.ErrnoError||(el.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},el.ErrnoError.prototype=Error(),el.ErrnoError.prototype.constructor=el.ErrnoError,[44].forEach(e=>{el.genericErrors[e]=new el.ErrnoError(e),el.genericErrors[e].stack=""}))},staticInit:()=>{el.ensureErrnoError(),el.nameTable=Array(4096),el.mount(eu,{},"/"),el.createDefaultDirectories(),el.createDefaultDevices(),el.createSpecialDirectories(),el.filesystems={MEMFS:eu}},init:(r,t,n)=>{el.init.initialized=!0,el.ensureErrnoError(),e.stdin=r||e.stdin,e.stdout=t||e.stdout,e.stderr=n||e.stderr,el.createStandardStreams()},quit:()=>{el.init.initialized=!1,eM(0);for(var e=0;e{var t=0;return e&&(t|=365),r&&(t|=146),t},findObject:(e,r)=>{var t=el.analyzePath(e,r);return t.exists?t.object:null},analyzePath:(e,r)=>{try{var t=el.lookupPath(e,{follow:!r});e=t.path}catch(e){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var t=el.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=t.path,n.parentObject=t.node,n.name=eo.basename(e),t=el.lookupPath(e,{follow:!r}),n.exists=!0,n.path=t.path,n.object=t.node,n.name=t.node.name,n.isRoot="/"===t.path}catch(e){n.error=e.errno}return n},createPath:(e,r,t,n)=>{e="string"==typeof e?e:el.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var i=eo.join2(e,a);try{el.mkdir(i)}catch(e){}e=i}}return i},createFile:(e,r,t,n,o)=>{var a=eo.join2("string"==typeof e?e:el.getPath(e),r),i=el.getMode(n,o);return el.create(a,i)},createDataFile:(e,r,t,n,o,a)=>{var i=r;e&&(e="string"==typeof e?e:el.getPath(e),i=r?eo.join2(e,r):e);var s=el.getMode(n,o),u=el.create(i,s);if(t){if("string"==typeof t){for(var l=Array(t.length),c=0,d=t.length;c{var o=eo.join2("string"==typeof e?e:el.getPath(e),r),a=el.getMode(!!t,!!n);el.createDevice.major||(el.createDevice.major=64);var i=el.makedev(el.createDevice.major++,0);return el.registerDevice(i,{open:e=>{e.seekable=!1},close:e=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(e,r,n,o,a)=>{for(var i,s=0,u=0;u{for(var i=0;i{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw 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(a)try{e.contents=ei(a(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new el.ErrnoError(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile:(e,r,t,n,o)=>{function a(){this.lengthKnown=!1,this.chunks=[]}if(a.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]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e,r=new XMLHttpRequest;if(r.open("HEAD",t,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw Error("Couldn't load "+t+". Status: "+r.status);var n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=(e,r)=>{if(e>r)throw Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+e+"-"+r),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 Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):ei(o.responseText||"",!0)},u=this;u.setDataGetter(e=>{var r=e*i,t=(e+1)*i-1;if(t=Math.min(t,n-1),void 0===u.chunks[e]&&(u.chunks[e]=s(r,t)),void 0===u.chunks[e])throw Error("doXHR failed!");return u.chunks[e]}),(a||!n)&&(i=n=1,i=n=this.getter(0).length,D("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){var i;throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"}var i={isDevice:!1,url:t},s=el.createFile(e,r,i,n,o);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s{var r=s.stream_ops[e];u[e]=function(){return el.forceLoadFile(s),r.apply(null,arguments)}}),u.read=(e,r,t,n,o)=>(el.forceLoadFile(s),l(e,r,t,n,o)),u.mmap=(e,r,t,n,o)=>{el.forceLoadFile(s);var a=void V();if(!a)throw new el.ErrnoError(48);return l(e,d,a,r,t),{ptr:a,allocated:!0}},s.stream_ops=u,s},createPreloadedFile:(e,r,t,n,o,a,s,u,l,c)=>{var d,f,m=r?ea.resolve(eo.join2(e,r)):e,h="cp "+m;function p(t){function i(t){c&&c(),u||el.createDataFile(e,r,t,n,o,l),a&&a(),G(h)}Browser.handledByPreloadPlugin(t,m,i,()=>{s&&s(),G(h)})||i(t)}Y(h),"string"==typeof t?(d=e=>p(e),f="al "+t,i(t,e=>{var r;r='Loading data file "'+t+'" failed (no arrayBuffer).',e||V(r),d(new Uint8Array(e)),f&&G(f)},e=>{if(s)s();else throw'Loading data file "'+t+'" failed.'}),f&&Y(f)):p(t)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,r=()=>{},t=()=>{})=>{var n=el.indexedDB();try{var o=n.open(el.DB_NAME(),el.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=()=>{D("creating db"),o.result.createObjectStore(el.DB_STORE_NAME)},o.onsuccess=()=>{var n=o.result.transaction([el.DB_STORE_NAME],"readwrite"),a=n.objectStore(el.DB_STORE_NAME),i=0,s=0,u=e.length;function l(){0==s?r():t()}e.forEach(e=>{var r=a.put(el.analyzePath(e).object.contents,e);r.onsuccess=()=>{++i+s==u&&l()},r.onerror=()=>{i+ ++s==u&&l()}}),n.onerror=t},o.onerror=t},loadFilesFromDB:(e,r=()=>{},t=()=>{})=>{var n=el.indexedDB();try{var o=n.open(el.DB_NAME(),el.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=t,o.onsuccess=()=>{var n=o.result;try{var a=n.transaction([el.DB_STORE_NAME],"readonly")}catch(e){t(e);return}var i=a.objectStore(el.DB_STORE_NAME),s=0,u=0,l=e.length;function c(){0==u?r():t()}e.forEach(e=>{var r=i.get(e);r.onsuccess=()=>{el.analyzePath(e).exists&&el.unlink(e),el.createDataFile(eo.dirname(e),eo.basename(e),r.result,!0,!0,!0),++s+u==l&&c()},r.onerror=()=>{s+ ++u==l&&c()}}),a.onerror=t},o.onerror=t}},ec={DEFAULT_POLLMASK:5,calculateAt:function(e,r,t){if(eo.isAbs(r))return r;if(-100===e)n=el.cwd();else{var n;n=ec.getStreamFromFD(e).path}if(0==r.length){if(!t)throw new el.ErrnoError(44);return n}return eo.join2(n,r)},doStat:function(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&eo.normalize(r)!==eo.normalize(el.getPath(e.node)))return -54;throw e}h[t>>2]=n.dev,h[t+8>>2]=n.ino,h[t+12>>2]=n.mode,p[t+16>>2]=n.nlink,h[t+20>>2]=n.uid,h[t+24>>2]=n.gid,h[t+28>>2]=n.rdev,g=[n.size>>>0,+Math.abs(w=n.size)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+40>>2]=g[0],h[t+44>>2]=g[1],h[t+48>>2]=4096,h[t+52>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return g=[Math.floor(o/1e3)>>>0,+Math.abs(w=Math.floor(o/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+56>>2]=g[0],h[t+60>>2]=g[1],p[t+64>>2]=o%1e3*1e3,g=[Math.floor(a/1e3)>>>0,+Math.abs(w=Math.floor(a/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+72>>2]=g[0],h[t+76>>2]=g[1],p[t+80>>2]=a%1e3*1e3,g=[Math.floor(i/1e3)>>>0,+Math.abs(w=Math.floor(i/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+88>>2]=g[0],h[t+92>>2]=g[1],p[t+96>>2]=i%1e3*1e3,g=[n.ino>>>0,+Math.abs(w=n.ino)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+104>>2]=g[0],h[t+108>>2]=g[1],0},doMsync:function(e,r,t,n,o){if(!el.isFile(r.node.mode))throw new el.ErrnoError(43);if(2&n)return 0;var a=f.slice(e,e+t);el.msync(r,a,o,t,n)},varargs:void 0,get:function(){return ec.varargs+=4,h[ec.varargs-4>>2]},getStr:function(e){return R(e)},getStreamFromFD:function(e){var r=el.getStream(e);if(!r)throw new el.ErrnoError(8);return r}};function ed(e){return e%4==0&&(e%100!=0||e%400==0)}var ef=[0,31,60,91,121,152,182,213,244,274,305,335],em=[0,31,59,90,120,151,181,212,243,273,304,334];function eh(e){var r=T(e)+1,t=ex(r);return t&&C(e,d,t,r),t}var ep={};function ev(){if(!ev.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:b||"./this.program"};for(var r in ep)void 0===ep[r]?delete e[r]:e[r]=ep[r];var t=[];for(var r in e)t.push(r+"="+e[r]);ev.strings=t}return ev.strings}function ew(r,t){c=r,M||U>0||(eC(),Z(O),el.quit(),es.shutdown(),L=!0),c=r,M||U>0||(e.onExit&&e.onExit(r),A=!0),k(r,new J(r))}var eg=[31,29,31,30,31,30,31,31,30,31,30,31],e_=[31,28,31,30,31,30,31,31,30,31,30,31];function ey(e,r,t,n){var o=h[n+40>>2],a={tm_sec:h[n>>2],tm_min:h[n+4>>2],tm_hour:h[n+8>>2],tm_mday:h[n+12>>2],tm_mon:h[n+16>>2],tm_year:h[n+20>>2],tm_wday:h[n+24>>2],tm_yday:h[n+28>>2],tm_isdst:h[n+32>>2],tm_gmtoff:h[n+36>>2],tm_zone:o?R(o):""},i=R(t),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in s)i=i.replace(RegExp(u,"g"),s[u]);var l=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function f(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length0?1:0}return 0===(t=n(e.getFullYear()-r.getFullYear()))&&0===(t=n(e.getMonth()-r.getMonth()))&&(t=n(e.getDate()-r.getDate())),t}function v(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function w(e){var r=function(e,r){for(var t=new Date(e.getTime());r>0;){var n=ed(t.getFullYear()),o=t.getMonth(),a=(n?eg:e_)[o];if(r>a-t.getDate())r-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1));else{t.setDate(t.getDate()+r);break}}return t}(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),o=v(t),a=v(n);return 0>=p(o,r)?0>=p(a,r)?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var g={"%a":function(e){return l[e.tm_wday].substring(0,3)},"%A":function(e){return l[e.tm_wday]},"%b":function(e){return c[e.tm_mon].substring(0,3)},"%B":function(e){return c[e.tm_mon]},"%C":function(e){return m((e.tm_year+1900)/100|0,2)},"%d":function(e){return m(e.tm_mday,2)},"%e":function(e){return f(e.tm_mday,2," ")},"%g":function(e){return w(e).toString().substring(2)},"%G":function(e){return w(e)},"%H":function(e){return m(e.tm_hour,2)},"%I":function(e){var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),m(r,2)},"%j":function(e){return m(e.tm_mday+function(e,r){for(var t=0,n=0;n<=r;t+=e[n++]);return t}(ed(e.tm_year+1900)?eg:e_,e.tm_mon-1),3)},"%m":function(e){return m(e.tm_mon+1,2)},"%M":function(e){return m(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return m(e.tm_sec,2)},"%t":function(){return" "},"%u":function(e){return e.tm_wday||7},"%U":function(e){return m(Math.floor((e.tm_yday+7-e.tm_wday)/7),2)},"%V":function(e){var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&ed(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&ed(e.tm_year%400-1))&&r++}return m(r,2)},"%w":function(e){return e.tm_wday},"%W":function(e){return m(Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var r=e.tm_gmtoff;return(r>=0?"+":"-")+String("0000"+(r=(r=Math.abs(r)/60)/60*100+r%60)).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var u in i=i.replace(/%%/g,"\x00\x00"),g)i.includes(u)&&(i=i.replace(RegExp(u,"g"),g[u](a)));var _=ei(i=i.replace(/\0\0/g,"%"),!1);return _.length>r?0:(d.set(_,e),_.length-1)}function eE(e){if(e instanceof J||"unwind"==e)return c;k(1,e)}function eb(e){try{return e()}catch(e){V(e)}}var ek={instrumentWasmImports:function(e){var r=["invoke_*","emscripten_sleep","emscripten_wget","emscripten_wget_data","emscripten_idb_load","emscripten_idb_store","emscripten_idb_delete","emscripten_idb_exists","emscripten_idb_load_blob","emscripten_idb_store_blob","SDL_Delay","emscripten_scan_registers","emscripten_lazy_load_code","emscripten_fiber_swap","__load_secondary_module","fd_sync","__wasi_fd_sync","_emval_await","_dlopen_js","__asyncjs__*"];for(var t in e)!function(t){var n=e[t];n.sig,"function"==typeof n&&(r.indexOf(t)>=0||t.startsWith("__asyncjs__"))}(t)},instrumentWasmExports:function(e){var r={};for(var t in e)!function(t){var n=e[t];"function"==typeof n?r[t]=function(){ek.exportCallStack.push(t);try{return n.apply(null,arguments)}finally{A||(ek.exportCallStack.pop()===t||V(void 0),ek.maybeStopUnwind())}}:r[t]=n}(t);return r},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:8192,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId:function(e){var r=ek.callStackNameToId[e];return void 0===r&&(r=ek.callStackId++,ek.callStackNameToId[e]=r,ek.callStackIdToName[r]=e),r},maybeStopUnwind:function(){ek.currData&&ek.state===ek.State.Unwinding&&0===ek.exportCallStack.length&&(ek.state=ek.State.Normal,U+=1,eb(e7),"undefined"!=typeof Fibers&&Fibers.trampoline())},whenDone:function(){return new Promise((e,r)=>{ek.asyncPromiseHandlers={resolve:e,reject:r}})},allocateData:function(){var e=ex(12+ek.StackSize);return ek.setDataHeader(e,e+12,ek.StackSize),ek.setDataRewindFunc(e),e},setDataHeader:function(e,r,t){h[e>>2]=r,h[e+4>>2]=r+t},setDataRewindFunc:function(e){var r=ek.exportCallStack[0],t=ek.getCallStackId(r);h[e+8>>2]=t},getDataRewindFunc:function(r){var t=h[r+8>>2],n=ek.callStackIdToName[t];return e.asm[n]},doRewind:function(e){var r=ek.getDataRewindFunc(e);return U-=1,r()},handleSleep:function(e){if(!A){if(ek.state===ek.State.Normal){var r=!1,t=!1;e((e=0)=>{if(!A&&(ek.handleSleepReturnValue=e,r=!0,t)){ek.state=ek.State.Rewinding,eb(()=>re(ek.currData)),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.resume();var n,o=!1;try{n=ek.doRewind(ek.currData)}catch(e){n=e,o=!0}var a=!1;if(!ek.currData){var i=ek.asyncPromiseHandlers;i&&(ek.asyncPromiseHandlers=null,(o?i.reject:i.resolve)(n),a=!0)}if(o&&!a)throw n}}),t=!0,r||(ek.state=ek.State.Unwinding,ek.currData=ek.allocateData(),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.pause(),eb(()=>e5(ek.currData)))}else ek.state===ek.State.Rewinding?(ek.state=ek.State.Normal,eb(rr),eR(ek.currData),ek.currData=null,ek.sleepCallbacks.forEach(e=>(function(e){if(!L&&!A)try{e(),function(){if(!(M||U>0))try{ew(c)}catch(e){eE(e)}}()}catch(e){eE(e)}})(e))):V("invalid state: "+ek.state);return ek.handleSleepReturnValue}},handleAsync:function(e){return ek.handleSleep(r=>{e().then(r)})}},eS=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=el.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n};Object.defineProperties(eS.prototype,{read:{get:function(){return(365&this.mode)==365},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return(146&this.mode)==146},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return el.isDir(this.mode)}},isDevice:{get:function(){return el.isChrdev(this.mode)}}}),el.FSNode=eS,el.staticInit();var eD={S:function(r,t){return ek.handleAsync(async()=>{e.emglken_stdin_buffers.length||await new Promise(r=>{e.emglken_stdin_ready=r});let n=e.emglken_stdin_buffers.shift(),o=Math.min(n.length,t);return o==n.length?f.set(n,r):(f.set(n.subarray(0,o),r),e.emglken_stdin_buffers.unshift(n.subarray(o))),o})},k:function(e){var r=new et(e);return!r.get_caught()&&(r.set_caught(!0),ee--),r.set_rethrown(!1),Q.push(r),function(e){e.add_ref()}(r),r.get_exception_ptr()},n:function(){eT(0),function(e){if(e.release_ref()&&!e.get_rethrown()){var r,t=e.get_destructor();t&&(r=e.excPtr,eL.apply(null,[t,r])),eF(e.excPtr)}}(Q.pop()),er=0},a:en,d:en,m:en,s:en,x:en,ca:en,K:function(){var e=Q.pop();e||V("no exception to throw");var r=e.excPtr;throw!e.get_rethrown()&&(Q.push(e),e.set_rethrown(!0),e.set_caught(!1),ee++),er=r,r},o:function(e,r,t){throw new et(e).init(r,t),er=e,ee++,e},ba:function(){return ee},g:function(e){throw er||(er=e),e},aa:function(e,r,t,n){try{if(r=ec.getStr(r),r=ec.calculateAt(e,r),-8&t)return -28;var o=el.lookupPath(r,{follow:!0}).node;if(!o)return -44;var a="";if(4&t&&(a+="r"),2&t&&(a+="w"),1&t&&(a+="x"),a&&el.nodePermissions(o,a))return -2;return 0}catch(e){if(void 0===el||"ErrnoError"!==e.name)throw e;return-e.errno}},J:function(e,r,t){ec.varargs=t;try{var n=ec.getStreamFromFD(e);switch(r){case 0:var o=ec.get();if(o<0)return -28;return el.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=ec.get();return n.flags|=o,0;case 5:var o=ec.get();return m[o+0>>1]=2,0;case 16:case 8:default:return -28;case 9:return h[eA()>>2]=28,-1}}catch(e){if(void 0===el||"ErrnoError"!==e.name)throw e;return-e.errno}},$:function(e,r){try{if(0===r)return -28;var t=el.cwd(),n=T(t)+1;if(r>2]=0,0;case 21520:if(!n.tty)return -59;return -28;case 21531:var o=ec.get();return el.ioctl(n,r,o);default:return -28}}catch(e){if(void 0===el||"ErrnoError"!==e.name)throw e;return-e.errno}},Z:function(e,r,t,n){ec.varargs=n;try{r=ec.getStr(r),r=ec.calculateAt(e,r);var o=n?ec.get():0;return el.open(r,t,o).fd}catch(e){if(void 0===el||"ErrnoError"!==e.name)throw e;return-e.errno}},V:function(){return!0},U:function(e,r){var t=new Date(1e3*(p[e>>2]+4294967296*h[e+4>>2]));h[r>>2]=t.getSeconds(),h[r+4>>2]=t.getMinutes(),h[r+8>>2]=t.getHours(),h[r+12>>2]=t.getDate(),h[r+16>>2]=t.getMonth(),h[r+20>>2]=t.getFullYear()-1900,h[r+24>>2]=t.getDay();var n=0|(ed(t.getFullYear())?ef:em)[t.getMonth()]+t.getDate()-1;h[r+28>>2]=n,h[r+36>>2]=-(60*t.getTimezoneOffset());var o=new Date(t.getFullYear(),0,1),a=new Date(t.getFullYear(),6,1).getTimezoneOffset(),i=o.getTimezoneOffset(),s=0|(a!=i&&t.getTimezoneOffset()==Math.min(i,a));h[r+32>>2]=s},T:function(e,r,t){var n=new Date().getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),i=o.getTimezoneOffset(),s=a.getTimezoneOffset();function u(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}p[e>>2]=60*Math.max(i,s),h[r>>2]=Number(i!=s);var l=u(o),c=u(a),d=eh(l),f=eh(c);s>2]=d,p[t+4>>2]=f):(p[t>>2]=f,p[t+4>>2]=d)},D:function(){V("")},B:function(){return Date.now()},R:function(e,r,t){f.copyWithin(e,r,r+t)},Q:function(e){var r=f.length;if((e>>>=0)>2147483648)return!1;let t=(e,r)=>e+(r-e%r)%r;for(var n=1;n<=4;n*=2){var o=r*(1+.2/n);if(o=Math.min(o,e+100663296),function(e){var r=l.buffer;try{return l.grow(e-r.byteLength+65535>>>16),N(),1}catch(e){}}(Math.min(2147483648,t(Math.max(e,o),65536))))return!0}return!1},Y:function(e,r){var t=0;return ev().forEach(function(n,o){var a=r+t;p[e+4*o>>2]=a,function(e,r,t){for(var n=0;n>0]=e.charCodeAt(n);d[r>>0]=0}(n,a),t+=n.length+1}),0},X:function(e,r){var t=ev();p[e>>2]=t.length;var n=0;return t.forEach(function(e){n+=e.length+1}),p[r>>2]=n,0},C:ew,I:function(e){try{var r=ec.getStreamFromFD(e);return el.close(r),0}catch(e){if(void 0===el||"ErrnoError"!==e.name)throw e;return e.errno}},W:function(e,r,t,n){try{var o=ec.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=el.read(e,d,i,s,n);if(u<0)return -1;if(o+=u,u>2]=a,0}catch(e){if(void 0===el||"ErrnoError"!==e.name)throw e;return e.errno}},P:function(e,r,t,n,o){try{var a=t+2097152>>>0<4194305-!!r?(r>>>0)+4294967296*t:NaN;if(isNaN(a))return 61;var i=ec.getStreamFromFD(e);return el.llseek(i,a,n),g=[i.position>>>0,(w=i.position,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],h[o>>2]=g[0],h[o+4>>2]=g[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===el||"ErrnoError"!==e.name)throw e;return e.errno}},H:function(e,r,t,n){try{var o=ec.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=el.write(e,d,i,s,n);if(u<0)return -1;o+=u,void 0!==n&&(n+=u)}return o}(o,r,t);return p[n>>2]=a,0}catch(e){if(void 0===el||"ErrnoError"!==e.name)throw e;return e.errno}},G:function(e,r,t,n){var o=ez();try{return e4(e,r,t,n)}catch(e){if(eB(o),e!==e+0)throw e;eT(1,0)}},F:function(e,r,t,n){var o=ez();try{return e2(e,r,t,n)}catch(e){if(eB(o),e!==e+0)throw e;eT(1,0)}},q:function(e){var r=ez();try{return eK(e)}catch(e){if(eB(r),e!==e+0)throw e;eT(1,0)}},b:function(e,r){var t=ez();try{return eL(e,r)}catch(e){if(eB(t),e!==e+0)throw e;eT(1,0)}},c:function(e,r,t){var n=ez();try{return eY(e,r,t)}catch(e){if(eB(n),e!==e+0)throw e;eT(1,0)}},e:function(e,r,t,n){var o=ez();try{return eU(e,r,t,n)}catch(e){if(eB(o),e!==e+0)throw e;eT(1,0)}},p:function(e,r,t,n,o){var a=ez();try{return eX(e,r,t,n,o)}catch(e){if(eB(a),e!==e+0)throw e;eT(1,0)}},u:function(e,r,t,n,o,a){var i=ez();try{return eV(e,r,t,n,o,a)}catch(e){if(eB(i),e!==e+0)throw e;eT(1,0)}},w:function(e,r,t,n,o,a,i){var s=ez();try{return e$(e,r,t,n,o,a,i)}catch(e){if(eB(s),e!==e+0)throw e;eT(1,0)}},E:function(e,r,t,n,o,a,i,s){var u=ez();try{return e0(e,r,t,n,o,a,i,s)}catch(e){if(eB(u),e!==e+0)throw e;eT(1,0)}},A:function(e,r,t,n,o,a,i,s,u,l,c,d){var f=ez();try{return e3(e,r,t,n,o,a,i,s,u,l,c,d)}catch(e){if(eB(f),e!==e+0)throw e;eT(1,0)}},O:function(e,r){var t=ez();try{return eZ(e,r)}catch(e){if(eB(t),e!==e+0)throw e;eT(1,0)}},N:function(e,r,t,n,o){var a=ez();try{return e1(e,r,t,n,o)}catch(e){if(eB(a),e!==e+0)throw e;eT(1,0)}},h:function(e){var r=ez();try{eW(e)}catch(e){if(eB(r),e!==e+0)throw e;eT(1,0)}},i:function(e,r){var t=ez();try{eq(e,r)}catch(e){if(eB(t),e!==e+0)throw e;eT(1,0)}},f:function(e,r,t){var n=ez();try{eG(e,r,t)}catch(e){if(eB(n),e!==e+0)throw e;eT(1,0)}},j:function(e,r,t,n){var o=ez();try{eH(e,r,t,n)}catch(e){if(eB(o),e!==e+0)throw e;eT(1,0)}},r:function(e,r,t,n,o){var a=ez();try{eJ(e,r,t,n,o)}catch(e){if(eB(a),e!==e+0)throw e;eT(1,0)}},t:function(e,r,t,n,o,a){var i=ez();try{eQ(e,r,t,n,o,a)}catch(e){if(eB(i),e!==e+0)throw e;eT(1,0)}},v:function(e,r,t,n,o,a,i,s){var u=ez();try{e6(e,r,t,n,o,a,i,s)}catch(e){if(eB(u),e!==e+0)throw e;eT(1,0)}},y:function(e,r,t,n,o,a,i,s,u,l,c){var d=ez();try{e9(e,r,t,n,o,a,i,s,u,l,c)}catch(e){if(eB(d),e!==e+0)throw e;eT(1,0)}},z:function(e,r,t,n,o,a,i,s,u,l,c,d,f,m,h,p){var v=ez();try{e8(e,r,t,n,o,a,i,s,u,l,c,d,f,m,h,p)}catch(e){if(eB(v),e!==e+0)throw e;eT(1,0)}},l:function(e){return e},M:ey,L:function(e,r,t,n,o){return ey(e,r,t,n)}};!function(){var r,t,n,a={a:eD};function i(r,t){var n,o=r.exports;return o=ek.instrumentWasmExports(o),e.asm=o,l=e.asm.da,N(),e.asm.na,n=e.asm.ea,B.unshift(n),G("wasm-instantiate"),o}if(Y("wasm-instantiate"),e.instantiateWasm)try{return e.instantiateWasm(a,i)}catch(e){F("Module.instantiateWasm callback failed with error: "+e),o(e)}(r=u,t=v,n=function(e){i(e.instance)},r||"function"!=typeof WebAssembly.instantiateStreaming||X(t)||"function"!=typeof fetch?$(t,a,n):fetch(t,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,a).then(n,function(e){return F("wasm streaming compile failed: "+e),F("falling back to ArrayBuffer instantiation"),$(t,a,n)})})).catch(o)}();var eF=function(){return(eF=e.asm.fa).apply(null,arguments)},eM=e._fflush=function(){return(eM=e._fflush=e.asm.ga).apply(null,arguments)},eA=function(){return(eA=e.asm.ha).apply(null,arguments)},eP=e._main=function(){return(eP=e._main=e.asm.ia).apply(null,arguments)},ex=function(){return(ex=e.asm.ja).apply(null,arguments)},eR=function(){return(eR=e.asm.ka).apply(null,arguments)},eC=(e._gidispatch_get_game_id=function(){return(e._gidispatch_get_game_id=e.asm.la).apply(null,arguments)},function(){return(eC=e.asm.ma).apply(null,arguments)}),eT=function(){return(eT=e.asm.oa).apply(null,arguments)},eN=function(){return(eN=e.asm.pa).apply(null,arguments)},ez=function(){return(ez=e.asm.qa).apply(null,arguments)},eB=function(){return(eB=e.asm.ra).apply(null,arguments)},ej=function(){return(ej=e.asm.sa).apply(null,arguments)},eO=function(){return(eO=e.asm.ta).apply(null,arguments)},eI=function(){return(eI=e.asm.ua).apply(null,arguments)},eL=e.dynCall_ii=function(){return(eL=e.dynCall_ii=e.asm.va).apply(null,arguments)},eU=e.dynCall_iiii=function(){return(eU=e.dynCall_iiii=e.asm.wa).apply(null,arguments)},eH=e.dynCall_viii=function(){return(eH=e.dynCall_viii=e.asm.xa).apply(null,arguments)},eW=e.dynCall_v=function(){return(eW=e.dynCall_v=e.asm.ya).apply(null,arguments)},eq=e.dynCall_vi=function(){return(eq=e.dynCall_vi=e.asm.za).apply(null,arguments)},eY=e.dynCall_iii=function(){return(eY=e.dynCall_iii=e.asm.Aa).apply(null,arguments)},eG=e.dynCall_vii=function(){return(eG=e.dynCall_vii=e.asm.Ba).apply(null,arguments)},eV=e.dynCall_iiiiii=function(){return(eV=e.dynCall_iiiiii=e.asm.Ca).apply(null,arguments)},eX=e.dynCall_iiiii=function(){return(eX=e.dynCall_iiiii=e.asm.Da).apply(null,arguments)},eK=e.dynCall_i=function(){return(eK=e.dynCall_i=e.asm.Ea).apply(null,arguments)},e$=e.dynCall_iiiiiii=function(){return(e$=e.dynCall_iiiiiii=e.asm.Fa).apply(null,arguments)},eJ=e.dynCall_viiii=function(){return(eJ=e.dynCall_viiii=e.asm.Ga).apply(null,arguments)},eZ=e.dynCall_ji=function(){return(eZ=e.dynCall_ji=e.asm.Ha).apply(null,arguments)},eQ=e.dynCall_viiiii=function(){return(eQ=e.dynCall_viiiii=e.asm.Ia).apply(null,arguments)},e0=e.dynCall_iiiiiiii=function(){return(e0=e.dynCall_iiiiiiii=e.asm.Ja).apply(null,arguments)},e1=e.dynCall_jiiii=function(){return(e1=e.dynCall_jiiii=e.asm.Ka).apply(null,arguments)},e2=e.dynCall_fiii=function(){return(e2=e.dynCall_fiii=e.asm.La).apply(null,arguments)},e4=e.dynCall_diii=function(){return(e4=e.dynCall_diii=e.asm.Ma).apply(null,arguments)},e6=e.dynCall_viiiiiii=function(){return(e6=e.dynCall_viiiiiii=e.asm.Na).apply(null,arguments)},e3=e.dynCall_iiiiiiiiiiii=function(){return(e3=e.dynCall_iiiiiiiiiiii=e.asm.Oa).apply(null,arguments)},e9=e.dynCall_viiiiiiiiii=function(){return(e9=e.dynCall_viiiiiiiiii=e.asm.Pa).apply(null,arguments)},e8=e.dynCall_viiiiiiiiiiiiiii=function(){return(e8=e.dynCall_viiiiiiiiiiiiiii=e.asm.Qa).apply(null,arguments)},e5=function(){return(e5=e.asm.Ra).apply(null,arguments)},e7=function(){return(e7=e.asm.Sa).apply(null,arguments)},re=function(){return(re=e.asm.Ta).apply(null,arguments)},rr=function(){return(rr=e.asm.Ua).apply(null,arguments)};function rt(r=E){!(H>0)&&(function(){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;){var r;r=e.preRun.shift(),z.unshift(r)}Z(z)}(),H>0||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),n()},1)):n()));function n(){!_&&(_=!0,e.calledRun=!0,A||(e.noFSInit||el.init.initialized||el.init(),el.ignorePermissions=!1,es.init(),Z(B),Z(j),t(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),rn&&function(e=[]){var r=eP;e.unshift(b);var t=e.length,n=ej((t+1)*4),o=n>>2;e.forEach(e=>{var r,t;h[o++]=(t=ej(r=T(e)+1),C(e,d,t,r),t)}),h[o]=0;try{var a=r(t,n);ew(a,!0)}catch(e){return eE(e)}}(r),function(){if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var r;r=e.postRun.shift(),I.unshift(r)}Z(I)}()))}}if(e.___start_em_js=52440,e.___stop_em_js=55125,e.AsciiToString=function(e){for(var r="";;){var t=f[e++>>0];if(!t)return r;r+=String.fromCharCode(t)}},e.FS=el,q=function e(){_||rt(),_||(q=e)},e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();var rn=!0;return e.noInitialRun&&(rn=!1),rt(),e.ready}),rx={};rx=B("6kBsm").getBundleURL("ejVIo")+B("n9Yfb").resolve("9Qh6d");var rR=(o="file:///node_modules/emglken/build/git-core.js",function(e={}){var r,t,n,a,i,s,u,l,c,d,f,m,h,p,v,w,g,_,e=void 0!==e?e:{};e.ready=new Promise(function(e,r){t=e,n=r});var y=Object.assign({},e),E=[],b="./this.program",k=(e,r)=>{throw r},S="";"undefined"!=typeof document&&document.currentScript&&(S=document.currentScript.src),o&&(S=o),S=0!==S.indexOf("blob:")?S.substr(0,S.replace(/[?#].*/,"").lastIndexOf("/")+1):"",a=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},i=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{if(200==n.status||0==n.status&&n.response){r(n.response);return}t()},n.onerror=t,n.send(null)};var D=e.print||console.log.bind(console),F=e.printErr||console.warn.bind(console);Object.assign(e,y),y=null,e.arguments&&(E=e.arguments),e.thisProgram&&(b=e.thisProgram),e.quit&&(k=e.quit),e.wasmBinary&&(u=e.wasmBinary);var M=e.noExitRuntime||!1;"object"!=typeof WebAssembly&&G("no native wasm support detected");var A=!1,P=new TextDecoder("utf8");function x(e,r,t){for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;return P.decode(e.buffer?e.subarray(r,o):new Uint8Array(e.slice(r,o)))}function R(e,r,t,n){if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)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){for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r}function T(){var r=l.buffer;e.HEAP8=d=new Int8Array(r),e.HEAP16=m=new Int16Array(r),e.HEAP32=h=new Int32Array(r),e.HEAPU8=f=new Uint8Array(r),e.HEAPU16=new Uint16Array(r),e.HEAPU32=p=new Uint32Array(r),e.HEAPF32=new Float32Array(r),e.HEAPF64=new Float64Array(r)}var N=[],z=[],B=[],j=[],O=[],I=!1,L=0,U=0,H=null,W=null;function q(r){U++,e.monitorRunDependencies&&e.monitorRunDependencies(U)}function Y(r){if(U--,e.monitorRunDependencies&&e.monitorRunDependencies(U),0==U&&(null!==H&&(clearInterval(H),H=null),W)){var t=W;W=null,t()}}function G(r){e.onAbort&&e.onAbort(r),F(r="Aborted("+r+")"),A=!0,c=1,r+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(r);throw n(t),t}function V(e){return e.startsWith("data:application/octet-stream;base64,")}function X(e){try{if(e==v&&u)return new Uint8Array(u);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}catch(e){G(e)}}function K(e,r,t){return(u||"function"!=typeof fetch?Promise.resolve().then(function(){return X(e)}):fetch(e,{credentials:"same-origin"}).then(function(r){if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()}).catch(function(){return X(e)})).then(function(e){return WebAssembly.instantiate(e,r)}).then(function(e){return e}).then(t,function(e){F("failed to asynchronously prepare wasm: "+e),G(e)})}function $(e,r,t,n,o){let a=e>>2,i=p.subarray(a,a+t),s=o?i:i.reduce((e,r)=>e+String.fromCodePoint(r),""),u=n(s),l=Uint32Array.from(u,e=>e.codePointAt(0)),c=l.length;return p.set(l.subarray(0,Math.min(r,c)),a),c}function J(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Z(r){for(;r.length>0;)r.shift()(e)}e.locateFile?V(v="git-core.wasm")||(r=v,v=e.locateFile?e.locateFile(r,S):S+r):v=new URL(rx).href;var Q={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(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:e=>{var r=Q.isAbs(e),t="/"===e.substr(-1);return(e=Q.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Q.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=Q.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return -1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Q.normalize(e.join("/"))},join2:(e,r)=>Q.normalize(e+"/"+r)},ee={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:eo.cwd();if("string"!=typeof n)throw TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=Q.isAbs(n)}return e=Q.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+e||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=ee.resolve(e).substr(1),r=ee.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s0?t:C(e)+1),o=R(e,n,0,n.length);return r&&(n.length=o),n}var et={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){et.ttys[e]={input:[],output:[],ops:r},eo.registerDevice(e,et.stream_ops)},stream_ops:{open:function(e){var r=et.ttys[e.node.rdev];if(!r)throw new eo.ErrnoError(43);e.tty=r,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new eo.ErrnoError(60);for(var a,i=0,s=0;s0&&(D(x(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(F(x(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync:function(e){e.output&&e.output.length>0&&(F(x(e.output,0)),e.output=[])}}},en={ops_table:null,mount:function(e){return en.createNode(null,"/",16895,0)},createNode:function(e,r,t,n){if(eo.isBlkdev(t)||eo.isFIFO(t))throw new eo.ErrnoError(63);en.ops_table||(en.ops_table={dir:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr,lookup:en.node_ops.lookup,mknod:en.node_ops.mknod,rename:en.node_ops.rename,unlink:en.node_ops.unlink,rmdir:en.node_ops.rmdir,readdir:en.node_ops.readdir,symlink:en.node_ops.symlink},stream:{llseek:en.stream_ops.llseek}},file:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr},stream:{llseek:en.stream_ops.llseek,read:en.stream_ops.read,write:en.stream_ops.write,allocate:en.stream_ops.allocate,mmap:en.stream_ops.mmap,msync:en.stream_ops.msync}},link:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr,readlink:en.node_ops.readlink},stream:{}},chrdev:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr},stream:eo.chrdev_stream_ops}});var o=eo.createNode(e,r,t,n);return eo.isDir(o.mode)?(o.node_ops=en.ops_table.dir.node,o.stream_ops=en.ops_table.dir.stream,o.contents={}):eo.isFile(o.mode)?(o.node_ops=en.ops_table.file.node,o.stream_ops=en.ops_table.file.stream,o.usedBytes=0,o.contents=null):eo.isLink(o.mode)?(o.node_ops=en.ops_table.link.node,o.stream_ops=en.ops_table.link.stream):eo.isChrdev(o.mode)&&(o.node_ops=en.ops_table.chrdev.node,o.stream_ops=en.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},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)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}}},node_ops:{getattr:function(e){var r={};return r.dev=eo.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,eo.isDir(e.mode)?r.size=4096:eo.isFile(e.mode)?r.size=e.usedBytes:eo.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&&en.resizeFileStorage(e,r.size)},lookup:function(e,r){throw eo.genericErrors[44]},mknod:function(e,r,t,n){return en.createNode(e,r,t,n)},rename:function(e,r,t){if(eo.isDir(e.mode)){var n;try{n=eo.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new eo.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink:function(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir:function(e,r){var t=eo.lookupNode(e,r);for(var n in t.contents)throw new eo.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},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=en.createNode(e,r,41471,0);return n.link=t,n},readlink:function(e){if(!eo.isLink(e.mode))throw new eo.ErrnoError(28);return e.link}},stream_ops:{read:function(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s0||t+r{if(!(e=ee.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new eo.ErrnoError(32);for(var t=e.split("/").filter(e=>!!e),n=eo.root,o="/",a=0;a40)throw new eo.ErrnoError(32)}}return{path:o,node:n}},getPath:e=>{for(var r;;){if(eo.isRoot(e)){var t=e.mount.mountpoint;if(!r)return t;return"/"!==t[t.length-1]?t+"/"+r:t+r}r=r?e.name+"/"+r:e.name,e=e.parent}},hashName:(e,r)=>{for(var t=0,n=0;n>>0)%eo.nameTable.length},hashAddNode:e=>{var r=eo.hashName(e.parent.id,e.name);e.name_next=eo.nameTable[r],eo.nameTable[r]=e},hashRemoveNode:e=>{var r=eo.hashName(e.parent.id,e.name);if(eo.nameTable[r]===e)eo.nameTable[r]=e.name_next;else for(var t=eo.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode:(e,r)=>{var t=eo.mayLookup(e);if(t)throw new eo.ErrnoError(t,e);for(var n=eo.hashName(e.id,r),o=eo.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return eo.lookup(e,r)},createNode:(e,r,t,n)=>{var o=new eo.FSNode(e,r,t,n);return eo.hashAddNode(o),o},destroyNode:e=>{eo.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>(61440&e)==32768,isDir:e=>(61440&e)==16384,isLink:e=>(61440&e)==40960,isChrdev:e=>(61440&e)==8192,isBlkdev:e=>(61440&e)==24576,isFIFO:e=>(61440&e)==4096,isSocket:e=>(49152&e)==49152,flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var r=eo.flagModes[e];if(void 0===r)throw Error("Unknown file open mode: "+e);return r},flagsToPermissionString:e=>{var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>eo.ignorePermissions?0:r.includes("r")&&!(292&e.mode)||r.includes("w")&&!(146&e.mode)||r.includes("x")&&!(73&e.mode)?2:0,mayLookup:e=>eo.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,r)=>{try{return eo.lookupNode(e,r),20}catch(e){}return eo.nodePermissions(e,"wx")},mayDelete:(e,r,t)=>{try{n=eo.lookupNode(e,r)}catch(e){return e.errno}var n,o=eo.nodePermissions(e,"wx");if(o)return o;if(t){if(!eo.isDir(n.mode))return 54;if(eo.isRoot(n)||eo.getPath(n)===eo.cwd())return 10}else if(eo.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?eo.isLink(e.mode)?32:eo.isDir(e.mode)&&("r"!==eo.flagsToPermissionString(r)||512&r)?31:eo.nodePermissions(e,eo.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,r=eo.MAX_OPEN_FDS)=>{for(var t=e;t<=r;t++)if(!eo.streams[t])return t;throw new eo.ErrnoError(33)},getStream:e=>eo.streams[e],createStream:(e,r,t)=>{eo.FSStream||(eo.FSStream=function(){this.shared={}},eo.FSStream.prototype={},Object.defineProperties(eo.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return(2097155&this.flags)!=1}},isWrite:{get:function(){return(2097155&this.flags)!=0}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new eo.FSStream,e);var n=eo.nextfd(r,t);return e.fd=n,eo.streams[n]=e,e},closeStream:e=>{eo.streams[e]=null},chrdev_stream_ops:{open:e=>{var r=eo.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new eo.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice:(e,r)=>{eo.devices[e]={stream_ops:r}},getDevice:e=>eo.devices[e],getMounts:e=>{for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs:(e,r)=>{"function"==typeof e&&(r=e,e=!1),eo.syncFSRequests++,eo.syncFSRequests>1&&F("warning: "+eo.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=eo.getMounts(eo.root.mount),n=0;function o(e){return eo.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach(r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)})},mount:(e,r,t)=>{var n,o="/"===t,a=!t;if(o&&eo.root)throw new eo.ErrnoError(10);if(!o&&!a){var i=eo.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,eo.isMountpoint(n))throw new eo.ErrnoError(10);if(!eo.isDir(n.mode))throw new eo.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return u.mount=s,s.root=u,o?eo.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:e=>{var r=eo.lookupPath(e,{follow_mount:!1});if(!eo.isMountpoint(r.node))throw new eo.ErrnoError(28);var t=r.node,n=t.mounted,o=eo.getMounts(n);Object.keys(eo.nameTable).forEach(e=>{for(var r=eo.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&eo.destroyNode(r),r=t}}),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod:(e,r,t)=>{var n=eo.lookupPath(e,{parent:!0}).node,o=Q.basename(e);if(!o||"."===o||".."===o)throw new eo.ErrnoError(28);var a=eo.mayCreate(n,o);if(a)throw new eo.ErrnoError(a);if(!n.node_ops.mknod)throw new eo.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=(void 0!==r?r:438)&4095|32768,eo.mknod(e,r,0)),mkdir:(e,r)=>(r=(void 0!==r?r:511)&1023|16384,eo.mknod(e,r,0)),mkdirTree:(e,r)=>{for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,eo.mknod(e,r,t)),symlink:(e,r)=>{if(!ee.resolve(e))throw new eo.ErrnoError(44);var t=eo.lookupPath(r,{parent:!0}).node;if(!t)throw new eo.ErrnoError(44);var n=Q.basename(r),o=eo.mayCreate(t,n);if(o)throw new eo.ErrnoError(o);if(!t.node_ops.symlink)throw new eo.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename:(e,r)=>{var t,n,o,a=Q.dirname(e),i=Q.dirname(r),s=Q.basename(e),u=Q.basename(r);if(t=eo.lookupPath(e,{parent:!0}).node,n=eo.lookupPath(r,{parent:!0}).node,!t||!n)throw new eo.ErrnoError(44);if(t.mount!==n.mount)throw new eo.ErrnoError(75);var l=eo.lookupNode(t,s),c=ee.relative(e,i);if("."!==c.charAt(0))throw new eo.ErrnoError(28);if("."!==(c=ee.relative(r,a)).charAt(0))throw new eo.ErrnoError(55);try{o=eo.lookupNode(n,u)}catch(e){}if(l!==o){var d=eo.isDir(l.mode),f=eo.mayDelete(t,s,d);if(f||(f=o?eo.mayDelete(n,u,d):eo.mayCreate(n,u)))throw new eo.ErrnoError(f);if(!t.node_ops.rename)throw new eo.ErrnoError(63);if(eo.isMountpoint(l)||o&&eo.isMountpoint(o))throw new eo.ErrnoError(10);if(n!==t&&(f=eo.nodePermissions(t,"w")))throw new eo.ErrnoError(f);eo.hashRemoveNode(l);try{t.node_ops.rename(l,n,u)}catch(e){throw e}finally{eo.hashAddNode(l)}}},rmdir:e=>{var r=eo.lookupPath(e,{parent:!0}).node,t=Q.basename(e),n=eo.lookupNode(r,t),o=eo.mayDelete(r,t,!0);if(o)throw new eo.ErrnoError(o);if(!r.node_ops.rmdir)throw new eo.ErrnoError(63);if(eo.isMountpoint(n))throw new eo.ErrnoError(10);r.node_ops.rmdir(r,t),eo.destroyNode(n)},readdir:e=>{var r=eo.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new eo.ErrnoError(54);return r.node_ops.readdir(r)},unlink:e=>{var r=eo.lookupPath(e,{parent:!0}).node;if(!r)throw new eo.ErrnoError(44);var t=Q.basename(e),n=eo.lookupNode(r,t),o=eo.mayDelete(r,t,!1);if(o)throw new eo.ErrnoError(o);if(!r.node_ops.unlink)throw new eo.ErrnoError(63);if(eo.isMountpoint(n))throw new eo.ErrnoError(10);r.node_ops.unlink(r,t),eo.destroyNode(n)},readlink:e=>{var r=eo.lookupPath(e).node;if(!r)throw new eo.ErrnoError(44);if(!r.node_ops.readlink)throw new eo.ErrnoError(28);return ee.resolve(eo.getPath(r.parent),r.node_ops.readlink(r))},stat:(e,r)=>{var t=eo.lookupPath(e,{follow:!r}).node;if(!t)throw new eo.ErrnoError(44);if(!t.node_ops.getattr)throw new eo.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>eo.stat(e,!0),chmod:(e,r,t)=>{var n;if(!(n="string"==typeof e?eo.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new eo.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod:(e,r)=>{eo.chmod(e,r,!0)},fchmod:(e,r)=>{var t=eo.getStream(e);if(!t)throw new eo.ErrnoError(8);eo.chmod(t.node,r)},chown:(e,r,t,n)=>{var o;if(!(o="string"==typeof e?eo.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new eo.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,r,t)=>{eo.chown(e,r,t,!0)},fchown:(e,r,t)=>{var n=eo.getStream(e);if(!n)throw new eo.ErrnoError(8);eo.chown(n.node,r,t)},truncate:(e,r)=>{if(r<0)throw new eo.ErrnoError(28);if("string"==typeof e){var t;t=eo.lookupPath(e,{follow:!0}).node}else t=e;if(!t.node_ops.setattr)throw new eo.ErrnoError(63);if(eo.isDir(t.mode))throw new eo.ErrnoError(31);if(!eo.isFile(t.mode))throw new eo.ErrnoError(28);var n=eo.nodePermissions(t,"w");if(n)throw new eo.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate:(e,r)=>{var t=eo.getStream(e);if(!t)throw new eo.ErrnoError(8);if((2097155&t.flags)==0)throw new eo.ErrnoError(28);eo.truncate(t.node,r)},utime:(e,r,t)=>{var n=eo.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open:(r,t,n)=>{if(""===r)throw new eo.ErrnoError(44);if(t="string"==typeof t?eo.modeStringToFlags(t):t,n=void 0===n?438:n,n=64&t?4095&n|32768:0,"object"==typeof r)o=r;else{r=Q.normalize(r);try{var o;o=eo.lookupPath(r,{follow:!(131072&t)}).node}catch(e){}}var a=!1;if(64&t){if(o){if(128&t)throw new eo.ErrnoError(20)}else o=eo.mknod(r,n,0),a=!0}if(!o)throw new eo.ErrnoError(44);if(eo.isChrdev(o.mode)&&(t&=-513),65536&t&&!eo.isDir(o.mode))throw new eo.ErrnoError(54);if(!a){var i=eo.mayOpen(o,t);if(i)throw new eo.ErrnoError(i)}512&t&&!a&&eo.truncate(o,0),t&=-131713;var s=eo.createStream({node:o,path:eo.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!e.logReadFiles||1&t||(eo.readFiles||(eo.readFiles={}),r in eo.readFiles||(eo.readFiles[r]=1)),s},close:e=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{eo.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,r,t)=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new eo.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new eo.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read:(e,r,t,n,o)=>{if(n<0||o<0)throw new eo.ErrnoError(28);if(eo.isClosed(e)||(2097155&e.flags)==1)throw new eo.ErrnoError(8);if(eo.isDir(e.node.mode))throw new eo.ErrnoError(31);if(!e.stream_ops.read)throw new eo.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new eo.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write:(e,r,t,n,o,a)=>{if(n<0||o<0)throw new eo.ErrnoError(28);if(eo.isClosed(e)||(2097155&e.flags)==0)throw new eo.ErrnoError(8);if(eo.isDir(e.node.mode))throw new eo.ErrnoError(31);if(!e.stream_ops.write)throw new eo.ErrnoError(28);e.seekable&&1024&e.flags&&eo.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new eo.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},allocate:(e,r,t)=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);if(r<0||t<=0)throw new eo.ErrnoError(28);if((2097155&e.flags)==0)throw new eo.ErrnoError(8);if(!eo.isFile(e.node.mode)&&!eo.isDir(e.node.mode))throw new eo.ErrnoError(43);if(!e.stream_ops.allocate)throw new eo.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap:(e,r,t,n,o)=>{if((2&n)!=0&&(2&o)==0&&(2097155&e.flags)!=2||(2097155&e.flags)==1)throw new eo.ErrnoError(2);if(!e.stream_ops.mmap)throw new eo.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl:(e,r,t)=>{if(!e.stream_ops.ioctl)throw new eo.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile:(e,r={})=>{if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw Error('Invalid encoding type "'+r.encoding+'"');var t,n=eo.open(e,r.flags),o=eo.stat(e).size,a=new Uint8Array(o);return eo.read(n,a,0,o,0),"utf8"===r.encoding?t=x(a,0):"binary"===r.encoding&&(t=a),eo.close(n),t},writeFile:(e,r,t={})=>{t.flags=t.flags||577;var n=eo.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(C(r)+1),a=R(r,o,0,o.length);eo.write(n,o,0,a,void 0,t.canOwn)}else if(ArrayBuffer.isView(r))eo.write(n,r,0,r.byteLength,void 0,t.canOwn);else throw Error("Unsupported data type");eo.close(n)},cwd:()=>eo.currentPath,chdir:e=>{var r=eo.lookupPath(e,{follow:!0});if(null===r.node)throw new eo.ErrnoError(44);if(!eo.isDir(r.node.mode))throw new eo.ErrnoError(54);var t=eo.nodePermissions(r.node,"x");if(t)throw new eo.ErrnoError(t);eo.currentPath=r.path},createDefaultDirectories:()=>{eo.mkdir("/tmp"),eo.mkdir("/home"),eo.mkdir("/home/web_user")},createDefaultDevices:()=>{eo.mkdir("/dev"),eo.registerDevice(eo.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),eo.mkdev("/dev/null",eo.makedev(1,3)),et.register(eo.makedev(5,0),et.default_tty_ops),et.register(eo.makedev(6,0),et.default_tty1_ops),eo.mkdev("/dev/tty",eo.makedev(5,0)),eo.mkdev("/dev/tty1",eo.makedev(6,0));var e=function(){if("object"!=typeof crypto||"function"!=typeof crypto.getRandomValues)return()=>G("randomDevice");var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}();eo.createDevice("/dev","random",e),eo.createDevice("/dev","urandom",e),eo.mkdir("/dev/shm"),eo.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{eo.mkdir("/proc");var e=eo.mkdir("/proc/self");eo.mkdir("/proc/self/fd"),eo.mount({mount:()=>{var r=eo.createNode(e,"fd",16895,73);return r.node_ops={lookup:(e,r)=>{var t=eo.getStream(+r);if(!t)throw new eo.ErrnoError(8);var n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>t.path}};return n.parent=n,n}},r}},{},"/proc/self/fd")},createStandardStreams:()=>{e.stdin?eo.createDevice("/dev","stdin",e.stdin):eo.symlink("/dev/tty","/dev/stdin"),e.stdout?eo.createDevice("/dev","stdout",null,e.stdout):eo.symlink("/dev/tty","/dev/stdout"),e.stderr?eo.createDevice("/dev","stderr",null,e.stderr):eo.symlink("/dev/tty1","/dev/stderr"),eo.open("/dev/stdin",0),eo.open("/dev/stdout",1),eo.open("/dev/stderr",1)},ensureErrnoError:()=>{eo.ErrnoError||(eo.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},eo.ErrnoError.prototype=Error(),eo.ErrnoError.prototype.constructor=eo.ErrnoError,[44].forEach(e=>{eo.genericErrors[e]=new eo.ErrnoError(e),eo.genericErrors[e].stack=""}))},staticInit:()=>{eo.ensureErrnoError(),eo.nameTable=Array(4096),eo.mount(en,{},"/"),eo.createDefaultDirectories(),eo.createDefaultDevices(),eo.createSpecialDirectories(),eo.filesystems={MEMFS:en}},init:(r,t,n)=>{eo.init.initialized=!0,eo.ensureErrnoError(),e.stdin=r||e.stdin,e.stdout=t||e.stdout,e.stderr=n||e.stderr,eo.createStandardStreams()},quit:()=>{eo.init.initialized=!1,ey(0);for(var e=0;e{var t=0;return e&&(t|=365),r&&(t|=146),t},findObject:(e,r)=>{var t=eo.analyzePath(e,r);return t.exists?t.object:null},analyzePath:(e,r)=>{try{var t=eo.lookupPath(e,{follow:!r});e=t.path}catch(e){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var t=eo.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=t.path,n.parentObject=t.node,n.name=Q.basename(e),t=eo.lookupPath(e,{follow:!r}),n.exists=!0,n.path=t.path,n.object=t.node,n.name=t.node.name,n.isRoot="/"===t.path}catch(e){n.error=e.errno}return n},createPath:(e,r,t,n)=>{e="string"==typeof e?e:eo.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var i=Q.join2(e,a);try{eo.mkdir(i)}catch(e){}e=i}}return i},createFile:(e,r,t,n,o)=>{var a=Q.join2("string"==typeof e?e:eo.getPath(e),r),i=eo.getMode(n,o);return eo.create(a,i)},createDataFile:(e,r,t,n,o,a)=>{var i=r;e&&(e="string"==typeof e?e:eo.getPath(e),i=r?Q.join2(e,r):e);var s=eo.getMode(n,o),u=eo.create(i,s);if(t){if("string"==typeof t){for(var l=Array(t.length),c=0,d=t.length;c{var o=Q.join2("string"==typeof e?e:eo.getPath(e),r),a=eo.getMode(!!t,!!n);eo.createDevice.major||(eo.createDevice.major=64);var i=eo.makedev(eo.createDevice.major++,0);return eo.registerDevice(i,{open:e=>{e.seekable=!1},close:e=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(e,r,n,o,a)=>{for(var i,s=0,u=0;u{for(var i=0;i{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw 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(a)try{e.contents=er(a(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new eo.ErrnoError(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile:(e,r,t,n,o)=>{function a(){this.lengthKnown=!1,this.chunks=[]}if(a.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]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e,r=new XMLHttpRequest;if(r.open("HEAD",t,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw Error("Couldn't load "+t+". Status: "+r.status);var n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=(e,r)=>{if(e>r)throw Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+e+"-"+r),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 Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):er(o.responseText||"",!0)},u=this;u.setDataGetter(e=>{var r=e*i,t=(e+1)*i-1;if(t=Math.min(t,n-1),void 0===u.chunks[e]&&(u.chunks[e]=s(r,t)),void 0===u.chunks[e])throw Error("doXHR failed!");return u.chunks[e]}),(a||!n)&&(i=n=1,i=n=this.getter(0).length,D("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){var i;throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"}var i={isDevice:!1,url:t},s=eo.createFile(e,r,i,n,o);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s{var r=s.stream_ops[e];u[e]=function(){return eo.forceLoadFile(s),r.apply(null,arguments)}}),u.read=(e,r,t,n,o)=>(eo.forceLoadFile(s),l(e,r,t,n,o)),u.mmap=(e,r,t,n,o)=>{eo.forceLoadFile(s);var a=void G();if(!a)throw new eo.ErrnoError(48);return l(e,d,a,r,t),{ptr:a,allocated:!0}},s.stream_ops=u,s},createPreloadedFile:(e,r,t,n,o,a,s,u,l,c)=>{var d,f,m=r?ee.resolve(Q.join2(e,r)):e,h="cp "+m;function p(t){function i(t){c&&c(),u||eo.createDataFile(e,r,t,n,o,l),a&&a(),Y(h)}Browser.handledByPreloadPlugin(t,m,i,()=>{s&&s(),Y(h)})||i(t)}q(h),"string"==typeof t?(d=e=>p(e),f="al "+t,i(t,e=>{var r;r='Loading data file "'+t+'" failed (no arrayBuffer).',e||G(r),d(new Uint8Array(e)),f&&Y(f)},e=>{if(s)s();else throw'Loading data file "'+t+'" failed.'}),f&&q(f)):p(t)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,r=()=>{},t=()=>{})=>{var n=eo.indexedDB();try{var o=n.open(eo.DB_NAME(),eo.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=()=>{D("creating db"),o.result.createObjectStore(eo.DB_STORE_NAME)},o.onsuccess=()=>{var n=o.result.transaction([eo.DB_STORE_NAME],"readwrite"),a=n.objectStore(eo.DB_STORE_NAME),i=0,s=0,u=e.length;function l(){0==s?r():t()}e.forEach(e=>{var r=a.put(eo.analyzePath(e).object.contents,e);r.onsuccess=()=>{++i+s==u&&l()},r.onerror=()=>{i+ ++s==u&&l()}}),n.onerror=t},o.onerror=t},loadFilesFromDB:(e,r=()=>{},t=()=>{})=>{var n=eo.indexedDB();try{var o=n.open(eo.DB_NAME(),eo.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=t,o.onsuccess=()=>{var n=o.result;try{var a=n.transaction([eo.DB_STORE_NAME],"readonly")}catch(e){t(e);return}var i=a.objectStore(eo.DB_STORE_NAME),s=0,u=0,l=e.length;function c(){0==u?r():t()}e.forEach(e=>{var r=i.get(e);r.onsuccess=()=>{eo.analyzePath(e).exists&&eo.unlink(e),eo.createDataFile(Q.dirname(e),Q.basename(e),r.result,!0,!0,!0),++s+u==l&&c()},r.onerror=()=>{s+ ++u==l&&c()}}),a.onerror=t},o.onerror=t}},ea={DEFAULT_POLLMASK:5,calculateAt:function(e,r,t){if(Q.isAbs(r))return r;if(-100===e)n=eo.cwd();else{var n;n=ea.getStreamFromFD(e).path}if(0==r.length){if(!t)throw new eo.ErrnoError(44);return n}return Q.join2(n,r)},doStat:function(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&Q.normalize(r)!==Q.normalize(eo.getPath(e.node)))return -54;throw e}h[t>>2]=n.dev,h[t+8>>2]=n.ino,h[t+12>>2]=n.mode,p[t+16>>2]=n.nlink,h[t+20>>2]=n.uid,h[t+24>>2]=n.gid,h[t+28>>2]=n.rdev,g=[n.size>>>0,+Math.abs(w=n.size)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+40>>2]=g[0],h[t+44>>2]=g[1],h[t+48>>2]=4096,h[t+52>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return g=[Math.floor(o/1e3)>>>0,+Math.abs(w=Math.floor(o/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+56>>2]=g[0],h[t+60>>2]=g[1],p[t+64>>2]=o%1e3*1e3,g=[Math.floor(a/1e3)>>>0,+Math.abs(w=Math.floor(a/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+72>>2]=g[0],h[t+76>>2]=g[1],p[t+80>>2]=a%1e3*1e3,g=[Math.floor(i/1e3)>>>0,+Math.abs(w=Math.floor(i/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+88>>2]=g[0],h[t+92>>2]=g[1],p[t+96>>2]=i%1e3*1e3,g=[n.ino>>>0,+Math.abs(w=n.ino)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+104>>2]=g[0],h[t+108>>2]=g[1],0},doMsync:function(e,r,t,n,o){if(!eo.isFile(r.node.mode))throw new eo.ErrnoError(43);if(2&n)return 0;var a=f.slice(e,e+t);eo.msync(r,a,o,t,n)},varargs:void 0,get:function(){return ea.varargs+=4,h[ea.varargs-4>>2]},getStr:function(e){return function(e,r){if(!e)return"";for(var t=e+void 0,n=e;!(n>=t)&&f[n];)++n;return P.decode(f.subarray(e,n))}(e)},getStreamFromFD:function(e){var r=eo.getStream(e);if(!r)throw new eo.ErrnoError(8);return r}};function ei(e){return p[e>>2]+4294967296*h[e+4>>2]}var es=[0,31,60,91,121,152,182,213,244,274,305,335],eu=[0,31,59,90,120,151,181,212,243,273,304,334];function el(e){var r;return((r=e.getFullYear())%4==0&&(r%100!=0||r%400==0)?es:eu)[e.getMonth()]+e.getDate()-1}function ec(e){var r=C(e)+1,t=ew(r);return t&&R(e,d,t,r),t}function ed(r,t){c=r,M||L>0||(eb(),Z(j),eo.quit(),et.shutdown(),I=!0),c=r,M||L>0||(e.onExit&&e.onExit(r),A=!0),k(r,new J(r))}function ef(e){if(e instanceof J||"unwind"==e)return c;k(1,e)}function em(e){try{return e()}catch(e){G(e)}}var eh={instrumentWasmImports:function(e){var r=["emscripten_sleep","emscripten_wget","emscripten_wget_data","emscripten_idb_load","emscripten_idb_store","emscripten_idb_delete","emscripten_idb_exists","emscripten_idb_load_blob","emscripten_idb_store_blob","SDL_Delay","emscripten_scan_registers","emscripten_lazy_load_code","emscripten_fiber_swap","__load_secondary_module","fd_sync","__wasi_fd_sync","_emval_await","_dlopen_js","__asyncjs__*"];for(var t in e)!function(t){var n=e[t];n.sig,"function"==typeof n&&(r.indexOf(t)>=0||t.startsWith("__asyncjs__"))}(t)},instrumentWasmExports:function(e){var r={};for(var t in e)!function(t){var n=e[t];"function"==typeof n?r[t]=function(){eh.exportCallStack.push(t);try{return n.apply(null,arguments)}finally{A||(eh.exportCallStack.pop()===t||G(void 0),eh.maybeStopUnwind())}}:r[t]=n}(t);return r},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:8192,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId:function(e){var r=eh.callStackNameToId[e];return void 0===r&&(r=eh.callStackId++,eh.callStackNameToId[e]=r,eh.callStackIdToName[r]=e),r},maybeStopUnwind:function(){eh.currData&&eh.state===eh.State.Unwinding&&0===eh.exportCallStack.length&&(eh.state=eh.State.Normal,L+=1,em(ex),"undefined"!=typeof Fibers&&Fibers.trampoline())},whenDone:function(){return new Promise((e,r)=>{eh.asyncPromiseHandlers={resolve:e,reject:r}})},allocateData:function(){var e=ew(12+eh.StackSize);return eh.setDataHeader(e,e+12,eh.StackSize),eh.setDataRewindFunc(e),e},setDataHeader:function(e,r,t){h[e>>2]=r,h[e+4>>2]=r+t},setDataRewindFunc:function(e){var r=eh.exportCallStack[0],t=eh.getCallStackId(r);h[e+8>>2]=t},getDataRewindFunc:function(r){var t=h[r+8>>2],n=eh.callStackIdToName[t];return e.asm[n]},doRewind:function(e){var r=eh.getDataRewindFunc(e);return L-=1,r()},handleSleep:function(e){if(!A){if(eh.state===eh.State.Normal){var r=!1,t=!1;e((e=0)=>{if(!A&&(eh.handleSleepReturnValue=e,r=!0,t)){eh.state=eh.State.Rewinding,em(()=>eR(eh.currData)),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.resume();var n,o=!1;try{n=eh.doRewind(eh.currData)}catch(e){n=e,o=!0}var a=!1;if(!eh.currData){var i=eh.asyncPromiseHandlers;i&&(eh.asyncPromiseHandlers=null,(o?i.reject:i.resolve)(n),a=!0)}if(o&&!a)throw n}}),t=!0,r||(eh.state=eh.State.Unwinding,eh.currData=eh.allocateData(),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.pause(),em(()=>eP(eh.currData)))}else eh.state===eh.State.Rewinding?(eh.state=eh.State.Normal,em(eC),eg(eh.currData),eh.currData=null,eh.sleepCallbacks.forEach(e=>(function(e){if(!I&&!A)try{e(),function(){if(!(M||L>0))try{ed(c)}catch(e){ef(e)}}()}catch(e){ef(e)}})(e))):G("invalid state: "+eh.state);return eh.handleSleepReturnValue}},handleAsync:function(e){return eh.handleSleep(r=>{e().then(r)})}},ep=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=eo.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n};Object.defineProperties(ep.prototype,{read:{get:function(){return(365&this.mode)==365},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return(146&this.mode)==146},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return eo.isDir(this.mode)}},isDevice:{get:function(){return eo.isChrdev(this.mode)}}}),eo.FSNode=ep,eo.staticInit();var ev={q:function(r,t){return eh.handleAsync(async()=>{e.emglken_stdin_buffers.length||await new Promise(r=>{e.emglken_stdin_ready=r});let n=e.emglken_stdin_buffers.shift(),o=Math.min(n.length,t);return o==n.length?f.set(n,r):(f.set(n.subarray(0,o),r),e.emglken_stdin_buffers.unshift(n.subarray(o))),o})},D:function(e,r,t,n){try{if(r=ea.getStr(r),r=ea.calculateAt(e,r),-8&t)return -28;var o=eo.lookupPath(r,{follow:!0}).node;if(!o)return -44;var a="";if(4&t&&(a+="r"),2&t&&(a+="w"),1&t&&(a+="x"),a&&eo.nodePermissions(o,a))return -2;return 0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},l:function(e,r,t){ea.varargs=t;try{var n=ea.getStreamFromFD(e);switch(r){case 0:var o=ea.get();if(o<0)return -28;return eo.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=ea.get();return n.flags|=o,0;case 5:var o=ea.get();return m[o+0>>1]=2,0;case 16:case 8:default:return -28;case 9:return h[eE()>>2]=28,-1}}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},C:function(e,r){try{if(0===r)return -28;var t=eo.cwd(),n=C(t)+1;if(r>2]=0,0;case 21520:if(!n.tty)return -59;return -28;case 21531:var o=ea.get();return eo.ioctl(n,r,o);default:return -28}}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},k:function(e,r,t,n){ea.varargs=n;try{r=ea.getStr(r),r=ea.calculateAt(e,r);var o=n?ea.get():0;return eo.open(r,t,o).fd}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},A:function(e,r){try{return e=ea.getStr(e),ea.doStat(eo.stat,e,r)}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},z:function(e,r,t){try{return r=ea.getStr(r),r=ea.calculateAt(e,r),0===t?eo.unlink(r):512===t?eo.rmdir(r):G("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},x:function(){return!0},w:function(){throw 1/0},v:function(e,r){var t=new Date(1e3*ei(e));h[r>>2]=t.getUTCSeconds(),h[r+4>>2]=t.getUTCMinutes(),h[r+8>>2]=t.getUTCHours(),h[r+12>>2]=t.getUTCDate(),h[r+16>>2]=t.getUTCMonth(),h[r+20>>2]=t.getUTCFullYear()-1900,h[r+24>>2]=t.getUTCDay();var n=Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0),o=(t.getTime()-n)/864e5|0;h[r+28>>2]=o},u:function(e,r){var t=new Date(1e3*ei(e));h[r>>2]=t.getSeconds(),h[r+4>>2]=t.getMinutes(),h[r+8>>2]=t.getHours(),h[r+12>>2]=t.getDate(),h[r+16>>2]=t.getMonth(),h[r+20>>2]=t.getFullYear()-1900,h[r+24>>2]=t.getDay();var n=0|el(t);h[r+28>>2]=n,h[r+36>>2]=-(60*t.getTimezoneOffset());var o=new Date(t.getFullYear(),0,1),a=new Date(t.getFullYear(),6,1).getTimezoneOffset(),i=o.getTimezoneOffset(),s=0|(a!=i&&t.getTimezoneOffset()==Math.min(i,a));h[r+32>>2]=s},t:function(e){var r=new Date(h[e+20>>2]+1900,h[e+16>>2],h[e+12>>2],h[e+8>>2],h[e+4>>2],h[e>>2],0),t=h[e+32>>2],n=r.getTimezoneOffset(),o=new Date(r.getFullYear(),0,1),a=new Date(r.getFullYear(),6,1).getTimezoneOffset(),i=o.getTimezoneOffset(),s=Math.min(i,a);if(t<0)h[e+32>>2]=Number(a!=i&&s==n);else if(t>0!=(s==n)){var u=t>0?s:Math.max(i,a);r.setTime(r.getTime()+(u-n)*6e4)}h[e+24>>2]=r.getDay();var l=0|el(r);return h[e+28>>2]=l,h[e>>2]=r.getSeconds(),h[e+4>>2]=r.getMinutes(),h[e+8>>2]=r.getHours(),h[e+12>>2]=r.getDate(),h[e+16>>2]=r.getMonth(),h[e+20>>2]=r.getYear(),r.getTime()/1e3|0},s:function(e){var r=Date.UTC(h[e+20>>2]+1900,h[e+16>>2],h[e+12>>2],h[e+8>>2],h[e+4>>2],h[e>>2],0),t=new Date(r);h[e+24>>2]=t.getUTCDay();var n=Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0),o=(t.getTime()-n)/864e5|0;return h[e+28>>2]=o,t.getTime()/1e3|0},r:function(e,r,t){var n=new Date().getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),i=o.getTimezoneOffset(),s=a.getTimezoneOffset();function u(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}p[e>>2]=60*Math.max(i,s),h[r>>2]=Number(i!=s);var l=u(o),c=u(a),d=ec(l),f=ec(c);s>2]=d,p[t+4>>2]=f):(p[t>>2]=f,p[t+4>>2]=d)},i:function(){return Date.now()},p:function(e,r,t){f.copyWithin(e,r,r+t)},o:function(e){var r=f.length;if((e>>>=0)>2147483648)return!1;let t=(e,r)=>e+(r-e%r)%r;for(var n=1;n<=4;n*=2){var o=r*(1+.2/n);if(o=Math.min(o,e+100663296),function(e){var r=l.buffer;try{return l.grow(e-r.byteLength+65535>>>16),T(),1}catch(e){}}(Math.min(2147483648,t(Math.max(e,o),65536))))return!0}return!1},a:ed,c:function(e){try{var r=ea.getStreamFromFD(e);return eo.close(r),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},y:function(e,r,t,n){try{var o=ea.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=eo.read(e,d,i,s,n);if(u<0)return -1;if(o+=u,u>2]=a,0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},m:function(e,r,t,n,o){try{var a=t+2097152>>>0<4194305-!!r?(r>>>0)+4294967296*t:NaN;if(isNaN(a))return 61;var i=ea.getStreamFromFD(e);return eo.llseek(i,a,n),g=[i.position>>>0,(w=i.position,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],h[o>>2]=g[0],h[o+4>>2]=g[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},j:function(e,r,t,n){try{var o=ea.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=eo.write(e,d,i,s,n);if(u<0)return -1;o+=u,void 0!==n&&(n+=u)}return o}(o,r,t);return p[n>>2]=a,0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},h:function(e,r,t){return $(e,r,t,e=>e.normalize("NFD"))},g:function(e,r,t){return $(e,r,t,e=>e.normalize("NFC"))},f:function(e,r,t){return $(e,r,t,e=>e.toLowerCase())},e:function(e,r,t,n){return $(e,r,t,e=>e.reduce((e,r,t)=>{let o={ß:"Ss",DŽ:"Dž",Dž:"Dž",dž:"Dž",LJ:"Lj",Lj:"Lj",lj:"Lj",NJ:"Nj",Nj:"Nj",nj:"Nj",DZ:"Dz",Dz:"Dz",dz:"Dz",և:"Եւ",ᾲ:"Ὰͅ",ᾳ:"ᾼ",ᾴ:"Άͅ",ᾷ:"ᾼ͂",ᾼ:"ᾼ",ῂ:"Ὴͅ",ῃ:"ῌ",ῄ:"Ήͅ",ῇ:"ῌ͂",ῌ:"ῌ",ῲ:"Ὼͅ",ῳ:"ῼ",ῴ:"Ώͅ",ῷ:"ῼ͂",ῼ:"ῼ",ff:"Ff",fi:"Fi",fl:"Fl",ffi:"Ffi",ffl:"Ffl",ſt:"St",st:"St",ﬓ:"Մն",ﬔ:"Մե",ﬕ:"Մի",ﬖ:"Վն",ﬗ:"Մխ"},a=String.fromCodePoint(r);return 0===t?a=o[a]?o[a]:r>=8064&&r<8112?["ᾈᾉᾊᾋᾌᾍᾎᾏ","ᾘᾙᾚᾛᾜᾝᾞᾟ","ᾨᾩᾪᾫᾬᾭᾮᾯ"][(r-8064)/16|0][r%8]:a.toUpperCase():n&&(a=a.toLowerCase()),e+a},""),1)},d:function(e,r,t){return $(e,r,t,e=>e.toUpperCase())},n:function(e,r){var t=eS();try{eA(e,r)}catch(e){if(eD(t),e!==e+0)throw e;ek(1,0)}},b:function(e,r,t){var n=eS();try{eM(e,r,t)}catch(e){if(eD(n),e!==e+0)throw e;ek(1,0)}}};!function(){var r,t,o,a={a:ev};function i(r,t){var n,o=r.exports;return o=eh.instrumentWasmExports(o),e.asm=o,l=e.asm.E,T(),e.asm.N,n=e.asm.F,z.unshift(n),Y("wasm-instantiate"),o}if(q("wasm-instantiate"),e.instantiateWasm)try{return e.instantiateWasm(a,i)}catch(e){F("Module.instantiateWasm callback failed with error: "+e),n(e)}(r=u,t=v,o=function(e){i(e.instance)},r||"function"!=typeof WebAssembly.instantiateStreaming||V(t)||"function"!=typeof fetch?K(t,a,o):fetch(t,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,a).then(o,function(e){return F("wasm streaming compile failed: "+e),F("falling back to ArrayBuffer instantiation"),K(t,a,o)})})).catch(n)}();var ew=function(){return(ew=e.asm.G).apply(null,arguments)},eg=function(){return(eg=e.asm.H).apply(null,arguments)},e_=e._main=function(){return(e_=e._main=e.asm.I).apply(null,arguments)},ey=(e._gidispatch_get_game_id=function(){return(e._gidispatch_get_game_id=e.asm.J).apply(null,arguments)},e._fflush=function(){return(ey=e._fflush=e.asm.K).apply(null,arguments)}),eE=function(){return(eE=e.asm.L).apply(null,arguments)},eb=function(){return(eb=e.asm.M).apply(null,arguments)},ek=function(){return(ek=e.asm.O).apply(null,arguments)},eS=function(){return(eS=e.asm.P).apply(null,arguments)},eD=function(){return(eD=e.asm.Q).apply(null,arguments)},eF=function(){return(eF=e.asm.R).apply(null,arguments)},eM=e.dynCall_vii=function(){return(eM=e.dynCall_vii=e.asm.S).apply(null,arguments)},eA=e.dynCall_vi=function(){return(eA=e.dynCall_vi=e.asm.T).apply(null,arguments)},eP=function(){return(eP=e.asm.U).apply(null,arguments)},ex=function(){return(ex=e.asm.V).apply(null,arguments)},eR=function(){return(eR=e.asm.W).apply(null,arguments)},eC=function(){return(eC=e.asm.X).apply(null,arguments)};function eT(r=E){!(U>0)&&(function(){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;){var r;r=e.preRun.shift(),N.unshift(r)}Z(N)}(),U>0||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),n()},1)):n()));function n(){!_&&(_=!0,e.calledRun=!0,A||(e.noFSInit||eo.init.initialized||eo.init(),eo.ignorePermissions=!1,et.init(),Z(z),Z(B),t(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),eN&&function(e=[]){var r=e_;e.unshift(b);var t=e.length,n=eF((t+1)*4),o=n>>2;e.forEach(e=>{var r,t;h[o++]=(t=eF(r=C(e)+1),R(e,d,t,r),t)}),h[o]=0;try{var a=r(t,n);ed(a,!0)}catch(e){return ef(e)}}(r),function(){if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var r;r=e.postRun.shift(),O.unshift(r)}Z(O)}()))}}if(e.___start_em_js=33568,e.___stop_em_js=36253,e.AsciiToString=function(e){for(var r="";;){var t=f[e++>>0];if(!t)return r;r+=String.fromCharCode(t)}},e.FS=eo,W=function e(){_||eT(),_||(W=e)},e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();var eN=!0;return e.noInitialRun&&(eN=!1),eT(),e.ready}),rC={};rC=B("6kBsm").getBundleURL("ejVIo")+B("n9Yfb").resolve("huVfu");var rT=(a="file:///node_modules/emglken/build/hugo-core.js",function(e={}){var r,t,n,o,i,s,u,l,c,d,f,m,h,p,v,w,g,_,e=void 0!==e?e:{};e.ready=new Promise(function(e,r){t=e,n=r});var y=Object.assign({},e),E=[],b="./this.program",k=(e,r)=>{throw r},S="";"undefined"!=typeof document&&document.currentScript&&(S=document.currentScript.src),a&&(S=a),S=0!==S.indexOf("blob:")?S.substr(0,S.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},i=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{if(200==n.status||0==n.status&&n.response){r(n.response);return}t()},n.onerror=t,n.send(null)};var D=e.print||console.log.bind(console),F=e.printErr||console.warn.bind(console);Object.assign(e,y),y=null,e.arguments&&(E=e.arguments),e.thisProgram&&(b=e.thisProgram),e.quit&&(k=e.quit),e.wasmBinary&&(u=e.wasmBinary);var M=e.noExitRuntime||!1;"object"!=typeof WebAssembly&&V("no native wasm support detected");var A=!1,P=new TextDecoder("utf8");function x(e,r,t){for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;return P.decode(e.buffer?e.subarray(r,o):new Uint8Array(e.slice(r,o)))}function R(e,r){if(!e)return"";for(var t=e+r,n=e;!(n>=t)&&f[n];)++n;return P.decode(f.subarray(e,n))}function C(e,r,t,n){if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)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 T(e){for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r}function N(){var r=l.buffer;e.HEAP8=d=new Int8Array(r),e.HEAP16=m=new Int16Array(r),e.HEAP32=h=new Int32Array(r),e.HEAPU8=f=new Uint8Array(r),e.HEAPU16=new Uint16Array(r),e.HEAPU32=p=new Uint32Array(r),e.HEAPF32=new Float32Array(r),e.HEAPF64=new Float64Array(r)}var z=[],B=[],j=[],O=[],I=[],L=!1,U=0,H=0,W=null,q=null;function Y(r){H++,e.monitorRunDependencies&&e.monitorRunDependencies(H)}function G(r){if(H--,e.monitorRunDependencies&&e.monitorRunDependencies(H),0==H&&(null!==W&&(clearInterval(W),W=null),q)){var t=q;q=null,t()}}function V(r){e.onAbort&&e.onAbort(r),F(r="Aborted("+r+")"),A=!0,c=1,r+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(r);throw n(t),t}function X(e){return e.startsWith("data:application/octet-stream;base64,")}function K(e){try{if(e==v&&u)return new Uint8Array(u);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}catch(e){V(e)}}function $(e,r,t){return(u||"function"!=typeof fetch?Promise.resolve().then(function(){return K(e)}):fetch(e,{credentials:"same-origin"}).then(function(r){if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()}).catch(function(){return K(e)})).then(function(e){return WebAssembly.instantiate(e,r)}).then(function(e){return e}).then(t,function(e){F("failed to asynchronously prepare wasm: "+e),V(e)})}function J(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Z(r){for(;r.length>0;)r.shift()(e)}e.locateFile?X(v="hugo-core.wasm")||(r=v,v=e.locateFile?e.locateFile(r,S):S+r):v=new URL(rC).href;var Q={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(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:e=>{var r=Q.isAbs(e),t="/"===e.substr(-1);return(e=Q.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Q.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=Q.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return -1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Q.normalize(e.join("/"))},join2:(e,r)=>Q.normalize(e+"/"+r)},ee={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:eo.cwd();if("string"!=typeof n)throw TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=Q.isAbs(n)}return e=Q.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+e||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=ee.resolve(e).substr(1),r=ee.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s0?t:T(e)+1),o=C(e,n,0,n.length);return r&&(n.length=o),n}var et={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){et.ttys[e]={input:[],output:[],ops:r},eo.registerDevice(e,et.stream_ops)},stream_ops:{open:function(e){var r=et.ttys[e.node.rdev];if(!r)throw new eo.ErrnoError(43);e.tty=r,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new eo.ErrnoError(60);for(var a,i=0,s=0;s0&&(D(x(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(F(x(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync:function(e){e.output&&e.output.length>0&&(F(x(e.output,0)),e.output=[])}}},en={ops_table:null,mount:function(e){return en.createNode(null,"/",16895,0)},createNode:function(e,r,t,n){if(eo.isBlkdev(t)||eo.isFIFO(t))throw new eo.ErrnoError(63);en.ops_table||(en.ops_table={dir:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr,lookup:en.node_ops.lookup,mknod:en.node_ops.mknod,rename:en.node_ops.rename,unlink:en.node_ops.unlink,rmdir:en.node_ops.rmdir,readdir:en.node_ops.readdir,symlink:en.node_ops.symlink},stream:{llseek:en.stream_ops.llseek}},file:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr},stream:{llseek:en.stream_ops.llseek,read:en.stream_ops.read,write:en.stream_ops.write,allocate:en.stream_ops.allocate,mmap:en.stream_ops.mmap,msync:en.stream_ops.msync}},link:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr,readlink:en.node_ops.readlink},stream:{}},chrdev:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr},stream:eo.chrdev_stream_ops}});var o=eo.createNode(e,r,t,n);return eo.isDir(o.mode)?(o.node_ops=en.ops_table.dir.node,o.stream_ops=en.ops_table.dir.stream,o.contents={}):eo.isFile(o.mode)?(o.node_ops=en.ops_table.file.node,o.stream_ops=en.ops_table.file.stream,o.usedBytes=0,o.contents=null):eo.isLink(o.mode)?(o.node_ops=en.ops_table.link.node,o.stream_ops=en.ops_table.link.stream):eo.isChrdev(o.mode)&&(o.node_ops=en.ops_table.chrdev.node,o.stream_ops=en.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},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)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}}},node_ops:{getattr:function(e){var r={};return r.dev=eo.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,eo.isDir(e.mode)?r.size=4096:eo.isFile(e.mode)?r.size=e.usedBytes:eo.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&&en.resizeFileStorage(e,r.size)},lookup:function(e,r){throw eo.genericErrors[44]},mknod:function(e,r,t,n){return en.createNode(e,r,t,n)},rename:function(e,r,t){if(eo.isDir(e.mode)){var n;try{n=eo.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new eo.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink:function(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir:function(e,r){var t=eo.lookupNode(e,r);for(var n in t.contents)throw new eo.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},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=en.createNode(e,r,41471,0);return n.link=t,n},readlink:function(e){if(!eo.isLink(e.mode))throw new eo.ErrnoError(28);return e.link}},stream_ops:{read:function(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s0||t+r{if(!(e=ee.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new eo.ErrnoError(32);for(var t=e.split("/").filter(e=>!!e),n=eo.root,o="/",a=0;a40)throw new eo.ErrnoError(32)}}return{path:o,node:n}},getPath:e=>{for(var r;;){if(eo.isRoot(e)){var t=e.mount.mountpoint;if(!r)return t;return"/"!==t[t.length-1]?t+"/"+r:t+r}r=r?e.name+"/"+r:e.name,e=e.parent}},hashName:(e,r)=>{for(var t=0,n=0;n>>0)%eo.nameTable.length},hashAddNode:e=>{var r=eo.hashName(e.parent.id,e.name);e.name_next=eo.nameTable[r],eo.nameTable[r]=e},hashRemoveNode:e=>{var r=eo.hashName(e.parent.id,e.name);if(eo.nameTable[r]===e)eo.nameTable[r]=e.name_next;else for(var t=eo.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode:(e,r)=>{var t=eo.mayLookup(e);if(t)throw new eo.ErrnoError(t,e);for(var n=eo.hashName(e.id,r),o=eo.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return eo.lookup(e,r)},createNode:(e,r,t,n)=>{var o=new eo.FSNode(e,r,t,n);return eo.hashAddNode(o),o},destroyNode:e=>{eo.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>(61440&e)==32768,isDir:e=>(61440&e)==16384,isLink:e=>(61440&e)==40960,isChrdev:e=>(61440&e)==8192,isBlkdev:e=>(61440&e)==24576,isFIFO:e=>(61440&e)==4096,isSocket:e=>(49152&e)==49152,flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var r=eo.flagModes[e];if(void 0===r)throw Error("Unknown file open mode: "+e);return r},flagsToPermissionString:e=>{var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>eo.ignorePermissions?0:r.includes("r")&&!(292&e.mode)||r.includes("w")&&!(146&e.mode)||r.includes("x")&&!(73&e.mode)?2:0,mayLookup:e=>eo.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,r)=>{try{return eo.lookupNode(e,r),20}catch(e){}return eo.nodePermissions(e,"wx")},mayDelete:(e,r,t)=>{try{n=eo.lookupNode(e,r)}catch(e){return e.errno}var n,o=eo.nodePermissions(e,"wx");if(o)return o;if(t){if(!eo.isDir(n.mode))return 54;if(eo.isRoot(n)||eo.getPath(n)===eo.cwd())return 10}else if(eo.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?eo.isLink(e.mode)?32:eo.isDir(e.mode)&&("r"!==eo.flagsToPermissionString(r)||512&r)?31:eo.nodePermissions(e,eo.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,r=eo.MAX_OPEN_FDS)=>{for(var t=e;t<=r;t++)if(!eo.streams[t])return t;throw new eo.ErrnoError(33)},getStream:e=>eo.streams[e],createStream:(e,r,t)=>{eo.FSStream||(eo.FSStream=function(){this.shared={}},eo.FSStream.prototype={},Object.defineProperties(eo.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return(2097155&this.flags)!=1}},isWrite:{get:function(){return(2097155&this.flags)!=0}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new eo.FSStream,e);var n=eo.nextfd(r,t);return e.fd=n,eo.streams[n]=e,e},closeStream:e=>{eo.streams[e]=null},chrdev_stream_ops:{open:e=>{var r=eo.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new eo.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice:(e,r)=>{eo.devices[e]={stream_ops:r}},getDevice:e=>eo.devices[e],getMounts:e=>{for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs:(e,r)=>{"function"==typeof e&&(r=e,e=!1),eo.syncFSRequests++,eo.syncFSRequests>1&&F("warning: "+eo.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=eo.getMounts(eo.root.mount),n=0;function o(e){return eo.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach(r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)})},mount:(e,r,t)=>{var n,o="/"===t,a=!t;if(o&&eo.root)throw new eo.ErrnoError(10);if(!o&&!a){var i=eo.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,eo.isMountpoint(n))throw new eo.ErrnoError(10);if(!eo.isDir(n.mode))throw new eo.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return u.mount=s,s.root=u,o?eo.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:e=>{var r=eo.lookupPath(e,{follow_mount:!1});if(!eo.isMountpoint(r.node))throw new eo.ErrnoError(28);var t=r.node,n=t.mounted,o=eo.getMounts(n);Object.keys(eo.nameTable).forEach(e=>{for(var r=eo.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&eo.destroyNode(r),r=t}}),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod:(e,r,t)=>{var n=eo.lookupPath(e,{parent:!0}).node,o=Q.basename(e);if(!o||"."===o||".."===o)throw new eo.ErrnoError(28);var a=eo.mayCreate(n,o);if(a)throw new eo.ErrnoError(a);if(!n.node_ops.mknod)throw new eo.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=(void 0!==r?r:438)&4095|32768,eo.mknod(e,r,0)),mkdir:(e,r)=>(r=(void 0!==r?r:511)&1023|16384,eo.mknod(e,r,0)),mkdirTree:(e,r)=>{for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,eo.mknod(e,r,t)),symlink:(e,r)=>{if(!ee.resolve(e))throw new eo.ErrnoError(44);var t=eo.lookupPath(r,{parent:!0}).node;if(!t)throw new eo.ErrnoError(44);var n=Q.basename(r),o=eo.mayCreate(t,n);if(o)throw new eo.ErrnoError(o);if(!t.node_ops.symlink)throw new eo.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename:(e,r)=>{var t,n,o,a=Q.dirname(e),i=Q.dirname(r),s=Q.basename(e),u=Q.basename(r);if(t=eo.lookupPath(e,{parent:!0}).node,n=eo.lookupPath(r,{parent:!0}).node,!t||!n)throw new eo.ErrnoError(44);if(t.mount!==n.mount)throw new eo.ErrnoError(75);var l=eo.lookupNode(t,s),c=ee.relative(e,i);if("."!==c.charAt(0))throw new eo.ErrnoError(28);if("."!==(c=ee.relative(r,a)).charAt(0))throw new eo.ErrnoError(55);try{o=eo.lookupNode(n,u)}catch(e){}if(l!==o){var d=eo.isDir(l.mode),f=eo.mayDelete(t,s,d);if(f||(f=o?eo.mayDelete(n,u,d):eo.mayCreate(n,u)))throw new eo.ErrnoError(f);if(!t.node_ops.rename)throw new eo.ErrnoError(63);if(eo.isMountpoint(l)||o&&eo.isMountpoint(o))throw new eo.ErrnoError(10);if(n!==t&&(f=eo.nodePermissions(t,"w")))throw new eo.ErrnoError(f);eo.hashRemoveNode(l);try{t.node_ops.rename(l,n,u)}catch(e){throw e}finally{eo.hashAddNode(l)}}},rmdir:e=>{var r=eo.lookupPath(e,{parent:!0}).node,t=Q.basename(e),n=eo.lookupNode(r,t),o=eo.mayDelete(r,t,!0);if(o)throw new eo.ErrnoError(o);if(!r.node_ops.rmdir)throw new eo.ErrnoError(63);if(eo.isMountpoint(n))throw new eo.ErrnoError(10);r.node_ops.rmdir(r,t),eo.destroyNode(n)},readdir:e=>{var r=eo.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new eo.ErrnoError(54);return r.node_ops.readdir(r)},unlink:e=>{var r=eo.lookupPath(e,{parent:!0}).node;if(!r)throw new eo.ErrnoError(44);var t=Q.basename(e),n=eo.lookupNode(r,t),o=eo.mayDelete(r,t,!1);if(o)throw new eo.ErrnoError(o);if(!r.node_ops.unlink)throw new eo.ErrnoError(63);if(eo.isMountpoint(n))throw new eo.ErrnoError(10);r.node_ops.unlink(r,t),eo.destroyNode(n)},readlink:e=>{var r=eo.lookupPath(e).node;if(!r)throw new eo.ErrnoError(44);if(!r.node_ops.readlink)throw new eo.ErrnoError(28);return ee.resolve(eo.getPath(r.parent),r.node_ops.readlink(r))},stat:(e,r)=>{var t=eo.lookupPath(e,{follow:!r}).node;if(!t)throw new eo.ErrnoError(44);if(!t.node_ops.getattr)throw new eo.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>eo.stat(e,!0),chmod:(e,r,t)=>{var n;if(!(n="string"==typeof e?eo.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new eo.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod:(e,r)=>{eo.chmod(e,r,!0)},fchmod:(e,r)=>{var t=eo.getStream(e);if(!t)throw new eo.ErrnoError(8);eo.chmod(t.node,r)},chown:(e,r,t,n)=>{var o;if(!(o="string"==typeof e?eo.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new eo.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,r,t)=>{eo.chown(e,r,t,!0)},fchown:(e,r,t)=>{var n=eo.getStream(e);if(!n)throw new eo.ErrnoError(8);eo.chown(n.node,r,t)},truncate:(e,r)=>{if(r<0)throw new eo.ErrnoError(28);if("string"==typeof e){var t;t=eo.lookupPath(e,{follow:!0}).node}else t=e;if(!t.node_ops.setattr)throw new eo.ErrnoError(63);if(eo.isDir(t.mode))throw new eo.ErrnoError(31);if(!eo.isFile(t.mode))throw new eo.ErrnoError(28);var n=eo.nodePermissions(t,"w");if(n)throw new eo.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate:(e,r)=>{var t=eo.getStream(e);if(!t)throw new eo.ErrnoError(8);if((2097155&t.flags)==0)throw new eo.ErrnoError(28);eo.truncate(t.node,r)},utime:(e,r,t)=>{var n=eo.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open:(r,t,n)=>{if(""===r)throw new eo.ErrnoError(44);if(t="string"==typeof t?eo.modeStringToFlags(t):t,n=void 0===n?438:n,n=64&t?4095&n|32768:0,"object"==typeof r)o=r;else{r=Q.normalize(r);try{var o;o=eo.lookupPath(r,{follow:!(131072&t)}).node}catch(e){}}var a=!1;if(64&t){if(o){if(128&t)throw new eo.ErrnoError(20)}else o=eo.mknod(r,n,0),a=!0}if(!o)throw new eo.ErrnoError(44);if(eo.isChrdev(o.mode)&&(t&=-513),65536&t&&!eo.isDir(o.mode))throw new eo.ErrnoError(54);if(!a){var i=eo.mayOpen(o,t);if(i)throw new eo.ErrnoError(i)}512&t&&!a&&eo.truncate(o,0),t&=-131713;var s=eo.createStream({node:o,path:eo.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!e.logReadFiles||1&t||(eo.readFiles||(eo.readFiles={}),r in eo.readFiles||(eo.readFiles[r]=1)),s},close:e=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{eo.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,r,t)=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new eo.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new eo.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read:(e,r,t,n,o)=>{if(n<0||o<0)throw new eo.ErrnoError(28);if(eo.isClosed(e)||(2097155&e.flags)==1)throw new eo.ErrnoError(8);if(eo.isDir(e.node.mode))throw new eo.ErrnoError(31);if(!e.stream_ops.read)throw new eo.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new eo.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write:(e,r,t,n,o,a)=>{if(n<0||o<0)throw new eo.ErrnoError(28);if(eo.isClosed(e)||(2097155&e.flags)==0)throw new eo.ErrnoError(8);if(eo.isDir(e.node.mode))throw new eo.ErrnoError(31);if(!e.stream_ops.write)throw new eo.ErrnoError(28);e.seekable&&1024&e.flags&&eo.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new eo.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},allocate:(e,r,t)=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);if(r<0||t<=0)throw new eo.ErrnoError(28);if((2097155&e.flags)==0)throw new eo.ErrnoError(8);if(!eo.isFile(e.node.mode)&&!eo.isDir(e.node.mode))throw new eo.ErrnoError(43);if(!e.stream_ops.allocate)throw new eo.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap:(e,r,t,n,o)=>{if((2&n)!=0&&(2&o)==0&&(2097155&e.flags)!=2||(2097155&e.flags)==1)throw new eo.ErrnoError(2);if(!e.stream_ops.mmap)throw new eo.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl:(e,r,t)=>{if(!e.stream_ops.ioctl)throw new eo.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile:(e,r={})=>{if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw Error('Invalid encoding type "'+r.encoding+'"');var t,n=eo.open(e,r.flags),o=eo.stat(e).size,a=new Uint8Array(o);return eo.read(n,a,0,o,0),"utf8"===r.encoding?t=x(a,0):"binary"===r.encoding&&(t=a),eo.close(n),t},writeFile:(e,r,t={})=>{t.flags=t.flags||577;var n=eo.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(T(r)+1),a=C(r,o,0,o.length);eo.write(n,o,0,a,void 0,t.canOwn)}else if(ArrayBuffer.isView(r))eo.write(n,r,0,r.byteLength,void 0,t.canOwn);else throw Error("Unsupported data type");eo.close(n)},cwd:()=>eo.currentPath,chdir:e=>{var r=eo.lookupPath(e,{follow:!0});if(null===r.node)throw new eo.ErrnoError(44);if(!eo.isDir(r.node.mode))throw new eo.ErrnoError(54);var t=eo.nodePermissions(r.node,"x");if(t)throw new eo.ErrnoError(t);eo.currentPath=r.path},createDefaultDirectories:()=>{eo.mkdir("/tmp"),eo.mkdir("/home"),eo.mkdir("/home/web_user")},createDefaultDevices:()=>{eo.mkdir("/dev"),eo.registerDevice(eo.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),eo.mkdev("/dev/null",eo.makedev(1,3)),et.register(eo.makedev(5,0),et.default_tty_ops),et.register(eo.makedev(6,0),et.default_tty1_ops),eo.mkdev("/dev/tty",eo.makedev(5,0)),eo.mkdev("/dev/tty1",eo.makedev(6,0));var e=function(){if("object"!=typeof crypto||"function"!=typeof crypto.getRandomValues)return()=>V("randomDevice");var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}();eo.createDevice("/dev","random",e),eo.createDevice("/dev","urandom",e),eo.mkdir("/dev/shm"),eo.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{eo.mkdir("/proc");var e=eo.mkdir("/proc/self");eo.mkdir("/proc/self/fd"),eo.mount({mount:()=>{var r=eo.createNode(e,"fd",16895,73);return r.node_ops={lookup:(e,r)=>{var t=eo.getStream(+r);if(!t)throw new eo.ErrnoError(8);var n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>t.path}};return n.parent=n,n}},r}},{},"/proc/self/fd")},createStandardStreams:()=>{e.stdin?eo.createDevice("/dev","stdin",e.stdin):eo.symlink("/dev/tty","/dev/stdin"),e.stdout?eo.createDevice("/dev","stdout",null,e.stdout):eo.symlink("/dev/tty","/dev/stdout"),e.stderr?eo.createDevice("/dev","stderr",null,e.stderr):eo.symlink("/dev/tty1","/dev/stderr"),eo.open("/dev/stdin",0),eo.open("/dev/stdout",1),eo.open("/dev/stderr",1)},ensureErrnoError:()=>{eo.ErrnoError||(eo.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},eo.ErrnoError.prototype=Error(),eo.ErrnoError.prototype.constructor=eo.ErrnoError,[44].forEach(e=>{eo.genericErrors[e]=new eo.ErrnoError(e),eo.genericErrors[e].stack=""}))},staticInit:()=>{eo.ensureErrnoError(),eo.nameTable=Array(4096),eo.mount(en,{},"/"),eo.createDefaultDirectories(),eo.createDefaultDevices(),eo.createSpecialDirectories(),eo.filesystems={MEMFS:en}},init:(r,t,n)=>{eo.init.initialized=!0,eo.ensureErrnoError(),e.stdin=r||e.stdin,e.stdout=t||e.stdout,e.stderr=n||e.stderr,eo.createStandardStreams()},quit:()=>{eo.init.initialized=!1,eE(0);for(var e=0;e{var t=0;return e&&(t|=365),r&&(t|=146),t},findObject:(e,r)=>{var t=eo.analyzePath(e,r);return t.exists?t.object:null},analyzePath:(e,r)=>{try{var t=eo.lookupPath(e,{follow:!r});e=t.path}catch(e){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var t=eo.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=t.path,n.parentObject=t.node,n.name=Q.basename(e),t=eo.lookupPath(e,{follow:!r}),n.exists=!0,n.path=t.path,n.object=t.node,n.name=t.node.name,n.isRoot="/"===t.path}catch(e){n.error=e.errno}return n},createPath:(e,r,t,n)=>{e="string"==typeof e?e:eo.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var i=Q.join2(e,a);try{eo.mkdir(i)}catch(e){}e=i}}return i},createFile:(e,r,t,n,o)=>{var a=Q.join2("string"==typeof e?e:eo.getPath(e),r),i=eo.getMode(n,o);return eo.create(a,i)},createDataFile:(e,r,t,n,o,a)=>{var i=r;e&&(e="string"==typeof e?e:eo.getPath(e),i=r?Q.join2(e,r):e);var s=eo.getMode(n,o),u=eo.create(i,s);if(t){if("string"==typeof t){for(var l=Array(t.length),c=0,d=t.length;c{var o=Q.join2("string"==typeof e?e:eo.getPath(e),r),a=eo.getMode(!!t,!!n);eo.createDevice.major||(eo.createDevice.major=64);var i=eo.makedev(eo.createDevice.major++,0);return eo.registerDevice(i,{open:e=>{e.seekable=!1},close:e=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(e,r,n,o,a)=>{for(var i,s=0,u=0;u{for(var i=0;i{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw 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(o)try{e.contents=er(o(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new eo.ErrnoError(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile:(e,r,t,n,o)=>{function a(){this.lengthKnown=!1,this.chunks=[]}if(a.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]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e,r=new XMLHttpRequest;if(r.open("HEAD",t,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw Error("Couldn't load "+t+". Status: "+r.status);var n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=(e,r)=>{if(e>r)throw Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+e+"-"+r),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 Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):er(o.responseText||"",!0)},u=this;u.setDataGetter(e=>{var r=e*i,t=(e+1)*i-1;if(t=Math.min(t,n-1),void 0===u.chunks[e]&&(u.chunks[e]=s(r,t)),void 0===u.chunks[e])throw Error("doXHR failed!");return u.chunks[e]}),(a||!n)&&(i=n=1,i=n=this.getter(0).length,D("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){var i;throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"}var i={isDevice:!1,url:t},s=eo.createFile(e,r,i,n,o);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s{var r=s.stream_ops[e];u[e]=function(){return eo.forceLoadFile(s),r.apply(null,arguments)}}),u.read=(e,r,t,n,o)=>(eo.forceLoadFile(s),l(e,r,t,n,o)),u.mmap=(e,r,t,n,o)=>{eo.forceLoadFile(s);var a=void V();if(!a)throw new eo.ErrnoError(48);return l(e,d,a,r,t),{ptr:a,allocated:!0}},s.stream_ops=u,s},createPreloadedFile:(e,r,t,n,o,a,s,u,l,c)=>{var d,f,m=r?ee.resolve(Q.join2(e,r)):e,h="cp "+m;function p(t){function i(t){c&&c(),u||eo.createDataFile(e,r,t,n,o,l),a&&a(),G(h)}Browser.handledByPreloadPlugin(t,m,i,()=>{s&&s(),G(h)})||i(t)}Y(h),"string"==typeof t?(d=e=>p(e),f="al "+t,i(t,e=>{var r;r='Loading data file "'+t+'" failed (no arrayBuffer).',e||V(r),d(new Uint8Array(e)),f&&G(f)},e=>{if(s)s();else throw'Loading data file "'+t+'" failed.'}),f&&Y(f)):p(t)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,r=()=>{},t=()=>{})=>{var n=eo.indexedDB();try{var o=n.open(eo.DB_NAME(),eo.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=()=>{D("creating db"),o.result.createObjectStore(eo.DB_STORE_NAME)},o.onsuccess=()=>{var n=o.result.transaction([eo.DB_STORE_NAME],"readwrite"),a=n.objectStore(eo.DB_STORE_NAME),i=0,s=0,u=e.length;function l(){0==s?r():t()}e.forEach(e=>{var r=a.put(eo.analyzePath(e).object.contents,e);r.onsuccess=()=>{++i+s==u&&l()},r.onerror=()=>{i+ ++s==u&&l()}}),n.onerror=t},o.onerror=t},loadFilesFromDB:(e,r=()=>{},t=()=>{})=>{var n=eo.indexedDB();try{var o=n.open(eo.DB_NAME(),eo.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=t,o.onsuccess=()=>{var n=o.result;try{var a=n.transaction([eo.DB_STORE_NAME],"readonly")}catch(e){t(e);return}var i=a.objectStore(eo.DB_STORE_NAME),s=0,u=0,l=e.length;function c(){0==u?r():t()}e.forEach(e=>{var r=i.get(e);r.onsuccess=()=>{eo.analyzePath(e).exists&&eo.unlink(e),eo.createDataFile(Q.dirname(e),Q.basename(e),r.result,!0,!0,!0),++s+u==l&&c()},r.onerror=()=>{s+ ++u==l&&c()}}),a.onerror=t},o.onerror=t}},ea={DEFAULT_POLLMASK:5,calculateAt:function(e,r,t){if(Q.isAbs(r))return r;if(-100===e)n=eo.cwd();else{var n;n=ea.getStreamFromFD(e).path}if(0==r.length){if(!t)throw new eo.ErrnoError(44);return n}return Q.join2(n,r)},doStat:function(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&Q.normalize(r)!==Q.normalize(eo.getPath(e.node)))return -54;throw e}h[t>>2]=n.dev,h[t+8>>2]=n.ino,h[t+12>>2]=n.mode,p[t+16>>2]=n.nlink,h[t+20>>2]=n.uid,h[t+24>>2]=n.gid,h[t+28>>2]=n.rdev,g=[n.size>>>0,+Math.abs(w=n.size)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+40>>2]=g[0],h[t+44>>2]=g[1],h[t+48>>2]=4096,h[t+52>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return g=[Math.floor(o/1e3)>>>0,+Math.abs(w=Math.floor(o/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+56>>2]=g[0],h[t+60>>2]=g[1],p[t+64>>2]=o%1e3*1e3,g=[Math.floor(a/1e3)>>>0,+Math.abs(w=Math.floor(a/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+72>>2]=g[0],h[t+76>>2]=g[1],p[t+80>>2]=a%1e3*1e3,g=[Math.floor(i/1e3)>>>0,+Math.abs(w=Math.floor(i/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+88>>2]=g[0],h[t+92>>2]=g[1],p[t+96>>2]=i%1e3*1e3,g=[n.ino>>>0,+Math.abs(w=n.ino)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+104>>2]=g[0],h[t+108>>2]=g[1],0},doMsync:function(e,r,t,n,o){if(!eo.isFile(r.node.mode))throw new eo.ErrnoError(43);if(2&n)return 0;var a=f.slice(e,e+t);eo.msync(r,a,o,t,n)},varargs:void 0,get:function(){return ea.varargs+=4,h[ea.varargs-4>>2]},getStr:function(e){return R(e)},getStreamFromFD:function(e){var r=eo.getStream(e);if(!r)throw new eo.ErrnoError(8);return r}};function ei(e){return e%4==0&&(e%100!=0||e%400==0)}var es=[0,31,60,91,121,152,182,213,244,274,305,335],eu=[0,31,59,90,120,151,181,212,243,273,304,334];function el(e){var r=T(e)+1,t=eg(r);return t&&C(e,d,t,r),t}function ec(r,t){c=r,M||U>0||(ek(),Z(O),eo.quit(),et.shutdown(),L=!0),c=r,M||U>0||(e.onExit&&e.onExit(r),A=!0),k(r,new J(r))}var ed=[31,29,31,30,31,30,31,31,30,31,30,31],ef=[31,28,31,30,31,30,31,31,30,31,30,31];function em(e){if(e instanceof J||"unwind"==e)return c;k(1,e)}function eh(e){try{return e()}catch(e){V(e)}}var ep={instrumentWasmImports:function(e){var r=["emscripten_sleep","emscripten_wget","emscripten_wget_data","emscripten_idb_load","emscripten_idb_store","emscripten_idb_delete","emscripten_idb_exists","emscripten_idb_load_blob","emscripten_idb_store_blob","SDL_Delay","emscripten_scan_registers","emscripten_lazy_load_code","emscripten_fiber_swap","__load_secondary_module","fd_sync","__wasi_fd_sync","_emval_await","_dlopen_js","__asyncjs__*"];for(var t in e)!function(t){var n=e[t];n.sig,"function"==typeof n&&(r.indexOf(t)>=0||t.startsWith("__asyncjs__"))}(t)},instrumentWasmExports:function(e){var r={};for(var t in e)!function(t){var n=e[t];"function"==typeof n?r[t]=function(){ep.exportCallStack.push(t);try{return n.apply(null,arguments)}finally{A||(ep.exportCallStack.pop()===t||V(void 0),ep.maybeStopUnwind())}}:r[t]=n}(t);return r},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:8192,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId:function(e){var r=ep.callStackNameToId[e];return void 0===r&&(r=ep.callStackId++,ep.callStackNameToId[e]=r,ep.callStackIdToName[r]=e),r},maybeStopUnwind:function(){ep.currData&&ep.state===ep.State.Unwinding&&0===ep.exportCallStack.length&&(ep.state=ep.State.Normal,U+=1,eh(eF),"undefined"!=typeof Fibers&&Fibers.trampoline())},whenDone:function(){return new Promise((e,r)=>{ep.asyncPromiseHandlers={resolve:e,reject:r}})},allocateData:function(){var e=eg(12+ep.StackSize);return ep.setDataHeader(e,e+12,ep.StackSize),ep.setDataRewindFunc(e),e},setDataHeader:function(e,r,t){h[e>>2]=r,h[e+4>>2]=r+t},setDataRewindFunc:function(e){var r=ep.exportCallStack[0],t=ep.getCallStackId(r);h[e+8>>2]=t},getDataRewindFunc:function(r){var t=h[r+8>>2],n=ep.callStackIdToName[t];return e.asm[n]},doRewind:function(e){var r=ep.getDataRewindFunc(e);return U-=1,r()},handleSleep:function(e){if(!A){if(ep.state===ep.State.Normal){var r=!1,t=!1;e((e=0)=>{if(!A&&(ep.handleSleepReturnValue=e,r=!0,t)){ep.state=ep.State.Rewinding,eh(()=>eM(ep.currData)),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.resume();var n,o=!1;try{n=ep.doRewind(ep.currData)}catch(e){n=e,o=!0}var a=!1;if(!ep.currData){var i=ep.asyncPromiseHandlers;i&&(ep.asyncPromiseHandlers=null,(o?i.reject:i.resolve)(n),a=!0)}if(o&&!a)throw n}}),t=!0,r||(ep.state=ep.State.Unwinding,ep.currData=ep.allocateData(),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.pause(),eh(()=>eD(ep.currData)))}else ep.state===ep.State.Rewinding?(ep.state=ep.State.Normal,eh(eA),e_(ep.currData),ep.currData=null,ep.sleepCallbacks.forEach(e=>(function(e){if(!L&&!A)try{e(),function(){if(!(M||U>0))try{ec(c)}catch(e){em(e)}}()}catch(e){em(e)}})(e))):V("invalid state: "+ep.state);return ep.handleSleepReturnValue}},handleAsync:function(e){return ep.handleSleep(r=>{e().then(r)})}},ev=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=eo.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n};Object.defineProperties(ev.prototype,{read:{get:function(){return(365&this.mode)==365},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return(146&this.mode)==146},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return eo.isDir(this.mode)}},isDevice:{get:function(){return eo.isChrdev(this.mode)}}}),eo.FSNode=ev,eo.staticInit();var ew={j:function(r,t){return ep.handleAsync(async()=>{e.emglken_stdin_buffers.length||await new Promise(r=>{e.emglken_stdin_ready=r});let n=e.emglken_stdin_buffers.shift(),o=Math.min(n.length,t);return o==n.length?f.set(n,r):(f.set(n.subarray(0,o),r),e.emglken_stdin_buffers.unshift(n.subarray(o))),o})},s:function(e,r,t,n){try{if(r=ea.getStr(r),r=ea.calculateAt(e,r),-8&t)return -28;var o=eo.lookupPath(r,{follow:!0}).node;if(!o)return -44;var a="";if(4&t&&(a+="r"),2&t&&(a+="w"),1&t&&(a+="x"),a&&eo.nodePermissions(o,a))return -2;return 0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},e:function(e,r,t){ea.varargs=t;try{var n=ea.getStreamFromFD(e);switch(r){case 0:var o=ea.get();if(o<0)return -28;return eo.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=ea.get();return n.flags|=o,0;case 5:var o=ea.get();return m[o+0>>1]=2,0;case 16:case 8:default:return -28;case 9:return h[eb()>>2]=28,-1}}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},r:function(e,r){try{if(0===r)return -28;var t=eo.cwd(),n=T(t)+1;if(r>2]=0,0;case 21520:if(!n.tty)return -59;return -28;case 21531:var o=ea.get();return eo.ioctl(n,r,o);default:return -28}}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},p:function(e,r,t,n){ea.varargs=n;try{r=ea.getStr(r),r=ea.calculateAt(e,r);var o=n?ea.get():0;return eo.open(r,t,o).fd}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},o:function(e,r){try{return e=ea.getStr(e),ea.doStat(eo.stat,e,r)}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},m:function(){return!0},l:function(e,r){var t=new Date(1e3*(p[e>>2]+4294967296*h[e+4>>2]));h[r>>2]=t.getSeconds(),h[r+4>>2]=t.getMinutes(),h[r+8>>2]=t.getHours(),h[r+12>>2]=t.getDate(),h[r+16>>2]=t.getMonth(),h[r+20>>2]=t.getFullYear()-1900,h[r+24>>2]=t.getDay();var n=0|(ei(t.getFullYear())?es:eu)[t.getMonth()]+t.getDate()-1;h[r+28>>2]=n,h[r+36>>2]=-(60*t.getTimezoneOffset());var o=new Date(t.getFullYear(),0,1),a=new Date(t.getFullYear(),6,1).getTimezoneOffset(),i=o.getTimezoneOffset(),s=0|(a!=i&&t.getTimezoneOffset()==Math.min(i,a));h[r+32>>2]=s},k:function(e,r,t){var n=new Date().getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),i=o.getTimezoneOffset(),s=a.getTimezoneOffset();function u(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}p[e>>2]=60*Math.max(i,s),h[r>>2]=Number(i!=s);var l=u(o),c=u(a),d=el(l),f=el(c);s>2]=d,p[t+4>>2]=f):(p[t>>2]=f,p[t+4>>2]=d)},b:function(){return Date.now()},i:function(e,r,t){f.copyWithin(e,r,r+t)},h:function(e){var r=f.length;if((e>>>=0)>2147483648)return!1;let t=(e,r)=>e+(r-e%r)%r;for(var n=1;n<=4;n*=2){var o=r*(1+.2/n);if(o=Math.min(o,e+100663296),function(e){var r=l.buffer;try{return l.grow(e-r.byteLength+65535>>>16),N(),1}catch(e){}}(Math.min(2147483648,t(Math.max(e,o),65536))))return!0}return!1},a:ec,d:function(e){try{var r=ea.getStreamFromFD(e);return eo.close(r),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},n:function(e,r,t,n){try{var o=ea.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=eo.read(e,d,i,s,n);if(u<0)return -1;if(o+=u,u>2]=a,0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},g:function(e,r,t,n,o){try{var a=t+2097152>>>0<4194305-!!r?(r>>>0)+4294967296*t:NaN;if(isNaN(a))return 61;var i=ea.getStreamFromFD(e);return eo.llseek(i,a,n),g=[i.position>>>0,(w=i.position,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],h[o>>2]=g[0],h[o+4>>2]=g[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},c:function(e,r,t,n){try{var o=ea.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=eo.write(e,d,i,s,n);if(u<0)return -1;o+=u,void 0!==n&&(n+=u)}return o}(o,r,t);return p[n>>2]=a,0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},f:function(e,r,t,n){var o=h[n+40>>2],a={tm_sec:h[n>>2],tm_min:h[n+4>>2],tm_hour:h[n+8>>2],tm_mday:h[n+12>>2],tm_mon:h[n+16>>2],tm_year:h[n+20>>2],tm_wday:h[n+24>>2],tm_yday:h[n+28>>2],tm_isdst:h[n+32>>2],tm_gmtoff:h[n+36>>2],tm_zone:o?R(o):""},i=R(t),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in s)i=i.replace(RegExp(u,"g"),s[u]);var l=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function f(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length0?1:0}return 0===(t=n(e.getFullYear()-r.getFullYear()))&&0===(t=n(e.getMonth()-r.getMonth()))&&(t=n(e.getDate()-r.getDate())),t}function v(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function w(e){var r=function(e,r){for(var t=new Date(e.getTime());r>0;){var n=ei(t.getFullYear()),o=t.getMonth(),a=(n?ed:ef)[o];if(r>a-t.getDate())r-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1));else{t.setDate(t.getDate()+r);break}}return t}(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),o=v(t),a=v(n);return 0>=p(o,r)?0>=p(a,r)?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var g={"%a":function(e){return l[e.tm_wday].substring(0,3)},"%A":function(e){return l[e.tm_wday]},"%b":function(e){return c[e.tm_mon].substring(0,3)},"%B":function(e){return c[e.tm_mon]},"%C":function(e){return m((e.tm_year+1900)/100|0,2)},"%d":function(e){return m(e.tm_mday,2)},"%e":function(e){return f(e.tm_mday,2," ")},"%g":function(e){return w(e).toString().substring(2)},"%G":function(e){return w(e)},"%H":function(e){return m(e.tm_hour,2)},"%I":function(e){var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),m(r,2)},"%j":function(e){return m(e.tm_mday+function(e,r){for(var t=0,n=0;n<=r;t+=e[n++]);return t}(ei(e.tm_year+1900)?ed:ef,e.tm_mon-1),3)},"%m":function(e){return m(e.tm_mon+1,2)},"%M":function(e){return m(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return m(e.tm_sec,2)},"%t":function(){return" "},"%u":function(e){return e.tm_wday||7},"%U":function(e){return m(Math.floor((e.tm_yday+7-e.tm_wday)/7),2)},"%V":function(e){var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&ei(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&ei(e.tm_year%400-1))&&r++}return m(r,2)},"%w":function(e){return e.tm_wday},"%W":function(e){return m(Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var r=e.tm_gmtoff;return(r>=0?"+":"-")+String("0000"+(r=(r=Math.abs(r)/60)/60*100+r%60)).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var u in i=i.replace(/%%/g,"\x00\x00"),g)i.includes(u)&&(i=i.replace(RegExp(u,"g"),g[u](a)));var _=er(i=i.replace(/\0\0/g,"%"),!1);return _.length>r?0:(d.set(_,e),_.length-1)}};!function(){var r,t,o,a={a:ew};function i(r,t){var n,o=r.exports;return o=ep.instrumentWasmExports(o),e.asm=o,l=e.asm.t,N(),e.asm.C,n=e.asm.u,B.unshift(n),G("wasm-instantiate"),o}if(Y("wasm-instantiate"),e.instantiateWasm)try{return e.instantiateWasm(a,i)}catch(e){F("Module.instantiateWasm callback failed with error: "+e),n(e)}(r=u,t=v,o=function(e){i(e.instance)},r||"function"!=typeof WebAssembly.instantiateStreaming||X(t)||"function"!=typeof fetch?$(t,a,o):fetch(t,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,a).then(o,function(e){return F("wasm streaming compile failed: "+e),F("falling back to ArrayBuffer instantiation"),$(t,a,o)})})).catch(n)}();var eg=function(){return(eg=e.asm.v).apply(null,arguments)},e_=function(){return(e_=e.asm.w).apply(null,arguments)},ey=e._main=function(){return(ey=e._main=e.asm.x).apply(null,arguments)},eE=(e._gidispatch_get_game_id=function(){return(e._gidispatch_get_game_id=e.asm.y).apply(null,arguments)},e._fflush=function(){return(eE=e._fflush=e.asm.z).apply(null,arguments)}),eb=function(){return(eb=e.asm.A).apply(null,arguments)},ek=function(){return(ek=e.asm.B).apply(null,arguments)},eS=function(){return(eS=e.asm.D).apply(null,arguments)},eD=function(){return(eD=e.asm.E).apply(null,arguments)},eF=function(){return(eF=e.asm.F).apply(null,arguments)},eM=function(){return(eM=e.asm.G).apply(null,arguments)},eA=function(){return(eA=e.asm.H).apply(null,arguments)};function eP(r=E){!(H>0)&&(function(){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;){var r;r=e.preRun.shift(),z.unshift(r)}Z(z)}(),H>0||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),n()},1)):n()));function n(){!_&&(_=!0,e.calledRun=!0,A||(e.noFSInit||eo.init.initialized||eo.init(),eo.ignorePermissions=!1,et.init(),Z(B),Z(j),t(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),ex&&function(e=[]){var r=ey;e.unshift(b);var t=e.length,n=eS((t+1)*4),o=n>>2;e.forEach(e=>{var r,t;h[o++]=(t=eS(r=T(e)+1),C(e,d,t,r),t)}),h[o]=0;try{var a=r(t,n);ec(a,!0)}catch(e){return em(e)}}(r),function(){if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var r;r=e.postRun.shift(),I.unshift(r)}Z(I)}()))}}if(e.___start_em_js=18128,e.___stop_em_js=20813,e.AsciiToString=function(e){for(var r="";;){var t=f[e++>>0];if(!t)return r;r+=String.fromCharCode(t)}},e.FS=eo,q=function e(){_||eP(),_||(q=e)},e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();var ex=!0;return e.noInitialRun&&(ex=!1),eP(),e.ready}),rN={};rN=B("6kBsm").getBundleURL("ejVIo")+B("n9Yfb").resolve("b8QSH");var rz=(i="file:///node_modules/emglken/build/tads-core.js",function(e={}){var r,t,n,o,a,s,u,l,c,d,f,m,h,p,v,w,g,_,e=void 0!==e?e:{};e.ready=new Promise(function(e,r){t=e,n=r});var y=Object.assign({},e),E=[],b="./this.program",k=(e,r)=>{throw r},S="";"undefined"!=typeof document&&document.currentScript&&(S=document.currentScript.src),i&&(S=i),S=0!==S.indexOf("blob:")?S.substr(0,S.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},a=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{if(200==n.status||0==n.status&&n.response){r(n.response);return}t()},n.onerror=t,n.send(null)};var D=e.print||console.log.bind(console),F=e.printErr||console.warn.bind(console);Object.assign(e,y),y=null,e.arguments&&(E=e.arguments),e.thisProgram&&(b=e.thisProgram),e.quit&&(k=e.quit),e.wasmBinary&&(u=e.wasmBinary);var M=e.noExitRuntime||!1;"object"!=typeof WebAssembly&&V("no native wasm support detected");var A=!1,P=new TextDecoder("utf8");function x(e,r,t){for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;return P.decode(e.buffer?e.subarray(r,o):new Uint8Array(e.slice(r,o)))}function R(e,r){if(!e)return"";for(var t=e+r,n=e;!(n>=t)&&f[n];)++n;return P.decode(f.subarray(e,n))}function C(e,r,t,n){if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)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 T(e){for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r}function N(){var r=l.buffer;e.HEAP8=d=new Int8Array(r),e.HEAP16=m=new Int16Array(r),e.HEAP32=h=new Int32Array(r),e.HEAPU8=f=new Uint8Array(r),e.HEAPU16=new Uint16Array(r),e.HEAPU32=p=new Uint32Array(r),e.HEAPF32=new Float32Array(r),e.HEAPF64=new Float64Array(r)}var z=[],B=[],j=[],O=[],I=[],L=!1,U=0,H=0,W=null,q=null;function Y(r){H++,e.monitorRunDependencies&&e.monitorRunDependencies(H)}function G(r){if(H--,e.monitorRunDependencies&&e.monitorRunDependencies(H),0==H&&(null!==W&&(clearInterval(W),W=null),q)){var t=q;q=null,t()}}function V(r){e.onAbort&&e.onAbort(r),F(r="Aborted("+r+")"),A=!0,c=1,r+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(r);throw n(t),t}function X(e){return e.startsWith("data:application/octet-stream;base64,")}function K(e){try{if(e==v&&u)return new Uint8Array(u);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}catch(e){V(e)}}function $(e,r,t){return(u||"function"!=typeof fetch?Promise.resolve().then(function(){return K(e)}):fetch(e,{credentials:"same-origin"}).then(function(r){if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()}).catch(function(){return K(e)})).then(function(e){return WebAssembly.instantiate(e,r)}).then(function(e){return e}).then(t,function(e){F("failed to asynchronously prepare wasm: "+e),V(e)})}function J(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Z(r){for(;r.length>0;)r.shift()(e)}e.locateFile?X(v="tads-core.wasm")||(r=v,v=e.locateFile?e.locateFile(r,S):S+r):v=new URL(rN).href;var Q={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(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:e=>{var r=Q.isAbs(e),t="/"===e.substr(-1);return(e=Q.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Q.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=Q.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return -1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Q.normalize(e.join("/"))},join2:(e,r)=>Q.normalize(e+"/"+r)},ee={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:eo.cwd();if("string"!=typeof n)throw TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=Q.isAbs(n)}return e=Q.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+e||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=ee.resolve(e).substr(1),r=ee.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s0?t:T(e)+1),o=C(e,n,0,n.length);return r&&(n.length=o),n}var et={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){et.ttys[e]={input:[],output:[],ops:r},eo.registerDevice(e,et.stream_ops)},stream_ops:{open:function(e){var r=et.ttys[e.node.rdev];if(!r)throw new eo.ErrnoError(43);e.tty=r,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new eo.ErrnoError(60);for(var a,i=0,s=0;s0&&(D(x(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(F(x(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync:function(e){e.output&&e.output.length>0&&(F(x(e.output,0)),e.output=[])}}},en={ops_table:null,mount:function(e){return en.createNode(null,"/",16895,0)},createNode:function(e,r,t,n){if(eo.isBlkdev(t)||eo.isFIFO(t))throw new eo.ErrnoError(63);en.ops_table||(en.ops_table={dir:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr,lookup:en.node_ops.lookup,mknod:en.node_ops.mknod,rename:en.node_ops.rename,unlink:en.node_ops.unlink,rmdir:en.node_ops.rmdir,readdir:en.node_ops.readdir,symlink:en.node_ops.symlink},stream:{llseek:en.stream_ops.llseek}},file:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr},stream:{llseek:en.stream_ops.llseek,read:en.stream_ops.read,write:en.stream_ops.write,allocate:en.stream_ops.allocate,mmap:en.stream_ops.mmap,msync:en.stream_ops.msync}},link:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr,readlink:en.node_ops.readlink},stream:{}},chrdev:{node:{getattr:en.node_ops.getattr,setattr:en.node_ops.setattr},stream:eo.chrdev_stream_ops}});var o=eo.createNode(e,r,t,n);return eo.isDir(o.mode)?(o.node_ops=en.ops_table.dir.node,o.stream_ops=en.ops_table.dir.stream,o.contents={}):eo.isFile(o.mode)?(o.node_ops=en.ops_table.file.node,o.stream_ops=en.ops_table.file.stream,o.usedBytes=0,o.contents=null):eo.isLink(o.mode)?(o.node_ops=en.ops_table.link.node,o.stream_ops=en.ops_table.link.stream):eo.isChrdev(o.mode)&&(o.node_ops=en.ops_table.chrdev.node,o.stream_ops=en.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},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)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}}},node_ops:{getattr:function(e){var r={};return r.dev=eo.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,eo.isDir(e.mode)?r.size=4096:eo.isFile(e.mode)?r.size=e.usedBytes:eo.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&&en.resizeFileStorage(e,r.size)},lookup:function(e,r){throw eo.genericErrors[44]},mknod:function(e,r,t,n){return en.createNode(e,r,t,n)},rename:function(e,r,t){if(eo.isDir(e.mode)){var n;try{n=eo.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new eo.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink:function(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir:function(e,r){var t=eo.lookupNode(e,r);for(var n in t.contents)throw new eo.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},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=en.createNode(e,r,41471,0);return n.link=t,n},readlink:function(e){if(!eo.isLink(e.mode))throw new eo.ErrnoError(28);return e.link}},stream_ops:{read:function(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s0||t+r{if(!(e=ee.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new eo.ErrnoError(32);for(var t=e.split("/").filter(e=>!!e),n=eo.root,o="/",a=0;a40)throw new eo.ErrnoError(32)}}return{path:o,node:n}},getPath:e=>{for(var r;;){if(eo.isRoot(e)){var t=e.mount.mountpoint;if(!r)return t;return"/"!==t[t.length-1]?t+"/"+r:t+r}r=r?e.name+"/"+r:e.name,e=e.parent}},hashName:(e,r)=>{for(var t=0,n=0;n>>0)%eo.nameTable.length},hashAddNode:e=>{var r=eo.hashName(e.parent.id,e.name);e.name_next=eo.nameTable[r],eo.nameTable[r]=e},hashRemoveNode:e=>{var r=eo.hashName(e.parent.id,e.name);if(eo.nameTable[r]===e)eo.nameTable[r]=e.name_next;else for(var t=eo.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode:(e,r)=>{var t=eo.mayLookup(e);if(t)throw new eo.ErrnoError(t,e);for(var n=eo.hashName(e.id,r),o=eo.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return eo.lookup(e,r)},createNode:(e,r,t,n)=>{var o=new eo.FSNode(e,r,t,n);return eo.hashAddNode(o),o},destroyNode:e=>{eo.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>(61440&e)==32768,isDir:e=>(61440&e)==16384,isLink:e=>(61440&e)==40960,isChrdev:e=>(61440&e)==8192,isBlkdev:e=>(61440&e)==24576,isFIFO:e=>(61440&e)==4096,isSocket:e=>(49152&e)==49152,flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var r=eo.flagModes[e];if(void 0===r)throw Error("Unknown file open mode: "+e);return r},flagsToPermissionString:e=>{var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>eo.ignorePermissions?0:r.includes("r")&&!(292&e.mode)||r.includes("w")&&!(146&e.mode)||r.includes("x")&&!(73&e.mode)?2:0,mayLookup:e=>eo.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,r)=>{try{return eo.lookupNode(e,r),20}catch(e){}return eo.nodePermissions(e,"wx")},mayDelete:(e,r,t)=>{try{n=eo.lookupNode(e,r)}catch(e){return e.errno}var n,o=eo.nodePermissions(e,"wx");if(o)return o;if(t){if(!eo.isDir(n.mode))return 54;if(eo.isRoot(n)||eo.getPath(n)===eo.cwd())return 10}else if(eo.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?eo.isLink(e.mode)?32:eo.isDir(e.mode)&&("r"!==eo.flagsToPermissionString(r)||512&r)?31:eo.nodePermissions(e,eo.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,r=eo.MAX_OPEN_FDS)=>{for(var t=e;t<=r;t++)if(!eo.streams[t])return t;throw new eo.ErrnoError(33)},getStream:e=>eo.streams[e],createStream:(e,r,t)=>{eo.FSStream||(eo.FSStream=function(){this.shared={}},eo.FSStream.prototype={},Object.defineProperties(eo.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return(2097155&this.flags)!=1}},isWrite:{get:function(){return(2097155&this.flags)!=0}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new eo.FSStream,e);var n=eo.nextfd(r,t);return e.fd=n,eo.streams[n]=e,e},closeStream:e=>{eo.streams[e]=null},chrdev_stream_ops:{open:e=>{var r=eo.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new eo.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice:(e,r)=>{eo.devices[e]={stream_ops:r}},getDevice:e=>eo.devices[e],getMounts:e=>{for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs:(e,r)=>{"function"==typeof e&&(r=e,e=!1),eo.syncFSRequests++,eo.syncFSRequests>1&&F("warning: "+eo.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=eo.getMounts(eo.root.mount),n=0;function o(e){return eo.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach(r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)})},mount:(e,r,t)=>{var n,o="/"===t,a=!t;if(o&&eo.root)throw new eo.ErrnoError(10);if(!o&&!a){var i=eo.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,eo.isMountpoint(n))throw new eo.ErrnoError(10);if(!eo.isDir(n.mode))throw new eo.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return u.mount=s,s.root=u,o?eo.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:e=>{var r=eo.lookupPath(e,{follow_mount:!1});if(!eo.isMountpoint(r.node))throw new eo.ErrnoError(28);var t=r.node,n=t.mounted,o=eo.getMounts(n);Object.keys(eo.nameTable).forEach(e=>{for(var r=eo.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&eo.destroyNode(r),r=t}}),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod:(e,r,t)=>{var n=eo.lookupPath(e,{parent:!0}).node,o=Q.basename(e);if(!o||"."===o||".."===o)throw new eo.ErrnoError(28);var a=eo.mayCreate(n,o);if(a)throw new eo.ErrnoError(a);if(!n.node_ops.mknod)throw new eo.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=(void 0!==r?r:438)&4095|32768,eo.mknod(e,r,0)),mkdir:(e,r)=>(r=(void 0!==r?r:511)&1023|16384,eo.mknod(e,r,0)),mkdirTree:(e,r)=>{for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,eo.mknod(e,r,t)),symlink:(e,r)=>{if(!ee.resolve(e))throw new eo.ErrnoError(44);var t=eo.lookupPath(r,{parent:!0}).node;if(!t)throw new eo.ErrnoError(44);var n=Q.basename(r),o=eo.mayCreate(t,n);if(o)throw new eo.ErrnoError(o);if(!t.node_ops.symlink)throw new eo.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename:(e,r)=>{var t,n,o,a=Q.dirname(e),i=Q.dirname(r),s=Q.basename(e),u=Q.basename(r);if(t=eo.lookupPath(e,{parent:!0}).node,n=eo.lookupPath(r,{parent:!0}).node,!t||!n)throw new eo.ErrnoError(44);if(t.mount!==n.mount)throw new eo.ErrnoError(75);var l=eo.lookupNode(t,s),c=ee.relative(e,i);if("."!==c.charAt(0))throw new eo.ErrnoError(28);if("."!==(c=ee.relative(r,a)).charAt(0))throw new eo.ErrnoError(55);try{o=eo.lookupNode(n,u)}catch(e){}if(l!==o){var d=eo.isDir(l.mode),f=eo.mayDelete(t,s,d);if(f||(f=o?eo.mayDelete(n,u,d):eo.mayCreate(n,u)))throw new eo.ErrnoError(f);if(!t.node_ops.rename)throw new eo.ErrnoError(63);if(eo.isMountpoint(l)||o&&eo.isMountpoint(o))throw new eo.ErrnoError(10);if(n!==t&&(f=eo.nodePermissions(t,"w")))throw new eo.ErrnoError(f);eo.hashRemoveNode(l);try{t.node_ops.rename(l,n,u)}catch(e){throw e}finally{eo.hashAddNode(l)}}},rmdir:e=>{var r=eo.lookupPath(e,{parent:!0}).node,t=Q.basename(e),n=eo.lookupNode(r,t),o=eo.mayDelete(r,t,!0);if(o)throw new eo.ErrnoError(o);if(!r.node_ops.rmdir)throw new eo.ErrnoError(63);if(eo.isMountpoint(n))throw new eo.ErrnoError(10);r.node_ops.rmdir(r,t),eo.destroyNode(n)},readdir:e=>{var r=eo.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new eo.ErrnoError(54);return r.node_ops.readdir(r)},unlink:e=>{var r=eo.lookupPath(e,{parent:!0}).node;if(!r)throw new eo.ErrnoError(44);var t=Q.basename(e),n=eo.lookupNode(r,t),o=eo.mayDelete(r,t,!1);if(o)throw new eo.ErrnoError(o);if(!r.node_ops.unlink)throw new eo.ErrnoError(63);if(eo.isMountpoint(n))throw new eo.ErrnoError(10);r.node_ops.unlink(r,t),eo.destroyNode(n)},readlink:e=>{var r=eo.lookupPath(e).node;if(!r)throw new eo.ErrnoError(44);if(!r.node_ops.readlink)throw new eo.ErrnoError(28);return ee.resolve(eo.getPath(r.parent),r.node_ops.readlink(r))},stat:(e,r)=>{var t=eo.lookupPath(e,{follow:!r}).node;if(!t)throw new eo.ErrnoError(44);if(!t.node_ops.getattr)throw new eo.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>eo.stat(e,!0),chmod:(e,r,t)=>{var n;if(!(n="string"==typeof e?eo.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new eo.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod:(e,r)=>{eo.chmod(e,r,!0)},fchmod:(e,r)=>{var t=eo.getStream(e);if(!t)throw new eo.ErrnoError(8);eo.chmod(t.node,r)},chown:(e,r,t,n)=>{var o;if(!(o="string"==typeof e?eo.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new eo.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,r,t)=>{eo.chown(e,r,t,!0)},fchown:(e,r,t)=>{var n=eo.getStream(e);if(!n)throw new eo.ErrnoError(8);eo.chown(n.node,r,t)},truncate:(e,r)=>{if(r<0)throw new eo.ErrnoError(28);if("string"==typeof e){var t;t=eo.lookupPath(e,{follow:!0}).node}else t=e;if(!t.node_ops.setattr)throw new eo.ErrnoError(63);if(eo.isDir(t.mode))throw new eo.ErrnoError(31);if(!eo.isFile(t.mode))throw new eo.ErrnoError(28);var n=eo.nodePermissions(t,"w");if(n)throw new eo.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate:(e,r)=>{var t=eo.getStream(e);if(!t)throw new eo.ErrnoError(8);if((2097155&t.flags)==0)throw new eo.ErrnoError(28);eo.truncate(t.node,r)},utime:(e,r,t)=>{var n=eo.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open:(r,t,n)=>{if(""===r)throw new eo.ErrnoError(44);if(t="string"==typeof t?eo.modeStringToFlags(t):t,n=void 0===n?438:n,n=64&t?4095&n|32768:0,"object"==typeof r)o=r;else{r=Q.normalize(r);try{var o;o=eo.lookupPath(r,{follow:!(131072&t)}).node}catch(e){}}var a=!1;if(64&t){if(o){if(128&t)throw new eo.ErrnoError(20)}else o=eo.mknod(r,n,0),a=!0}if(!o)throw new eo.ErrnoError(44);if(eo.isChrdev(o.mode)&&(t&=-513),65536&t&&!eo.isDir(o.mode))throw new eo.ErrnoError(54);if(!a){var i=eo.mayOpen(o,t);if(i)throw new eo.ErrnoError(i)}512&t&&!a&&eo.truncate(o,0),t&=-131713;var s=eo.createStream({node:o,path:eo.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!e.logReadFiles||1&t||(eo.readFiles||(eo.readFiles={}),r in eo.readFiles||(eo.readFiles[r]=1)),s},close:e=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{eo.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,r,t)=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new eo.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new eo.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read:(e,r,t,n,o)=>{if(n<0||o<0)throw new eo.ErrnoError(28);if(eo.isClosed(e)||(2097155&e.flags)==1)throw new eo.ErrnoError(8);if(eo.isDir(e.node.mode))throw new eo.ErrnoError(31);if(!e.stream_ops.read)throw new eo.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new eo.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write:(e,r,t,n,o,a)=>{if(n<0||o<0)throw new eo.ErrnoError(28);if(eo.isClosed(e)||(2097155&e.flags)==0)throw new eo.ErrnoError(8);if(eo.isDir(e.node.mode))throw new eo.ErrnoError(31);if(!e.stream_ops.write)throw new eo.ErrnoError(28);e.seekable&&1024&e.flags&&eo.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new eo.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},allocate:(e,r,t)=>{if(eo.isClosed(e))throw new eo.ErrnoError(8);if(r<0||t<=0)throw new eo.ErrnoError(28);if((2097155&e.flags)==0)throw new eo.ErrnoError(8);if(!eo.isFile(e.node.mode)&&!eo.isDir(e.node.mode))throw new eo.ErrnoError(43);if(!e.stream_ops.allocate)throw new eo.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap:(e,r,t,n,o)=>{if((2&n)!=0&&(2&o)==0&&(2097155&e.flags)!=2||(2097155&e.flags)==1)throw new eo.ErrnoError(2);if(!e.stream_ops.mmap)throw new eo.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl:(e,r,t)=>{if(!e.stream_ops.ioctl)throw new eo.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile:(e,r={})=>{if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw Error('Invalid encoding type "'+r.encoding+'"');var t,n=eo.open(e,r.flags),o=eo.stat(e).size,a=new Uint8Array(o);return eo.read(n,a,0,o,0),"utf8"===r.encoding?t=x(a,0):"binary"===r.encoding&&(t=a),eo.close(n),t},writeFile:(e,r,t={})=>{t.flags=t.flags||577;var n=eo.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(T(r)+1),a=C(r,o,0,o.length);eo.write(n,o,0,a,void 0,t.canOwn)}else if(ArrayBuffer.isView(r))eo.write(n,r,0,r.byteLength,void 0,t.canOwn);else throw Error("Unsupported data type");eo.close(n)},cwd:()=>eo.currentPath,chdir:e=>{var r=eo.lookupPath(e,{follow:!0});if(null===r.node)throw new eo.ErrnoError(44);if(!eo.isDir(r.node.mode))throw new eo.ErrnoError(54);var t=eo.nodePermissions(r.node,"x");if(t)throw new eo.ErrnoError(t);eo.currentPath=r.path},createDefaultDirectories:()=>{eo.mkdir("/tmp"),eo.mkdir("/home"),eo.mkdir("/home/web_user")},createDefaultDevices:()=>{eo.mkdir("/dev"),eo.registerDevice(eo.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),eo.mkdev("/dev/null",eo.makedev(1,3)),et.register(eo.makedev(5,0),et.default_tty_ops),et.register(eo.makedev(6,0),et.default_tty1_ops),eo.mkdev("/dev/tty",eo.makedev(5,0)),eo.mkdev("/dev/tty1",eo.makedev(6,0));var e=function(){if("object"!=typeof crypto||"function"!=typeof crypto.getRandomValues)return()=>V("randomDevice");var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}();eo.createDevice("/dev","random",e),eo.createDevice("/dev","urandom",e),eo.mkdir("/dev/shm"),eo.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{eo.mkdir("/proc");var e=eo.mkdir("/proc/self");eo.mkdir("/proc/self/fd"),eo.mount({mount:()=>{var r=eo.createNode(e,"fd",16895,73);return r.node_ops={lookup:(e,r)=>{var t=eo.getStream(+r);if(!t)throw new eo.ErrnoError(8);var n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>t.path}};return n.parent=n,n}},r}},{},"/proc/self/fd")},createStandardStreams:()=>{e.stdin?eo.createDevice("/dev","stdin",e.stdin):eo.symlink("/dev/tty","/dev/stdin"),e.stdout?eo.createDevice("/dev","stdout",null,e.stdout):eo.symlink("/dev/tty","/dev/stdout"),e.stderr?eo.createDevice("/dev","stderr",null,e.stderr):eo.symlink("/dev/tty1","/dev/stderr"),eo.open("/dev/stdin",0),eo.open("/dev/stdout",1),eo.open("/dev/stderr",1)},ensureErrnoError:()=>{eo.ErrnoError||(eo.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},eo.ErrnoError.prototype=Error(),eo.ErrnoError.prototype.constructor=eo.ErrnoError,[44].forEach(e=>{eo.genericErrors[e]=new eo.ErrnoError(e),eo.genericErrors[e].stack=""}))},staticInit:()=>{eo.ensureErrnoError(),eo.nameTable=Array(4096),eo.mount(en,{},"/"),eo.createDefaultDirectories(),eo.createDefaultDevices(),eo.createSpecialDirectories(),eo.filesystems={MEMFS:en}},init:(r,t,n)=>{eo.init.initialized=!0,eo.ensureErrnoError(),e.stdin=r||e.stdin,e.stdout=t||e.stdout,e.stderr=n||e.stderr,eo.createStandardStreams()},quit:()=>{eo.init.initialized=!1,ek(0);for(var e=0;e{var t=0;return e&&(t|=365),r&&(t|=146),t},findObject:(e,r)=>{var t=eo.analyzePath(e,r);return t.exists?t.object:null},analyzePath:(e,r)=>{try{var t=eo.lookupPath(e,{follow:!r});e=t.path}catch(e){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var t=eo.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=t.path,n.parentObject=t.node,n.name=Q.basename(e),t=eo.lookupPath(e,{follow:!r}),n.exists=!0,n.path=t.path,n.object=t.node,n.name=t.node.name,n.isRoot="/"===t.path}catch(e){n.error=e.errno}return n},createPath:(e,r,t,n)=>{e="string"==typeof e?e:eo.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var i=Q.join2(e,a);try{eo.mkdir(i)}catch(e){}e=i}}return i},createFile:(e,r,t,n,o)=>{var a=Q.join2("string"==typeof e?e:eo.getPath(e),r),i=eo.getMode(n,o);return eo.create(a,i)},createDataFile:(e,r,t,n,o,a)=>{var i=r;e&&(e="string"==typeof e?e:eo.getPath(e),i=r?Q.join2(e,r):e);var s=eo.getMode(n,o),u=eo.create(i,s);if(t){if("string"==typeof t){for(var l=Array(t.length),c=0,d=t.length;c{var o=Q.join2("string"==typeof e?e:eo.getPath(e),r),a=eo.getMode(!!t,!!n);eo.createDevice.major||(eo.createDevice.major=64);var i=eo.makedev(eo.createDevice.major++,0);return eo.registerDevice(i,{open:e=>{e.seekable=!1},close:e=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(e,r,n,o,a)=>{for(var i,s=0,u=0;u{for(var i=0;i{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw 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(o)try{e.contents=er(o(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new eo.ErrnoError(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile:(e,r,t,n,o)=>{function a(){this.lengthKnown=!1,this.chunks=[]}if(a.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]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e,r=new XMLHttpRequest;if(r.open("HEAD",t,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw Error("Couldn't load "+t+". Status: "+r.status);var n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=(e,r)=>{if(e>r)throw Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+e+"-"+r),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 Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):er(o.responseText||"",!0)},u=this;u.setDataGetter(e=>{var r=e*i,t=(e+1)*i-1;if(t=Math.min(t,n-1),void 0===u.chunks[e]&&(u.chunks[e]=s(r,t)),void 0===u.chunks[e])throw Error("doXHR failed!");return u.chunks[e]}),(a||!n)&&(i=n=1,i=n=this.getter(0).length,D("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){var i;throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"}var i={isDevice:!1,url:t},s=eo.createFile(e,r,i,n,o);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s{var r=s.stream_ops[e];u[e]=function(){return eo.forceLoadFile(s),r.apply(null,arguments)}}),u.read=(e,r,t,n,o)=>(eo.forceLoadFile(s),l(e,r,t,n,o)),u.mmap=(e,r,t,n,o)=>{eo.forceLoadFile(s);var a=void V();if(!a)throw new eo.ErrnoError(48);return l(e,d,a,r,t),{ptr:a,allocated:!0}},s.stream_ops=u,s},createPreloadedFile:(e,r,t,n,o,i,s,u,l,c)=>{var d,f,m=r?ee.resolve(Q.join2(e,r)):e,h="cp "+m;function p(t){function a(t){c&&c(),u||eo.createDataFile(e,r,t,n,o,l),i&&i(),G(h)}Browser.handledByPreloadPlugin(t,m,a,()=>{s&&s(),G(h)})||a(t)}Y(h),"string"==typeof t?(d=e=>p(e),f="al "+t,a(t,e=>{var r;r='Loading data file "'+t+'" failed (no arrayBuffer).',e||V(r),d(new Uint8Array(e)),f&&G(f)},e=>{if(s)s();else throw'Loading data file "'+t+'" failed.'}),f&&Y(f)):p(t)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,r=()=>{},t=()=>{})=>{var n=eo.indexedDB();try{var o=n.open(eo.DB_NAME(),eo.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=()=>{D("creating db"),o.result.createObjectStore(eo.DB_STORE_NAME)},o.onsuccess=()=>{var n=o.result.transaction([eo.DB_STORE_NAME],"readwrite"),a=n.objectStore(eo.DB_STORE_NAME),i=0,s=0,u=e.length;function l(){0==s?r():t()}e.forEach(e=>{var r=a.put(eo.analyzePath(e).object.contents,e);r.onsuccess=()=>{++i+s==u&&l()},r.onerror=()=>{i+ ++s==u&&l()}}),n.onerror=t},o.onerror=t},loadFilesFromDB:(e,r=()=>{},t=()=>{})=>{var n=eo.indexedDB();try{var o=n.open(eo.DB_NAME(),eo.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=t,o.onsuccess=()=>{var n=o.result;try{var a=n.transaction([eo.DB_STORE_NAME],"readonly")}catch(e){t(e);return}var i=a.objectStore(eo.DB_STORE_NAME),s=0,u=0,l=e.length;function c(){0==u?r():t()}e.forEach(e=>{var r=i.get(e);r.onsuccess=()=>{eo.analyzePath(e).exists&&eo.unlink(e),eo.createDataFile(Q.dirname(e),Q.basename(e),r.result,!0,!0,!0),++s+u==l&&c()},r.onerror=()=>{s+ ++u==l&&c()}}),a.onerror=t},o.onerror=t}},ea={DEFAULT_POLLMASK:5,calculateAt:function(e,r,t){if(Q.isAbs(r))return r;if(-100===e)n=eo.cwd();else{var n;n=ea.getStreamFromFD(e).path}if(0==r.length){if(!t)throw new eo.ErrnoError(44);return n}return Q.join2(n,r)},doStat:function(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&Q.normalize(r)!==Q.normalize(eo.getPath(e.node)))return -54;throw e}h[t>>2]=n.dev,h[t+8>>2]=n.ino,h[t+12>>2]=n.mode,p[t+16>>2]=n.nlink,h[t+20>>2]=n.uid,h[t+24>>2]=n.gid,h[t+28>>2]=n.rdev,g=[n.size>>>0,+Math.abs(w=n.size)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+40>>2]=g[0],h[t+44>>2]=g[1],h[t+48>>2]=4096,h[t+52>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return g=[Math.floor(o/1e3)>>>0,+Math.abs(w=Math.floor(o/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+56>>2]=g[0],h[t+60>>2]=g[1],p[t+64>>2]=o%1e3*1e3,g=[Math.floor(a/1e3)>>>0,+Math.abs(w=Math.floor(a/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+72>>2]=g[0],h[t+76>>2]=g[1],p[t+80>>2]=a%1e3*1e3,g=[Math.floor(i/1e3)>>>0,+Math.abs(w=Math.floor(i/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+88>>2]=g[0],h[t+92>>2]=g[1],p[t+96>>2]=i%1e3*1e3,g=[n.ino>>>0,+Math.abs(w=n.ino)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+104>>2]=g[0],h[t+108>>2]=g[1],0},doMsync:function(e,r,t,n,o){if(!eo.isFile(r.node.mode))throw new eo.ErrnoError(43);if(2&n)return 0;var a=f.slice(e,e+t);eo.msync(r,a,o,t,n)},varargs:void 0,get:function(){return ea.varargs+=4,h[ea.varargs-4>>2]},getStr:function(e){return R(e)},getStreamFromFD:function(e){var r=eo.getStream(e);if(!r)throw new eo.ErrnoError(8);return r}};function ei(e){return p[e>>2]+4294967296*h[e+4>>2]}function es(e){return e%4==0&&(e%100!=0||e%400==0)}var eu=[0,31,60,91,121,152,182,213,244,274,305,335],el=[0,31,59,90,120,151,181,212,243,273,304,334];function ec(e){var r=T(e)+1,t=eE(r);return t&&C(e,d,t,r),t}var ed={};function ef(){if(!ef.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:b||"./this.program"};for(var r in ed)void 0===ed[r]?delete e[r]:e[r]=ed[r];var t=[];for(var r in e)t.push(r+"="+e[r]);ef.strings=t}return ef.strings}function em(r,t){c=r,M||U>0||(eF(),Z(O),eo.quit(),et.shutdown(),L=!0),c=r,M||U>0||(e.onExit&&e.onExit(r),A=!0),k(r,new J(r))}var eh=[31,29,31,30,31,30,31,31,30,31,30,31],ep=[31,28,31,30,31,30,31,31,30,31,30,31];function ev(e){if(e instanceof J||"unwind"==e)return c;k(1,e)}function ew(e){try{return e()}catch(e){V(e)}}var eg={instrumentWasmImports:function(e){var r=["invoke_*","emscripten_sleep","emscripten_wget","emscripten_wget_data","emscripten_idb_load","emscripten_idb_store","emscripten_idb_delete","emscripten_idb_exists","emscripten_idb_load_blob","emscripten_idb_store_blob","SDL_Delay","emscripten_scan_registers","emscripten_lazy_load_code","emscripten_fiber_swap","__load_secondary_module","fd_sync","__wasi_fd_sync","_emval_await","_dlopen_js","__asyncjs__*"];for(var t in e)!function(t){var n=e[t];n.sig,"function"==typeof n&&(r.indexOf(t)>=0||t.startsWith("__asyncjs__"))}(t)},instrumentWasmExports:function(e){var r={};for(var t in e)!function(t){var n=e[t];"function"==typeof n?r[t]=function(){eg.exportCallStack.push(t);try{return n.apply(null,arguments)}finally{A||(eg.exportCallStack.pop()===t||V(void 0),eg.maybeStopUnwind())}}:r[t]=n}(t);return r},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:8192,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId:function(e){var r=eg.callStackNameToId[e];return void 0===r&&(r=eg.callStackId++,eg.callStackNameToId[e]=r,eg.callStackIdToName[r]=e),r},maybeStopUnwind:function(){eg.currData&&eg.state===eg.State.Unwinding&&0===eg.exportCallStack.length&&(eg.state=eg.State.Normal,U+=1,ew(e3),"undefined"!=typeof Fibers&&Fibers.trampoline())},whenDone:function(){return new Promise((e,r)=>{eg.asyncPromiseHandlers={resolve:e,reject:r}})},allocateData:function(){var e=eE(12+eg.StackSize);return eg.setDataHeader(e,e+12,eg.StackSize),eg.setDataRewindFunc(e),e},setDataHeader:function(e,r,t){h[e>>2]=r,h[e+4>>2]=r+t},setDataRewindFunc:function(e){var r=eg.exportCallStack[0],t=eg.getCallStackId(r);h[e+8>>2]=t},getDataRewindFunc:function(r){var t=h[r+8>>2],n=eg.callStackIdToName[t];return e.asm[n]},doRewind:function(e){var r=eg.getDataRewindFunc(e);return U-=1,r()},handleSleep:function(e){if(!A){if(eg.state===eg.State.Normal){var r=!1,t=!1;e((e=0)=>{if(!A&&(eg.handleSleepReturnValue=e,r=!0,t)){eg.state=eg.State.Rewinding,ew(()=>e9(eg.currData)),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.resume();var n,o=!1;try{n=eg.doRewind(eg.currData)}catch(e){n=e,o=!0}var a=!1;if(!eg.currData){var i=eg.asyncPromiseHandlers;i&&(eg.asyncPromiseHandlers=null,(o?i.reject:i.resolve)(n),a=!0)}if(o&&!a)throw n}}),t=!0,r||(eg.state=eg.State.Unwinding,eg.currData=eg.allocateData(),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.pause(),ew(()=>e6(eg.currData)))}else eg.state===eg.State.Rewinding?(eg.state=eg.State.Normal,ew(e8),eb(eg.currData),eg.currData=null,eg.sleepCallbacks.forEach(e=>(function(e){if(!L&&!A)try{e(),function(){if(!(M||U>0))try{em(c)}catch(e){ev(e)}}()}catch(e){ev(e)}})(e))):V("invalid state: "+eg.state);return eg.handleSleepReturnValue}},handleAsync:function(e){return eg.handleSleep(r=>{e().then(r)})}},e_=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=eo.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n};Object.defineProperties(e_.prototype,{read:{get:function(){return(365&this.mode)==365},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return(146&this.mode)==146},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return eo.isDir(this.mode)}},isDevice:{get:function(){return eo.isChrdev(this.mode)}}}),eo.FSNode=e_,eo.staticInit();var ey={O:function(r,t){return eg.handleAsync(async()=>{e.emglken_stdin_buffers.length||await new Promise(r=>{e.emglken_stdin_ready=r});let n=e.emglken_stdin_buffers.shift(),o=Math.min(n.length,t);return o==n.length?f.set(n,r):(f.set(n.subarray(0,o),r),e.emglken_stdin_buffers.unshift(n.subarray(o))),o})},ga:function(e){try{var r=ea.getStreamFromFD(e);return eo.createStream(r,0).fd}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},fa:function(e,r,t,n){try{if(r=ea.getStr(r),r=ea.calculateAt(e,r),-8&t)return -28;var o=eo.lookupPath(r,{follow:!0}).node;if(!o)return -44;var a="";if(4&t&&(a+="r"),2&t&&(a+="w"),1&t&&(a+="x"),a&&eo.nodePermissions(o,a))return -2;return 0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},G:function(e,r,t){ea.varargs=t;try{var n=ea.getStreamFromFD(e);switch(r){case 0:var o=ea.get();if(o<0)return -28;return eo.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=ea.get();return n.flags|=o,0;case 5:var o=ea.get();return m[o+0>>1]=2,0;case 16:case 8:default:return -28;case 9:return h[eD()>>2]=28,-1}}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},ea:function(e,r){try{if(0===r)return -28;var t=eo.cwd(),n=T(t)+1;if(r>>0,(w=u,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],h[r+o>>2]=g[0],h[r+o+4>>2]=g[1],g=[(i+1)*280>>>0,(w=(i+1)*280,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],h[r+o+8>>2]=g[0],h[r+o+12>>2]=g[1],m[r+o+16>>1]=280,d[r+o+18>>0]=l,s=r+o+19,C(c,f,s,256),o+=280,i+=1}return eo.llseek(n,280*i,0),o}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},ca:function(e,r,t){ea.varargs=t;try{var n=ea.getStreamFromFD(e);switch(r){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:if(!n.tty)return -59;return 0;case 21519:if(!n.tty)return -59;var o=ea.get();return h[o>>2]=0,0;case 21520:if(!n.tty)return -59;return -28;case 21531:var o=ea.get();return eo.ioctl(n,r,o);default:return -28}}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},ba:function(e,r){try{return e=ea.getStr(e),ea.doStat(eo.lstat,e,r)}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},aa:function(e,r,t){try{return r=ea.getStr(r),r=ea.calculateAt(e,r),r=Q.normalize(r),"/"===r[r.length-1]&&(r=r.substr(0,r.length-1)),eo.mkdir(r,t,0),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},$:function(e,r,t,n){try{r=ea.getStr(r);var o=256&n,a=4096&n;return n&=-6401,r=ea.calculateAt(e,r,a),ea.doStat(o?eo.lstat:eo.stat,r,t)}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},F:function(e,r,t,n){ea.varargs=n;try{r=ea.getStr(r),r=ea.calculateAt(e,r);var o=n?ea.get():0;return eo.open(r,t,o).fd}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},_:function(e,r,t,n){try{if(r=ea.getStr(r),r=ea.calculateAt(e,r),n<=0)return -28;var o=eo.readlink(r),a=Math.min(n,T(o)),i=d[t+a];return C(o,f,t,n+1),d[t+a]=i,a}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},Z:function(e,r,t,n){try{return r=ea.getStr(r),n=ea.getStr(n),r=ea.calculateAt(e,r),n=ea.calculateAt(t,n),eo.rename(r,n),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},E:function(e){try{return e=ea.getStr(e),eo.rmdir(e),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},Y:function(e,r){try{return e=ea.getStr(e),ea.doStat(eo.stat,e,r)}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},X:function(e,r,t){try{return r=ea.getStr(r),r=ea.calculateAt(e,r),0===t?eo.unlink(r):512===t?eo.rmdir(r):V("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return-e.errno}},T:function(){return!0},S:function(){throw 1/0},R:function(e,r){var t=new Date(1e3*ei(e));h[r>>2]=t.getUTCSeconds(),h[r+4>>2]=t.getUTCMinutes(),h[r+8>>2]=t.getUTCHours(),h[r+12>>2]=t.getUTCDate(),h[r+16>>2]=t.getUTCMonth(),h[r+20>>2]=t.getUTCFullYear()-1900,h[r+24>>2]=t.getUTCDay();var n=Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0),o=(t.getTime()-n)/864e5|0;h[r+28>>2]=o},Q:function(e,r){var t=new Date(1e3*ei(e));h[r>>2]=t.getSeconds(),h[r+4>>2]=t.getMinutes(),h[r+8>>2]=t.getHours(),h[r+12>>2]=t.getDate(),h[r+16>>2]=t.getMonth(),h[r+20>>2]=t.getFullYear()-1900,h[r+24>>2]=t.getDay();var n=0|(es(t.getFullYear())?eu:el)[t.getMonth()]+t.getDate()-1;h[r+28>>2]=n,h[r+36>>2]=-(60*t.getTimezoneOffset());var o=new Date(t.getFullYear(),0,1),a=new Date(t.getFullYear(),6,1).getTimezoneOffset(),i=o.getTimezoneOffset(),s=0|(a!=i&&t.getTimezoneOffset()==Math.min(i,a));h[r+32>>2]=s},P:function(e,r,t){var n=new Date().getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),i=o.getTimezoneOffset(),s=a.getTimezoneOffset();function u(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}p[e>>2]=60*Math.max(i,s),h[r>>2]=Number(i!=s);var l=u(o),c=u(a),d=ec(l),f=ec(c);s>2]=d,p[t+4>>2]=f):(p[t>>2]=f,p[t+4>>2]=d)},C:function(){V("")},B:function(){return Date.now()},A:()=>performance.now(),N:function(e,r,t){f.copyWithin(e,r,r+t)},M:function(e){var r=f.length;if((e>>>=0)>2147483648)return!1;let t=(e,r)=>e+(r-e%r)%r;for(var n=1;n<=4;n*=2){var o=r*(1+.2/n);if(o=Math.min(o,e+100663296),function(e){var r=l.buffer;try{return l.grow(e-r.byteLength+65535>>>16),N(),1}catch(e){}}(Math.min(2147483648,t(Math.max(e,o),65536))))return!0}return!1},W:function(e,r){var t=0;return ef().forEach(function(n,o){var a=r+t;p[e+4*o>>2]=a,function(e,r,t){for(var n=0;n>0]=e.charCodeAt(n);d[r>>0]=0}(n,a),t+=n.length+1}),0},V:function(e,r){var t=ef();p[e>>2]=t.length;var n=0;return t.forEach(function(e){n+=e.length+1}),p[r>>2]=n,0},y:em,w:function(e){try{var r=ea.getStreamFromFD(e);return eo.close(r),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},U:function(e,r,t,n){try{var o=ea.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=eo.read(e,d,i,s,n);if(u<0)return -1;if(o+=u,u>2]=a,0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},I:function(e,r,t,n,o){try{var a=t+2097152>>>0<4194305-!!r?(r>>>0)+4294967296*t:NaN;if(isNaN(a))return 61;var i=ea.getStreamFromFD(e);return eo.llseek(i,a,n),g=[i.position>>>0,(w=i.position,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],h[o>>2]=g[0],h[o+4>>2]=g[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},D:function(e,r,t,n){try{var o=ea.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=eo.write(e,d,i,s,n);if(u<0)return -1;o+=u,void 0!==n&&(n+=u)}return o}(o,r,t);return p[n>>2]=a,0}catch(e){if(void 0===eo||"ErrnoError"!==e.name)throw e;return e.errno}},L:function(e){var r=eA();try{return e1(e)}catch(e){if(eP(r),e!==e+0)throw e;eM(1,0)}},b:function(e,r){var t=eA();try{return eC(e,r)}catch(e){if(eP(t),e!==e+0)throw e;eM(1,0)}},f:function(e,r,t){var n=eA();try{return eN(e,r,t)}catch(e){if(eP(n),e!==e+0)throw e;eM(1,0)}},e:function(e,r,t,n){var o=eA();try{return eH(e,r,t,n)}catch(e){if(eP(o),e!==e+0)throw e;eM(1,0)}},c:function(e,r,t,n,o){var a=eA();try{return eR(e,r,t,n,o)}catch(e){if(eP(a),e!==e+0)throw e;eM(1,0)}},j:function(e,r,t,n,o,a){var i=eA();try{return eI(e,r,t,n,o,a)}catch(e){if(eP(i),e!==e+0)throw e;eM(1,0)}},l:function(e,r,t,n,o,a,i){var s=eA();try{return eY(e,r,t,n,o,a,i)}catch(e){if(eP(s),e!==e+0)throw e;eM(1,0)}},m:function(e,r,t,n,o,a,i,s){var u=eA();try{return eX(e,r,t,n,o,a,i,s)}catch(e){if(eP(u),e!==e+0)throw e;eM(1,0)}},s:function(e,r,t,n,o,a,i,s,u){var l=eA();try{return eU(e,r,t,n,o,a,i,s,u)}catch(e){if(eP(l),e!==e+0)throw e;eM(1,0)}},t:function(e,r,t,n,o,a,i,s,u,l){var c=eA();try{return eV(e,r,t,n,o,a,i,s,u,l)}catch(e){if(eP(c),e!==e+0)throw e;eM(1,0)}},p:function(e,r,t,n,o,a,i,s,u,l,c){var d=eA();try{return eK(e,r,t,n,o,a,i,s,u,l,c)}catch(e){if(eP(d),e!==e+0)throw e;eM(1,0)}},x:function(e,r,t,n,o,a,i,s,u,l,c,d){var f=eA();try{return e2(e,r,t,n,o,a,i,s,u,l,c,d)}catch(e){if(eP(f),e!==e+0)throw e;eM(1,0)}},q:function(e,r,t,n,o,a,i,s,u,l,c,d,f,m){var h=eA();try{return e$(e,r,t,n,o,a,i,s,u,l,c,d,f,m)}catch(e){if(eP(h),e!==e+0)throw e;eM(1,0)}},z:function(e,r,t,n,o,a,i,s,u,l,c,d,f,m,h,p){var v=eA();try{return e4(e,r,t,n,o,a,i,s,u,l,c,d,f,m,h,p)}catch(e){if(eP(v),e!==e+0)throw e;eM(1,0)}},v:function(e,r,t,n,o,a,i,s,u,l,c,d,f,m,h,p,v,w){var g=eA();try{return eZ(e,r,t,n,o,a,i,s,u,l,c,d,f,m,h,p,v,w)}catch(e){if(eP(g),e!==e+0)throw e;eM(1,0)}},i:function(e){var r=eA();try{eJ(e)}catch(e){if(eP(r),e!==e+0)throw e;eM(1,0)}},h:function(e,r){var t=eA();try{eT(e,r)}catch(e){if(eP(t),e!==e+0)throw e;eM(1,0)}},d:function(e,r,t){var n=eA();try{ej(e,r,t)}catch(e){if(eP(n),e!==e+0)throw e;eM(1,0)}},a:function(e,r,t,n){var o=eA();try{ez(e,r,t,n)}catch(e){if(eP(o),e!==e+0)throw e;eM(1,0)}},g:function(e,r,t,n,o){var a=eA();try{eq(e,r,t,n,o)}catch(e){if(eP(a),e!==e+0)throw e;eM(1,0)}},o:function(e,r,t,n,o,a){var i=eA();try{eO(e,r,t,n,o,a)}catch(e){if(eP(i),e!==e+0)throw e;eM(1,0)}},n:function(e,r,t,n,o,a,i){var s=eA();try{eL(e,r,t,n,o,a,i)}catch(e){if(eP(s),e!==e+0)throw e;eM(1,0)}},K:function(e,r,t,n,o,a,i,s){var u=eA();try{eQ(e,r,t,n,o,a,i,s)}catch(e){if(eP(u),e!==e+0)throw e;eM(1,0)}},r:function(e,r,t,n,o,a,i,s,u){var l=eA();try{eB(e,r,t,n,o,a,i,s,u)}catch(e){if(eP(l),e!==e+0)throw e;eM(1,0)}},k:function(e,r,t,n,o,a,i,s,u,l){var c=eA();try{eW(e,r,t,n,o,a,i,s,u,l)}catch(e){if(eP(c),e!==e+0)throw e;eM(1,0)}},u:function(e,r,t,n,o,a,i,s,u,l,c,d){var f=eA();try{eG(e,r,t,n,o,a,i,s,u,l,c,d)}catch(e){if(eP(f),e!==e+0)throw e;eM(1,0)}},J:function(e,r,t,n,o,a,i,s,u,l,c,d,f,m,h,p){var v=eA();try{e0(e,r,t,n,o,a,i,s,u,l,c,d,f,m,h,p)}catch(e){if(eP(v),e!==e+0)throw e;eM(1,0)}},H:function(e,r,t,n){var o=h[n+40>>2],a={tm_sec:h[n>>2],tm_min:h[n+4>>2],tm_hour:h[n+8>>2],tm_mday:h[n+12>>2],tm_mon:h[n+16>>2],tm_year:h[n+20>>2],tm_wday:h[n+24>>2],tm_yday:h[n+28>>2],tm_isdst:h[n+32>>2],tm_gmtoff:h[n+36>>2],tm_zone:o?R(o):""},i=R(t),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in s)i=i.replace(RegExp(u,"g"),s[u]);var l=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function f(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length0?1:0}return 0===(t=n(e.getFullYear()-r.getFullYear()))&&0===(t=n(e.getMonth()-r.getMonth()))&&(t=n(e.getDate()-r.getDate())),t}function v(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function w(e){var r=function(e,r){for(var t=new Date(e.getTime());r>0;){var n=es(t.getFullYear()),o=t.getMonth(),a=(n?eh:ep)[o];if(r>a-t.getDate())r-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1));else{t.setDate(t.getDate()+r);break}}return t}(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),o=v(t),a=v(n);return 0>=p(o,r)?0>=p(a,r)?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var g={"%a":function(e){return l[e.tm_wday].substring(0,3)},"%A":function(e){return l[e.tm_wday]},"%b":function(e){return c[e.tm_mon].substring(0,3)},"%B":function(e){return c[e.tm_mon]},"%C":function(e){return m((e.tm_year+1900)/100|0,2)},"%d":function(e){return m(e.tm_mday,2)},"%e":function(e){return f(e.tm_mday,2," ")},"%g":function(e){return w(e).toString().substring(2)},"%G":function(e){return w(e)},"%H":function(e){return m(e.tm_hour,2)},"%I":function(e){var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),m(r,2)},"%j":function(e){return m(e.tm_mday+function(e,r){for(var t=0,n=0;n<=r;t+=e[n++]);return t}(es(e.tm_year+1900)?eh:ep,e.tm_mon-1),3)},"%m":function(e){return m(e.tm_mon+1,2)},"%M":function(e){return m(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return m(e.tm_sec,2)},"%t":function(){return" "},"%u":function(e){return e.tm_wday||7},"%U":function(e){return m(Math.floor((e.tm_yday+7-e.tm_wday)/7),2)},"%V":function(e){var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&es(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&es(e.tm_year%400-1))&&r++}return m(r,2)},"%w":function(e){return e.tm_wday},"%W":function(e){return m(Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var r=e.tm_gmtoff;return(r>=0?"+":"-")+String("0000"+(r=(r=Math.abs(r)/60)/60*100+r%60)).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var u in i=i.replace(/%%/g,"\x00\x00"),g)i.includes(u)&&(i=i.replace(RegExp(u,"g"),g[u](a)));var _=er(i=i.replace(/\0\0/g,"%"),!1);return _.length>r?0:(d.set(_,e),_.length-1)}};!function(){var r,t,o,a={a:ey};function i(r,t){var n,o=r.exports;return o=eg.instrumentWasmExports(o),e.asm=o,l=e.asm.ha,N(),e.asm.qa,n=e.asm.ia,B.unshift(n),G("wasm-instantiate"),o}if(Y("wasm-instantiate"),e.instantiateWasm)try{return e.instantiateWasm(a,i)}catch(e){F("Module.instantiateWasm callback failed with error: "+e),n(e)}(r=u,t=v,o=function(e){i(e.instance)},r||"function"!=typeof WebAssembly.instantiateStreaming||X(t)||"function"!=typeof fetch?$(t,a,o):fetch(t,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,a).then(o,function(e){return F("wasm streaming compile failed: "+e),F("falling back to ArrayBuffer instantiation"),$(t,a,o)})})).catch(n)}();var eE=function(){return(eE=e.asm.ja).apply(null,arguments)},eb=function(){return(eb=e.asm.ka).apply(null,arguments)},ek=e._fflush=function(){return(ek=e._fflush=e.asm.la).apply(null,arguments)},eS=e._main=function(){return(eS=e._main=e.asm.ma).apply(null,arguments)},eD=(e._gidispatch_get_game_id=function(){return(e._gidispatch_get_game_id=e.asm.na).apply(null,arguments)},function(){return(eD=e.asm.oa).apply(null,arguments)}),eF=function(){return(eF=e.asm.pa).apply(null,arguments)},eM=function(){return(eM=e.asm.ra).apply(null,arguments)},eA=function(){return(eA=e.asm.sa).apply(null,arguments)},eP=function(){return(eP=e.asm.ta).apply(null,arguments)},ex=function(){return(ex=e.asm.ua).apply(null,arguments)},eR=e.dynCall_iiiii=function(){return(eR=e.dynCall_iiiii=e.asm.va).apply(null,arguments)},eC=e.dynCall_ii=function(){return(eC=e.dynCall_ii=e.asm.wa).apply(null,arguments)},eT=e.dynCall_vi=function(){return(eT=e.dynCall_vi=e.asm.xa).apply(null,arguments)},eN=e.dynCall_iii=function(){return(eN=e.dynCall_iii=e.asm.ya).apply(null,arguments)},ez=e.dynCall_viii=function(){return(ez=e.dynCall_viii=e.asm.za).apply(null,arguments)},eB=e.dynCall_viiiiiiii=function(){return(eB=e.dynCall_viiiiiiii=e.asm.Aa).apply(null,arguments)},ej=e.dynCall_vii=function(){return(ej=e.dynCall_vii=e.asm.Ba).apply(null,arguments)},eO=e.dynCall_viiiii=function(){return(eO=e.dynCall_viiiii=e.asm.Ca).apply(null,arguments)},eI=e.dynCall_iiiiii=function(){return(eI=e.dynCall_iiiiii=e.asm.Da).apply(null,arguments)},eL=e.dynCall_viiiiii=function(){return(eL=e.dynCall_viiiiii=e.asm.Ea).apply(null,arguments)},eU=e.dynCall_iiiiiiiii=function(){return(eU=e.dynCall_iiiiiiiii=e.asm.Fa).apply(null,arguments)},eH=e.dynCall_iiii=function(){return(eH=e.dynCall_iiii=e.asm.Ga).apply(null,arguments)},eW=e.dynCall_viiiiiiiii=function(){return(eW=e.dynCall_viiiiiiiii=e.asm.Ha).apply(null,arguments)},eq=e.dynCall_viiii=function(){return(eq=e.dynCall_viiii=e.asm.Ia).apply(null,arguments)},eY=e.dynCall_iiiiiii=function(){return(eY=e.dynCall_iiiiiii=e.asm.Ja).apply(null,arguments)},eG=e.dynCall_viiiiiiiiiii=function(){return(eG=e.dynCall_viiiiiiiiiii=e.asm.Ka).apply(null,arguments)},eV=e.dynCall_iiiiiiiiii=function(){return(eV=e.dynCall_iiiiiiiiii=e.asm.La).apply(null,arguments)},eX=e.dynCall_iiiiiiii=function(){return(eX=e.dynCall_iiiiiiii=e.asm.Ma).apply(null,arguments)},eK=e.dynCall_iiiiiiiiiii=function(){return(eK=e.dynCall_iiiiiiiiiii=e.asm.Na).apply(null,arguments)},e$=e.dynCall_iiiiiiiiiiiiii=function(){return(e$=e.dynCall_iiiiiiiiiiiiii=e.asm.Oa).apply(null,arguments)},eJ=e.dynCall_v=function(){return(eJ=e.dynCall_v=e.asm.Pa).apply(null,arguments)},eZ=e.dynCall_iiiiiiiiiiiiiiiiii=function(){return(eZ=e.dynCall_iiiiiiiiiiiiiiiiii=e.asm.Qa).apply(null,arguments)},eQ=e.dynCall_viiiiiii=function(){return(eQ=e.dynCall_viiiiiii=e.asm.Ra).apply(null,arguments)},e0=e.dynCall_viiiiiiiiiiiiiii=function(){return(e0=e.dynCall_viiiiiiiiiiiiiii=e.asm.Sa).apply(null,arguments)},e1=e.dynCall_i=function(){return(e1=e.dynCall_i=e.asm.Ta).apply(null,arguments)},e2=e.dynCall_iiiiiiiiiiii=function(){return(e2=e.dynCall_iiiiiiiiiiii=e.asm.Ua).apply(null,arguments)},e4=e.dynCall_iiiiiiiiiiiiiiii=function(){return(e4=e.dynCall_iiiiiiiiiiiiiiii=e.asm.Va).apply(null,arguments)},e6=function(){return(e6=e.asm.Wa).apply(null,arguments)},e3=function(){return(e3=e.asm.Xa).apply(null,arguments)},e9=function(){return(e9=e.asm.Ya).apply(null,arguments)},e8=function(){return(e8=e.asm.Za).apply(null,arguments)};function e5(r=E){!(H>0)&&(function(){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;){var r;r=e.preRun.shift(),z.unshift(r)}Z(z)}(),H>0||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),n()},1)):n()));function n(){!_&&(_=!0,e.calledRun=!0,A||(e.noFSInit||eo.init.initialized||eo.init(),eo.ignorePermissions=!1,et.init(),Z(B),Z(j),t(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),e7&&function(e=[]){var r=eS;e.unshift(b);var t=e.length,n=ex((t+1)*4),o=n>>2;e.forEach(e=>{var r,t;h[o++]=(t=ex(r=T(e)+1),C(e,d,t,r),t)}),h[o]=0;try{var a=r(t,n);em(a,!0)}catch(e){return ev(e)}}(r),function(){if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var r;r=e.postRun.shift(),I.unshift(r)}Z(I)}()))}}if(e.___start_em_js=356528,e.___stop_em_js=359213,e.AsciiToString=function(e){for(var r="";;){var t=f[e++>>0];if(!t)return r;r+=String.fromCharCode(t)}},e.FS=eo,q=function e(){_||e5(),_||(q=e)},e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();var e7=!0;return e.noInitialRun&&(e7=!1),e5(),e.ready}),rB={};rB=B("6kBsm").getBundleURL("ejVIo")+B("n9Yfb").resolve("iM1SU");var rj=(s="file:///node_modules/emglken/build/scare-core.js",function(e={}){var r,t,n,o,a,i,u,l,c,d,f,m,h,p,v,w,g,_,e=void 0!==e?e:{};e.ready=new Promise(function(e,r){t=e,n=r});var y=Object.assign({},e),E=[],b="./this.program",k=(e,r)=>{throw r},S="";"undefined"!=typeof document&&document.currentScript&&(S=document.currentScript.src),s&&(S=s),S=0!==S.indexOf("blob:")?S.substr(0,S.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},a=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{if(200==n.status||0==n.status&&n.response){r(n.response);return}t()},n.onerror=t,n.send(null)};var D=e.print||console.log.bind(console),F=e.printErr||console.warn.bind(console);Object.assign(e,y),y=null,e.arguments&&(E=e.arguments),e.thisProgram&&(b=e.thisProgram),e.quit&&(k=e.quit),e.wasmBinary&&(u=e.wasmBinary);var M=e.noExitRuntime||!1;"object"!=typeof WebAssembly&&G("no native wasm support detected");var A=!1,P=new TextDecoder("utf8");function x(e,r,t){for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;return P.decode(e.buffer?e.subarray(r,o):new Uint8Array(e.slice(r,o)))}function R(e,r,t,n){if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)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){for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r}function T(){var r=l.buffer;e.HEAP8=d=new Int8Array(r),e.HEAP16=m=new Int16Array(r),e.HEAP32=h=new Int32Array(r),e.HEAPU8=f=new Uint8Array(r),e.HEAPU16=new Uint16Array(r),e.HEAPU32=p=new Uint32Array(r),e.HEAPF32=new Float32Array(r),e.HEAPF64=new Float64Array(r)}var N=[],z=[],B=[],j=[],O=[],I=!1,L=0,U=0,H=null,W=null;function q(r){U++,e.monitorRunDependencies&&e.monitorRunDependencies(U)}function Y(r){if(U--,e.monitorRunDependencies&&e.monitorRunDependencies(U),0==U&&(null!==H&&(clearInterval(H),H=null),W)){var t=W;W=null,t()}}function G(r){e.onAbort&&e.onAbort(r),F(r="Aborted("+r+")"),A=!0,c=1,r+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(r);throw n(t),t}function V(e){return e.startsWith("data:application/octet-stream;base64,")}function X(e){try{if(e==v&&u)return new Uint8Array(u);if(i)return i(e);throw"both async and sync fetching of the wasm failed"}catch(e){G(e)}}function K(e,r,t){return(u||"function"!=typeof fetch?Promise.resolve().then(function(){return X(e)}):fetch(e,{credentials:"same-origin"}).then(function(r){if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()}).catch(function(){return X(e)})).then(function(e){return WebAssembly.instantiate(e,r)}).then(function(e){return e}).then(t,function(e){F("failed to asynchronously prepare wasm: "+e),G(e)})}function $(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function J(r){for(;r.length>0;)r.shift()(e)}e.locateFile?V(v="scare-core.wasm")||(r=v,v=e.locateFile?e.locateFile(r,S):S+r):v=new URL(rB).href;var Z={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(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:e=>{var r=Z.isAbs(e),t="/"===e.substr(-1);return(e=Z.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Z.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=Z.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return -1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Z.normalize(e.join("/"))},join2:(e,r)=>Z.normalize(e+"/"+r)},Q={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:en.cwd();if("string"!=typeof n)throw TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=Z.isAbs(n)}return e=Z.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+e||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=Q.resolve(e).substr(1),r=Q.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s0?t:C(e)+1),o=R(e,n,0,n.length);return r&&(n.length=o),n}var er={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){er.ttys[e]={input:[],output:[],ops:r},en.registerDevice(e,er.stream_ops)},stream_ops:{open:function(e){var r=er.ttys[e.node.rdev];if(!r)throw new en.ErrnoError(43);e.tty=r,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new en.ErrnoError(60);for(var a,i=0,s=0;s0&&(D(x(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,r){null===r||10===r?(F(x(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync:function(e){e.output&&e.output.length>0&&(F(x(e.output,0)),e.output=[])}}},et={ops_table:null,mount:function(e){return et.createNode(null,"/",16895,0)},createNode:function(e,r,t,n){if(en.isBlkdev(t)||en.isFIFO(t))throw new en.ErrnoError(63);et.ops_table||(et.ops_table={dir:{node:{getattr:et.node_ops.getattr,setattr:et.node_ops.setattr,lookup:et.node_ops.lookup,mknod:et.node_ops.mknod,rename:et.node_ops.rename,unlink:et.node_ops.unlink,rmdir:et.node_ops.rmdir,readdir:et.node_ops.readdir,symlink:et.node_ops.symlink},stream:{llseek:et.stream_ops.llseek}},file:{node:{getattr:et.node_ops.getattr,setattr:et.node_ops.setattr},stream:{llseek:et.stream_ops.llseek,read:et.stream_ops.read,write:et.stream_ops.write,allocate:et.stream_ops.allocate,mmap:et.stream_ops.mmap,msync:et.stream_ops.msync}},link:{node:{getattr:et.node_ops.getattr,setattr:et.node_ops.setattr,readlink:et.node_ops.readlink},stream:{}},chrdev:{node:{getattr:et.node_ops.getattr,setattr:et.node_ops.setattr},stream:en.chrdev_stream_ops}});var o=en.createNode(e,r,t,n);return en.isDir(o.mode)?(o.node_ops=et.ops_table.dir.node,o.stream_ops=et.ops_table.dir.stream,o.contents={}):en.isFile(o.mode)?(o.node_ops=et.ops_table.file.node,o.stream_ops=et.ops_table.file.stream,o.usedBytes=0,o.contents=null):en.isLink(o.mode)?(o.node_ops=et.ops_table.link.node,o.stream_ops=et.ops_table.link.stream):en.isChrdev(o.mode)&&(o.node_ops=et.ops_table.chrdev.node,o.stream_ops=et.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},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)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}}},node_ops:{getattr:function(e){var r={};return r.dev=en.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,en.isDir(e.mode)?r.size=4096:en.isFile(e.mode)?r.size=e.usedBytes:en.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&&et.resizeFileStorage(e,r.size)},lookup:function(e,r){throw en.genericErrors[44]},mknod:function(e,r,t,n){return et.createNode(e,r,t,n)},rename:function(e,r,t){if(en.isDir(e.mode)){var n;try{n=en.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new en.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink:function(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir:function(e,r){var t=en.lookupNode(e,r);for(var n in t.contents)throw new en.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},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=et.createNode(e,r,41471,0);return n.link=t,n},readlink:function(e){if(!en.isLink(e.mode))throw new en.ErrnoError(28);return e.link}},stream_ops:{read:function(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s0||t+r{if(!(e=Q.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new en.ErrnoError(32);for(var t=e.split("/").filter(e=>!!e),n=en.root,o="/",a=0;a40)throw new en.ErrnoError(32)}}return{path:o,node:n}},getPath:e=>{for(var r;;){if(en.isRoot(e)){var t=e.mount.mountpoint;if(!r)return t;return"/"!==t[t.length-1]?t+"/"+r:t+r}r=r?e.name+"/"+r:e.name,e=e.parent}},hashName:(e,r)=>{for(var t=0,n=0;n>>0)%en.nameTable.length},hashAddNode:e=>{var r=en.hashName(e.parent.id,e.name);e.name_next=en.nameTable[r],en.nameTable[r]=e},hashRemoveNode:e=>{var r=en.hashName(e.parent.id,e.name);if(en.nameTable[r]===e)en.nameTable[r]=e.name_next;else for(var t=en.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode:(e,r)=>{var t=en.mayLookup(e);if(t)throw new en.ErrnoError(t,e);for(var n=en.hashName(e.id,r),o=en.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return en.lookup(e,r)},createNode:(e,r,t,n)=>{var o=new en.FSNode(e,r,t,n);return en.hashAddNode(o),o},destroyNode:e=>{en.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>(61440&e)==32768,isDir:e=>(61440&e)==16384,isLink:e=>(61440&e)==40960,isChrdev:e=>(61440&e)==8192,isBlkdev:e=>(61440&e)==24576,isFIFO:e=>(61440&e)==4096,isSocket:e=>(49152&e)==49152,flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var r=en.flagModes[e];if(void 0===r)throw Error("Unknown file open mode: "+e);return r},flagsToPermissionString:e=>{var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>en.ignorePermissions?0:r.includes("r")&&!(292&e.mode)||r.includes("w")&&!(146&e.mode)||r.includes("x")&&!(73&e.mode)?2:0,mayLookup:e=>en.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,r)=>{try{return en.lookupNode(e,r),20}catch(e){}return en.nodePermissions(e,"wx")},mayDelete:(e,r,t)=>{try{n=en.lookupNode(e,r)}catch(e){return e.errno}var n,o=en.nodePermissions(e,"wx");if(o)return o;if(t){if(!en.isDir(n.mode))return 54;if(en.isRoot(n)||en.getPath(n)===en.cwd())return 10}else if(en.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?en.isLink(e.mode)?32:en.isDir(e.mode)&&("r"!==en.flagsToPermissionString(r)||512&r)?31:en.nodePermissions(e,en.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,r=en.MAX_OPEN_FDS)=>{for(var t=e;t<=r;t++)if(!en.streams[t])return t;throw new en.ErrnoError(33)},getStream:e=>en.streams[e],createStream:(e,r,t)=>{en.FSStream||(en.FSStream=function(){this.shared={}},en.FSStream.prototype={},Object.defineProperties(en.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return(2097155&this.flags)!=1}},isWrite:{get:function(){return(2097155&this.flags)!=0}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new en.FSStream,e);var n=en.nextfd(r,t);return e.fd=n,en.streams[n]=e,e},closeStream:e=>{en.streams[e]=null},chrdev_stream_ops:{open:e=>{var r=en.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new en.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice:(e,r)=>{en.devices[e]={stream_ops:r}},getDevice:e=>en.devices[e],getMounts:e=>{for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs:(e,r)=>{"function"==typeof e&&(r=e,e=!1),en.syncFSRequests++,en.syncFSRequests>1&&F("warning: "+en.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=en.getMounts(en.root.mount),n=0;function o(e){return en.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach(r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)})},mount:(e,r,t)=>{var n,o="/"===t,a=!t;if(o&&en.root)throw new en.ErrnoError(10);if(!o&&!a){var i=en.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,en.isMountpoint(n))throw new en.ErrnoError(10);if(!en.isDir(n.mode))throw new en.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return u.mount=s,s.root=u,o?en.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:e=>{var r=en.lookupPath(e,{follow_mount:!1});if(!en.isMountpoint(r.node))throw new en.ErrnoError(28);var t=r.node,n=t.mounted,o=en.getMounts(n);Object.keys(en.nameTable).forEach(e=>{for(var r=en.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&en.destroyNode(r),r=t}}),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod:(e,r,t)=>{var n=en.lookupPath(e,{parent:!0}).node,o=Z.basename(e);if(!o||"."===o||".."===o)throw new en.ErrnoError(28);var a=en.mayCreate(n,o);if(a)throw new en.ErrnoError(a);if(!n.node_ops.mknod)throw new en.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=(void 0!==r?r:438)&4095|32768,en.mknod(e,r,0)),mkdir:(e,r)=>(r=(void 0!==r?r:511)&1023|16384,en.mknod(e,r,0)),mkdirTree:(e,r)=>{for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,en.mknod(e,r,t)),symlink:(e,r)=>{if(!Q.resolve(e))throw new en.ErrnoError(44);var t=en.lookupPath(r,{parent:!0}).node;if(!t)throw new en.ErrnoError(44);var n=Z.basename(r),o=en.mayCreate(t,n);if(o)throw new en.ErrnoError(o);if(!t.node_ops.symlink)throw new en.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename:(e,r)=>{var t,n,o,a=Z.dirname(e),i=Z.dirname(r),s=Z.basename(e),u=Z.basename(r);if(t=en.lookupPath(e,{parent:!0}).node,n=en.lookupPath(r,{parent:!0}).node,!t||!n)throw new en.ErrnoError(44);if(t.mount!==n.mount)throw new en.ErrnoError(75);var l=en.lookupNode(t,s),c=Q.relative(e,i);if("."!==c.charAt(0))throw new en.ErrnoError(28);if("."!==(c=Q.relative(r,a)).charAt(0))throw new en.ErrnoError(55);try{o=en.lookupNode(n,u)}catch(e){}if(l!==o){var d=en.isDir(l.mode),f=en.mayDelete(t,s,d);if(f||(f=o?en.mayDelete(n,u,d):en.mayCreate(n,u)))throw new en.ErrnoError(f);if(!t.node_ops.rename)throw new en.ErrnoError(63);if(en.isMountpoint(l)||o&&en.isMountpoint(o))throw new en.ErrnoError(10);if(n!==t&&(f=en.nodePermissions(t,"w")))throw new en.ErrnoError(f);en.hashRemoveNode(l);try{t.node_ops.rename(l,n,u)}catch(e){throw e}finally{en.hashAddNode(l)}}},rmdir:e=>{var r=en.lookupPath(e,{parent:!0}).node,t=Z.basename(e),n=en.lookupNode(r,t),o=en.mayDelete(r,t,!0);if(o)throw new en.ErrnoError(o);if(!r.node_ops.rmdir)throw new en.ErrnoError(63);if(en.isMountpoint(n))throw new en.ErrnoError(10);r.node_ops.rmdir(r,t),en.destroyNode(n)},readdir:e=>{var r=en.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new en.ErrnoError(54);return r.node_ops.readdir(r)},unlink:e=>{var r=en.lookupPath(e,{parent:!0}).node;if(!r)throw new en.ErrnoError(44);var t=Z.basename(e),n=en.lookupNode(r,t),o=en.mayDelete(r,t,!1);if(o)throw new en.ErrnoError(o);if(!r.node_ops.unlink)throw new en.ErrnoError(63);if(en.isMountpoint(n))throw new en.ErrnoError(10);r.node_ops.unlink(r,t),en.destroyNode(n)},readlink:e=>{var r=en.lookupPath(e).node;if(!r)throw new en.ErrnoError(44);if(!r.node_ops.readlink)throw new en.ErrnoError(28);return Q.resolve(en.getPath(r.parent),r.node_ops.readlink(r))},stat:(e,r)=>{var t=en.lookupPath(e,{follow:!r}).node;if(!t)throw new en.ErrnoError(44);if(!t.node_ops.getattr)throw new en.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>en.stat(e,!0),chmod:(e,r,t)=>{var n;if(!(n="string"==typeof e?en.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new en.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod:(e,r)=>{en.chmod(e,r,!0)},fchmod:(e,r)=>{var t=en.getStream(e);if(!t)throw new en.ErrnoError(8);en.chmod(t.node,r)},chown:(e,r,t,n)=>{var o;if(!(o="string"==typeof e?en.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new en.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,r,t)=>{en.chown(e,r,t,!0)},fchown:(e,r,t)=>{var n=en.getStream(e);if(!n)throw new en.ErrnoError(8);en.chown(n.node,r,t)},truncate:(e,r)=>{if(r<0)throw new en.ErrnoError(28);if("string"==typeof e){var t;t=en.lookupPath(e,{follow:!0}).node}else t=e;if(!t.node_ops.setattr)throw new en.ErrnoError(63);if(en.isDir(t.mode))throw new en.ErrnoError(31);if(!en.isFile(t.mode))throw new en.ErrnoError(28);var n=en.nodePermissions(t,"w");if(n)throw new en.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate:(e,r)=>{var t=en.getStream(e);if(!t)throw new en.ErrnoError(8);if((2097155&t.flags)==0)throw new en.ErrnoError(28);en.truncate(t.node,r)},utime:(e,r,t)=>{var n=en.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open:(r,t,n)=>{if(""===r)throw new en.ErrnoError(44);if(t="string"==typeof t?en.modeStringToFlags(t):t,n=void 0===n?438:n,n=64&t?4095&n|32768:0,"object"==typeof r)o=r;else{r=Z.normalize(r);try{var o;o=en.lookupPath(r,{follow:!(131072&t)}).node}catch(e){}}var a=!1;if(64&t){if(o){if(128&t)throw new en.ErrnoError(20)}else o=en.mknod(r,n,0),a=!0}if(!o)throw new en.ErrnoError(44);if(en.isChrdev(o.mode)&&(t&=-513),65536&t&&!en.isDir(o.mode))throw new en.ErrnoError(54);if(!a){var i=en.mayOpen(o,t);if(i)throw new en.ErrnoError(i)}512&t&&!a&&en.truncate(o,0),t&=-131713;var s=en.createStream({node:o,path:en.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!e.logReadFiles||1&t||(en.readFiles||(en.readFiles={}),r in en.readFiles||(en.readFiles[r]=1)),s},close:e=>{if(en.isClosed(e))throw new en.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{en.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,r,t)=>{if(en.isClosed(e))throw new en.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new en.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new en.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read:(e,r,t,n,o)=>{if(n<0||o<0)throw new en.ErrnoError(28);if(en.isClosed(e)||(2097155&e.flags)==1)throw new en.ErrnoError(8);if(en.isDir(e.node.mode))throw new en.ErrnoError(31);if(!e.stream_ops.read)throw new en.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new en.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write:(e,r,t,n,o,a)=>{if(n<0||o<0)throw new en.ErrnoError(28);if(en.isClosed(e)||(2097155&e.flags)==0)throw new en.ErrnoError(8);if(en.isDir(e.node.mode))throw new en.ErrnoError(31);if(!e.stream_ops.write)throw new en.ErrnoError(28);e.seekable&&1024&e.flags&&en.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new en.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},allocate:(e,r,t)=>{if(en.isClosed(e))throw new en.ErrnoError(8);if(r<0||t<=0)throw new en.ErrnoError(28);if((2097155&e.flags)==0)throw new en.ErrnoError(8);if(!en.isFile(e.node.mode)&&!en.isDir(e.node.mode))throw new en.ErrnoError(43);if(!e.stream_ops.allocate)throw new en.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap:(e,r,t,n,o)=>{if((2&n)!=0&&(2&o)==0&&(2097155&e.flags)!=2||(2097155&e.flags)==1)throw new en.ErrnoError(2);if(!e.stream_ops.mmap)throw new en.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl:(e,r,t)=>{if(!e.stream_ops.ioctl)throw new en.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile:(e,r={})=>{if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw Error('Invalid encoding type "'+r.encoding+'"');var t,n=en.open(e,r.flags),o=en.stat(e).size,a=new Uint8Array(o);return en.read(n,a,0,o,0),"utf8"===r.encoding?t=x(a,0):"binary"===r.encoding&&(t=a),en.close(n),t},writeFile:(e,r,t={})=>{t.flags=t.flags||577;var n=en.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(C(r)+1),a=R(r,o,0,o.length);en.write(n,o,0,a,void 0,t.canOwn)}else if(ArrayBuffer.isView(r))en.write(n,r,0,r.byteLength,void 0,t.canOwn);else throw Error("Unsupported data type");en.close(n)},cwd:()=>en.currentPath,chdir:e=>{var r=en.lookupPath(e,{follow:!0});if(null===r.node)throw new en.ErrnoError(44);if(!en.isDir(r.node.mode))throw new en.ErrnoError(54);var t=en.nodePermissions(r.node,"x");if(t)throw new en.ErrnoError(t);en.currentPath=r.path},createDefaultDirectories:()=>{en.mkdir("/tmp"),en.mkdir("/home"),en.mkdir("/home/web_user")},createDefaultDevices:()=>{en.mkdir("/dev"),en.registerDevice(en.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),en.mkdev("/dev/null",en.makedev(1,3)),er.register(en.makedev(5,0),er.default_tty_ops),er.register(en.makedev(6,0),er.default_tty1_ops),en.mkdev("/dev/tty",en.makedev(5,0)),en.mkdev("/dev/tty1",en.makedev(6,0));var e=function(){if("object"!=typeof crypto||"function"!=typeof crypto.getRandomValues)return()=>G("randomDevice");var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}();en.createDevice("/dev","random",e),en.createDevice("/dev","urandom",e),en.mkdir("/dev/shm"),en.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{en.mkdir("/proc");var e=en.mkdir("/proc/self");en.mkdir("/proc/self/fd"),en.mount({mount:()=>{var r=en.createNode(e,"fd",16895,73);return r.node_ops={lookup:(e,r)=>{var t=en.getStream(+r);if(!t)throw new en.ErrnoError(8);var n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>t.path}};return n.parent=n,n}},r}},{},"/proc/self/fd")},createStandardStreams:()=>{e.stdin?en.createDevice("/dev","stdin",e.stdin):en.symlink("/dev/tty","/dev/stdin"),e.stdout?en.createDevice("/dev","stdout",null,e.stdout):en.symlink("/dev/tty","/dev/stdout"),e.stderr?en.createDevice("/dev","stderr",null,e.stderr):en.symlink("/dev/tty1","/dev/stderr"),en.open("/dev/stdin",0),en.open("/dev/stdout",1),en.open("/dev/stderr",1)},ensureErrnoError:()=>{en.ErrnoError||(en.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},en.ErrnoError.prototype=Error(),en.ErrnoError.prototype.constructor=en.ErrnoError,[44].forEach(e=>{en.genericErrors[e]=new en.ErrnoError(e),en.genericErrors[e].stack=""}))},staticInit:()=>{en.ensureErrnoError(),en.nameTable=Array(4096),en.mount(et,{},"/"),en.createDefaultDirectories(),en.createDefaultDevices(),en.createSpecialDirectories(),en.filesystems={MEMFS:et}},init:(r,t,n)=>{en.init.initialized=!0,en.ensureErrnoError(),e.stdin=r||e.stdin,e.stdout=t||e.stdout,e.stderr=n||e.stderr,en.createStandardStreams()},quit:()=>{en.init.initialized=!1,ev(0);for(var e=0;e{var t=0;return e&&(t|=365),r&&(t|=146),t},findObject:(e,r)=>{var t=en.analyzePath(e,r);return t.exists?t.object:null},analyzePath:(e,r)=>{try{var t=en.lookupPath(e,{follow:!r});e=t.path}catch(e){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var t=en.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=t.path,n.parentObject=t.node,n.name=Z.basename(e),t=en.lookupPath(e,{follow:!r}),n.exists=!0,n.path=t.path,n.object=t.node,n.name=t.node.name,n.isRoot="/"===t.path}catch(e){n.error=e.errno}return n},createPath:(e,r,t,n)=>{e="string"==typeof e?e:en.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var i=Z.join2(e,a);try{en.mkdir(i)}catch(e){}e=i}}return i},createFile:(e,r,t,n,o)=>{var a=Z.join2("string"==typeof e?e:en.getPath(e),r),i=en.getMode(n,o);return en.create(a,i)},createDataFile:(e,r,t,n,o,a)=>{var i=r;e&&(e="string"==typeof e?e:en.getPath(e),i=r?Z.join2(e,r):e);var s=en.getMode(n,o),u=en.create(i,s);if(t){if("string"==typeof t){for(var l=Array(t.length),c=0,d=t.length;c{var o=Z.join2("string"==typeof e?e:en.getPath(e),r),a=en.getMode(!!t,!!n);en.createDevice.major||(en.createDevice.major=64);var i=en.makedev(en.createDevice.major++,0);return en.registerDevice(i,{open:e=>{e.seekable=!1},close:e=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(e,r,n,o,a)=>{for(var i,s=0,u=0;u{for(var i=0;i{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw 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(o)try{e.contents=ee(o(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new en.ErrnoError(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile:(e,r,t,n,o)=>{function a(){this.lengthKnown=!1,this.chunks=[]}if(a.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]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e,r=new XMLHttpRequest;if(r.open("HEAD",t,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw Error("Couldn't load "+t+". Status: "+r.status);var n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=(e,r)=>{if(e>r)throw Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+e+"-"+r),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 Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):ee(o.responseText||"",!0)},u=this;u.setDataGetter(e=>{var r=e*i,t=(e+1)*i-1;if(t=Math.min(t,n-1),void 0===u.chunks[e]&&(u.chunks[e]=s(r,t)),void 0===u.chunks[e])throw Error("doXHR failed!");return u.chunks[e]}),(a||!n)&&(i=n=1,i=n=this.getter(0).length,D("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){var i;throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"}var i={isDevice:!1,url:t},s=en.createFile(e,r,i,n,o);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s{var r=s.stream_ops[e];u[e]=function(){return en.forceLoadFile(s),r.apply(null,arguments)}}),u.read=(e,r,t,n,o)=>(en.forceLoadFile(s),l(e,r,t,n,o)),u.mmap=(e,r,t,n,o)=>{en.forceLoadFile(s);var a=void G();if(!a)throw new en.ErrnoError(48);return l(e,d,a,r,t),{ptr:a,allocated:!0}},s.stream_ops=u,s},createPreloadedFile:(e,r,t,n,o,i,s,u,l,c)=>{var d,f,m=r?Q.resolve(Z.join2(e,r)):e,h="cp "+m;function p(t){function a(t){c&&c(),u||en.createDataFile(e,r,t,n,o,l),i&&i(),Y(h)}Browser.handledByPreloadPlugin(t,m,a,()=>{s&&s(),Y(h)})||a(t)}q(h),"string"==typeof t?(d=e=>p(e),f="al "+t,a(t,e=>{var r;r='Loading data file "'+t+'" failed (no arrayBuffer).',e||G(r),d(new Uint8Array(e)),f&&Y(f)},e=>{if(s)s();else throw'Loading data file "'+t+'" failed.'}),f&&q(f)):p(t)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,r=()=>{},t=()=>{})=>{var n=en.indexedDB();try{var o=n.open(en.DB_NAME(),en.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=()=>{D("creating db"),o.result.createObjectStore(en.DB_STORE_NAME)},o.onsuccess=()=>{var n=o.result.transaction([en.DB_STORE_NAME],"readwrite"),a=n.objectStore(en.DB_STORE_NAME),i=0,s=0,u=e.length;function l(){0==s?r():t()}e.forEach(e=>{var r=a.put(en.analyzePath(e).object.contents,e);r.onsuccess=()=>{++i+s==u&&l()},r.onerror=()=>{i+ ++s==u&&l()}}),n.onerror=t},o.onerror=t},loadFilesFromDB:(e,r=()=>{},t=()=>{})=>{var n=en.indexedDB();try{var o=n.open(en.DB_NAME(),en.DB_VERSION)}catch(e){return t(e)}o.onupgradeneeded=t,o.onsuccess=()=>{var n=o.result;try{var a=n.transaction([en.DB_STORE_NAME],"readonly")}catch(e){t(e);return}var i=a.objectStore(en.DB_STORE_NAME),s=0,u=0,l=e.length;function c(){0==u?r():t()}e.forEach(e=>{var r=i.get(e);r.onsuccess=()=>{en.analyzePath(e).exists&&en.unlink(e),en.createDataFile(Z.dirname(e),Z.basename(e),r.result,!0,!0,!0),++s+u==l&&c()},r.onerror=()=>{s+ ++u==l&&c()}}),a.onerror=t},o.onerror=t}},eo={DEFAULT_POLLMASK:5,calculateAt:function(e,r,t){if(Z.isAbs(r))return r;if(-100===e)n=en.cwd();else{var n;n=eo.getStreamFromFD(e).path}if(0==r.length){if(!t)throw new en.ErrnoError(44);return n}return Z.join2(n,r)},doStat:function(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&Z.normalize(r)!==Z.normalize(en.getPath(e.node)))return -54;throw e}h[t>>2]=n.dev,h[t+8>>2]=n.ino,h[t+12>>2]=n.mode,p[t+16>>2]=n.nlink,h[t+20>>2]=n.uid,h[t+24>>2]=n.gid,h[t+28>>2]=n.rdev,g=[n.size>>>0,+Math.abs(w=n.size)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+40>>2]=g[0],h[t+44>>2]=g[1],h[t+48>>2]=4096,h[t+52>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return g=[Math.floor(o/1e3)>>>0,+Math.abs(w=Math.floor(o/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+56>>2]=g[0],h[t+60>>2]=g[1],p[t+64>>2]=o%1e3*1e3,g=[Math.floor(a/1e3)>>>0,+Math.abs(w=Math.floor(a/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+72>>2]=g[0],h[t+76>>2]=g[1],p[t+80>>2]=a%1e3*1e3,g=[Math.floor(i/1e3)>>>0,+Math.abs(w=Math.floor(i/1e3))>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+88>>2]=g[0],h[t+92>>2]=g[1],p[t+96>>2]=i%1e3*1e3,g=[n.ino>>>0,+Math.abs(w=n.ino)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0],h[t+104>>2]=g[0],h[t+108>>2]=g[1],0},doMsync:function(e,r,t,n,o){if(!en.isFile(r.node.mode))throw new en.ErrnoError(43);if(2&n)return 0;var a=f.slice(e,e+t);en.msync(r,a,o,t,n)},varargs:void 0,get:function(){return eo.varargs+=4,h[eo.varargs-4>>2]},getStr:function(e){return function(e,r){if(!e)return"";for(var t=e+void 0,n=e;!(n>=t)&&f[n];)++n;return P.decode(f.subarray(e,n))}(e)},getStreamFromFD:function(e){var r=en.getStream(e);if(!r)throw new en.ErrnoError(8);return r}},ea={};function ei(){if(!ei.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:b||"./this.program"};for(var r in ea)void 0===ea[r]?delete e[r]:e[r]=ea[r];var t=[];for(var r in e)t.push(r+"="+e[r]);ei.strings=t}return ei.strings}function es(r,t){c=r,M||L>0||(eg(),J(j),en.quit(),er.shutdown(),I=!0),c=r,M||L>0||(e.onExit&&e.onExit(r),A=!0),k(r,new $(r))}function eu(e){if(e instanceof $||"unwind"==e)return c;k(1,e)}function el(e){try{return e()}catch(e){G(e)}}var ec={instrumentWasmImports:function(e){var r=["invoke_*","emscripten_sleep","emscripten_wget","emscripten_wget_data","emscripten_idb_load","emscripten_idb_store","emscripten_idb_delete","emscripten_idb_exists","emscripten_idb_load_blob","emscripten_idb_store_blob","SDL_Delay","emscripten_scan_registers","emscripten_lazy_load_code","emscripten_fiber_swap","__load_secondary_module","fd_sync","__wasi_fd_sync","_emval_await","_dlopen_js","__asyncjs__*"];for(var t in e)!function(t){var n=e[t];n.sig,"function"==typeof n&&(r.indexOf(t)>=0||t.startsWith("__asyncjs__"))}(t)},instrumentWasmExports:function(e){var r={};for(var t in e)!function(t){var n=e[t];"function"==typeof n?r[t]=function(){ec.exportCallStack.push(t);try{return n.apply(null,arguments)}finally{A||(ec.exportCallStack.pop()===t||G(void 0),ec.maybeStopUnwind())}}:r[t]=n}(t);return r},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:8192,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId:function(e){var r=ec.callStackNameToId[e];return void 0===r&&(r=ec.callStackId++,ec.callStackNameToId[e]=r,ec.callStackIdToName[r]=e),r},maybeStopUnwind:function(){ec.currData&&ec.state===ec.State.Unwinding&&0===ec.exportCallStack.length&&(ec.state=ec.State.Normal,L+=1,el(eN),"undefined"!=typeof Fibers&&Fibers.trampoline())},whenDone:function(){return new Promise((e,r)=>{ec.asyncPromiseHandlers={resolve:e,reject:r}})},allocateData:function(){var e=eh(12+ec.StackSize);return ec.setDataHeader(e,e+12,ec.StackSize),ec.setDataRewindFunc(e),e},setDataHeader:function(e,r,t){h[e>>2]=r,h[e+4>>2]=r+t},setDataRewindFunc:function(e){var r=ec.exportCallStack[0],t=ec.getCallStackId(r);h[e+8>>2]=t},getDataRewindFunc:function(r){var t=h[r+8>>2],n=ec.callStackIdToName[t];return e.asm[n]},doRewind:function(e){var r=ec.getDataRewindFunc(e);return L-=1,r()},handleSleep:function(e){if(!A){if(ec.state===ec.State.Normal){var r=!1,t=!1;e((e=0)=>{if(!A&&(ec.handleSleepReturnValue=e,r=!0,t)){ec.state=ec.State.Rewinding,el(()=>ez(ec.currData)),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.resume();var n,o=!1;try{n=ec.doRewind(ec.currData)}catch(e){n=e,o=!0}var a=!1;if(!ec.currData){var i=ec.asyncPromiseHandlers;i&&(ec.asyncPromiseHandlers=null,(o?i.reject:i.resolve)(n),a=!0)}if(o&&!a)throw n}}),t=!0,r||(ec.state=ec.State.Unwinding,ec.currData=ec.allocateData(),"undefined"!=typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.pause(),el(()=>eT(ec.currData)))}else ec.state===ec.State.Rewinding?(ec.state=ec.State.Normal,el(eB),em(ec.currData),ec.currData=null,ec.sleepCallbacks.forEach(e=>(function(e){if(!I&&!A)try{e(),function(){if(!(M||L>0))try{es(c)}catch(e){eu(e)}}()}catch(e){eu(e)}})(e))):G("invalid state: "+ec.state);return ec.handleSleepReturnValue}},handleAsync:function(e){return ec.handleSleep(r=>{e().then(r)})}},ed=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=en.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n};Object.defineProperties(ed.prototype,{read:{get:function(){return(365&this.mode)==365},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return(146&this.mode)==146},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return en.isDir(this.mode)}},isDevice:{get:function(){return en.isChrdev(this.mode)}}}),en.FSNode=ed,en.staticInit();var ef={s:function(r,t){return ec.handleAsync(async()=>{e.emglken_stdin_buffers.length||await new Promise(r=>{e.emglken_stdin_ready=r});let n=e.emglken_stdin_buffers.shift(),o=Math.min(n.length,t);return o==n.length?f.set(n,r):(f.set(n.subarray(0,o),r),e.emglken_stdin_buffers.unshift(n.subarray(o))),o})},D:function(e,r,t,n){try{if(r=eo.getStr(r),r=eo.calculateAt(e,r),-8&t)return -28;var o=en.lookupPath(r,{follow:!0}).node;if(!o)return -44;var a="";if(4&t&&(a+="r"),2&t&&(a+="w"),1&t&&(a+="x"),a&&en.nodePermissions(o,a))return -2;return 0}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return-e.errno}},n:function(e,r,t){eo.varargs=t;try{var n=eo.getStreamFromFD(e);switch(r){case 0:var o=eo.get();if(o<0)return -28;return en.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=eo.get();return n.flags|=o,0;case 5:var o=eo.get();return m[o+0>>1]=2,0;case 16:case 8:default:return -28;case 9:return h[ew()>>2]=28,-1}}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return-e.errno}},C:function(e,r){try{if(0===r)return -28;var t=en.cwd(),n=C(t)+1;if(r>2]=0,0;case 21520:if(!n.tty)return -59;return -28;case 21531:var o=eo.get();return en.ioctl(n,r,o);default:return -28}}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return-e.errno}},A:function(e,r,t,n){eo.varargs=n;try{r=eo.getStr(r),r=eo.calculateAt(e,r);var o=n?eo.get():0;return en.open(r,t,o).fd}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return-e.errno}},z:function(e,r){try{return e=eo.getStr(e),eo.doStat(en.stat,e,r)}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return-e.errno}},v:function(){return!0},u:function(){throw 1/0},t:function(){G("")},k:function(){return Date.now()},r:function(e,r,t){f.copyWithin(e,r,r+t)},q:function(e){var r=f.length;if((e>>>=0)>2147483648)return!1;let t=(e,r)=>e+(r-e%r)%r;for(var n=1;n<=4;n*=2){var o=r*(1+.2/n);if(o=Math.min(o,e+100663296),function(e){var r=l.buffer;try{return l.grow(e-r.byteLength+65535>>>16),T(),1}catch(e){}}(Math.min(2147483648,t(Math.max(e,o),65536))))return!0}return!1},y:function(e,r){var t=0;return ei().forEach(function(n,o){var a=r+t;p[e+4*o>>2]=a,function(e,r,t){for(var n=0;n>0]=e.charCodeAt(n);d[r>>0]=0}(n,a),t+=n.length+1}),0},x:function(e,r){var t=ei();p[e>>2]=t.length;var n=0;return t.forEach(function(e){n+=e.length+1}),p[r>>2]=n,0},i:es,m:function(e){try{var r=eo.getStreamFromFD(e);return en.close(r),0}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return e.errno}},w:function(e,r,t,n){try{var o=eo.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=en.read(e,d,i,s,n);if(u<0)return -1;if(o+=u,u>2]=a,0}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return e.errno}},p:function(e,r,t,n,o){try{var a=t+2097152>>>0<4194305-!!r?(r>>>0)+4294967296*t:NaN;if(isNaN(a))return 61;var i=eo.getStreamFromFD(e);return en.llseek(i,a,n),g=[i.position>>>0,(w=i.position,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],h[o>>2]=g[0],h[o+4>>2]=g[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return e.errno}},l:function(e,r,t,n){try{var o=eo.getStreamFromFD(e),a=function(e,r,t,n){for(var o=0,a=0;a>2],s=p[r+4>>2];r+=8;var u=en.write(e,d,i,s,n);if(u<0)return -1;o+=u,void 0!==n&&(n+=u)}return o}(o,r,t);return p[n>>2]=a,0}catch(e){if(void 0===en||"ErrnoError"!==e.name)throw e;return e.errno}},c:function(e){var r=ey();try{return eM(e)}catch(e){if(eE(r),e!==e+0)throw e;e_(1,0)}},g:function(e,r){var t=ey();try{return eD(e,r)}catch(e){if(eE(t),e!==e+0)throw e;e_(1,0)}},f:function(e,r,t,n){var o=ey();try{return eS(e,r,t,n)}catch(e){if(eE(o),e!==e+0)throw e;e_(1,0)}},d:function(e,r,t,n,o){var a=ey();try{return eP(e,r,t,n,o)}catch(e){if(eE(a),e!==e+0)throw e;e_(1,0)}},o:function(e,r){var t=ey();try{return eC(e,r)}catch(e){if(eE(t),e!==e+0)throw e;e_(1,0)}},j:function(e){var r=ey();try{eA(e)}catch(e){if(eE(r),e!==e+0)throw e;e_(1,0)}},b:function(e,r){var t=ey();try{ek(e,r)}catch(e){if(eE(t),e!==e+0)throw e;e_(1,0)}},a:function(e,r,t){var n=ey();try{eF(e,r,t)}catch(e){if(eE(n),e!==e+0)throw e;e_(1,0)}},h:function(e,r,t,n){var o=ey();try{ex(e,r,t,n)}catch(e){if(eE(o),e!==e+0)throw e;e_(1,0)}},e:function(e,r,t,n,o){var a=ey();try{eR(e,r,t,n,o)}catch(e){if(eE(a),e!==e+0)throw e;e_(1,0)}}};!function(){var r,t,o,a={a:ef};function i(r,t){var n,o=r.exports;return o=ec.instrumentWasmExports(o),e.asm=o,l=e.asm.E,T(),e.asm.N,n=e.asm.F,z.unshift(n),Y("wasm-instantiate"),o}if(q("wasm-instantiate"),e.instantiateWasm)try{return e.instantiateWasm(a,i)}catch(e){F("Module.instantiateWasm callback failed with error: "+e),n(e)}(r=u,t=v,o=function(e){i(e.instance)},r||"function"!=typeof WebAssembly.instantiateStreaming||V(t)||"function"!=typeof fetch?K(t,a,o):fetch(t,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,a).then(o,function(e){return F("wasm streaming compile failed: "+e),F("falling back to ArrayBuffer instantiation"),K(t,a,o)})})).catch(n)}();var em=function(){return(em=e.asm.G).apply(null,arguments)},eh=function(){return(eh=e.asm.H).apply(null,arguments)},ep=e._main=function(){return(ep=e._main=e.asm.I).apply(null,arguments)},ev=(e._gidispatch_get_game_id=function(){return(e._gidispatch_get_game_id=e.asm.J).apply(null,arguments)},e._fflush=function(){return(ev=e._fflush=e.asm.K).apply(null,arguments)}),ew=function(){return(ew=e.asm.L).apply(null,arguments)},eg=function(){return(eg=e.asm.M).apply(null,arguments)},e_=function(){return(e_=e.asm.O).apply(null,arguments)},ey=function(){return(ey=e.asm.P).apply(null,arguments)},eE=function(){return(eE=e.asm.Q).apply(null,arguments)},eb=function(){return(eb=e.asm.R).apply(null,arguments)},ek=e.dynCall_vi=function(){return(ek=e.dynCall_vi=e.asm.S).apply(null,arguments)},eS=e.dynCall_iiii=function(){return(eS=e.dynCall_iiii=e.asm.T).apply(null,arguments)},eD=e.dynCall_ii=function(){return(eD=e.dynCall_ii=e.asm.U).apply(null,arguments)},eF=e.dynCall_vii=function(){return(eF=e.dynCall_vii=e.asm.V).apply(null,arguments)},eM=e.dynCall_i=function(){return(eM=e.dynCall_i=e.asm.W).apply(null,arguments)},eA=e.dynCall_v=function(){return(eA=e.dynCall_v=e.asm.X).apply(null,arguments)},eP=e.dynCall_iiiii=function(){return(eP=e.dynCall_iiiii=e.asm.Y).apply(null,arguments)},ex=e.dynCall_viii=function(){return(ex=e.dynCall_viii=e.asm.Z).apply(null,arguments)},eR=e.dynCall_viiii=function(){return(eR=e.dynCall_viiii=e.asm._).apply(null,arguments)},eC=e.dynCall_ji=function(){return(eC=e.dynCall_ji=e.asm.$).apply(null,arguments)},eT=function(){return(eT=e.asm.aa).apply(null,arguments)},eN=function(){return(eN=e.asm.ba).apply(null,arguments)},ez=function(){return(ez=e.asm.ca).apply(null,arguments)},eB=function(){return(eB=e.asm.da).apply(null,arguments)};function ej(r=E){!(U>0)&&(function(){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;){var r;r=e.preRun.shift(),N.unshift(r)}J(N)}(),U>0||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),n()},1)):n()));function n(){!_&&(_=!0,e.calledRun=!0,A||(e.noFSInit||en.init.initialized||en.init(),en.ignorePermissions=!1,er.init(),J(z),J(B),t(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),eO&&function(e=[]){var r=ep;e.unshift(b);var t=e.length,n=eb((t+1)*4),o=n>>2;e.forEach(e=>{var r,t;h[o++]=(t=eb(r=C(e)+1),R(e,d,t,r),t)}),h[o]=0;try{var a=r(t,n);es(a,!0)}catch(e){return eu(e)}}(r),function(){if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var r;r=e.postRun.shift(),O.unshift(r)}J(O)}()))}}if(e.___start_em_js=107504,e.___stop_em_js=110189,e.AsciiToString=function(e){for(var r="";;){var t=f[e++>>0];if(!t)return r;r+=String.fromCharCode(t)}},e.FS=en,W=function e(){_||ej(),_||(W=e)},e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();var eO=!0;return e.noInitialRun&&(eO=!1),ej(),e.ready});let rO=[{id:"bocfel",extensions:/z([3458]|blorb)$/,engine:class extends rM{default_options(){return{vmcore:rP}}}},{id:"git",extensions:/(gblorb|ulx)$/,engine:class extends rM{default_options(){return{vmcore:rR}}}},{id:"hugo",extensions:/hex$/,engine:class extends rM{default_options(){return{vmcore:rT}}}},{id:"scare",extensions:/taf$/,engine:class extends rM{default_options(){return{vmcore:rj}}}},{id:"tads",extensions:/(gam|t3)$/,engine:class extends rM{default_options(){return{vmcore:rz}}}}],rI=e=>{let r=rO.find(r=>r.extensions.test(e));if(r)return{...r,wasmBinaryName:`emglken/${r.id}-core.wasm`};throw Error("Unsupported file type")};var rL=class{constructor(e,r){this.streaming=!1,this.handlers=e,this.loggers=r}file_ref_exists({usage:e}){return"save"===e}file_remove_ref(){return!0}file_construct_ref(e,r){return{filename:e,usage:r||""}}file_read(e,r){return this.handlers.onFileRead(e,r)}file_write(e,r,t){0!==r.length&&this.handlers.onFileWrite(e,r,t)}open(e,r,t,n){this.handlers.onFileNameRequest(e,r,t,n)}log(e){this.loggers.log(e)}warning(e){this.loggers.warn(e)}error(e){this.loggers.error(e)}},rU=class{constructor({width:e,height:r}){this.width=e,this.height=r,this.current_metrics=null,this.disabled=!1,this.generation=0,this.interface=null,this.version="0.5.1"}measure_window(){return{width:this.width,height:this.height,buffercharheight:1,buffercharwidth:1,buffermarginx:0,buffermarginy:0,graphicsmarginx:0,graphicsmarginy:0,gridcharheight:1,gridcharwidth:1,gridmarginx:0,gridmarginy:0,inspacingx:0,inspacingy:0,outspacingx:0,outspacingy:0}}getinterface(){return this.interface}init(e){e||this.error("No game interface object has been provided."),e.accept||this.error("The game interface object must have an accept() function."),this.interface=e,this.current_metrics=this.measure_window(),this.send_response("init",null,this.current_metrics)}update(e){if("error"===e.type&&this.error(e.message),"pass"!==e.type){if("update"!==e.type&&"exit"!==e.type){this.log(`Ignoring unknown message type: ${e.type}`);return}if(e.gen===this.generation){this.log(`Ignoring repeated generation number: ${e.gen}`);return}if(e.genthis.send_response("specialresponse",null,"fileref_prompt",e)):this.error("Request for unknown special input type: "+e.type)}update_content(e){this.handlers.onUpdateContent(e)}exit(){this.handlers.onExit(),super.exit()}cancel_inputs(e){this.handlers.onUpdateInputs(e)}disable(e){this.handlers.onDisable(e)}update_windows(e){this.handlers.onUpdateWindows(e)}log(e){this.loggers.log(e)}warning(e){this.loggers.warn(e)}error(e){this.loggers.error(e)}};let rW=()=>void 0,rq=["onInit","onUpdateWindows","onUpdateInputs","onUpdateContent","onDisable","onFileNameRequest","onFileRead","onFileWrite","onExit"].reduce((e,r)=>(e[r]=rW,e),{}),rY={log:console.log,warning:console.warn,error:console.error},rG={width:80,height:25};var rV=(e,{loggers:r,size:t}={})=>{let n=Object.assign({},rq,e),o=Object.assign({},rY,r),a=Object.assign({},rG,t),i=new rL(n,o),s=new rH(n,o,a),u=s.sendFn.bind(s);return{Dialog:i,GlkOte:s,send:u}},rX={};function rK({style:e,text:r}){let t=ew("span",{className:[rX.message,rX[e]].join(" "),children:r});return({grid:r?.length>0?ew("div",{children:r}):ew("br",{}),input:ew("span",{className:[rX.message,rX.input].join(" "),children:["> ",r]}),subheader:ew("strong",{className:[rX.message,rX.subheader].join(" "),children:r}),emphasized:ew("em",{className:[rX.message,rX.emphasized].join(" "),children:r}),scrollTarget:ew("div",{className:[rX.scrollTarget,e].join(" ")}),endOfLine:ew("br",{})})[e]||t}e(rX,"emphasized",function(){return _},function(e){return _=e}),e(rX,"input",function(){return y},function(e){return y=e}),e(rX,"message",function(){return E},function(e){return E=e}),e(rX,"scrollTarget",function(){return b},function(e){return b=e}),e(rX,"subheader",function(){return k},function(e){return k=e}),_="hBGgUq_emphasized",y="hBGgUq_input",E="hBGgUq_message",b="hBGgUq_scrollTarget",k="hBGgUq_subheader",S="PwGQsW_buffer",D="PwGQsW_gridBuffer";let r$={style:"endOfLine"},rJ={style:"scrollTarget"},rZ=e=>e.height<5,rQ=e=>e.length<1?e:">"===e.slice(-1)[0].text?e.slice(0,e.length-1):e,r0=(e,r)=>{let t=e.find(({id:e})=>e===r.id);if(!t)return{clear:!1,incoming:[rJ]};let{text:n}=t,o=n.map(({content:e})=>e?[...rQ(e),r$]:[r$]).reduce((e,r)=>e.concat(r),[rJ]);return{incoming:o,clear:!!rZ(r)||t.clear}};function r1({inbox:e,currentWindow:r}){let[t,n]=eR([]),o=eN(null);return eC(()=>{let{incoming:t,clear:a}=r0(e,r);n(e=>a?t:e.concat(t)),setTimeout(()=>{let e=o.current.querySelectorAll(`.${rJ.style}`),r=e[e.length-1];r?r.scrollIntoView():o.current.scrollTo({top:o.current.scrollHeight,behavior:"smooth"})},0)},[r,e]),ew("section",{tabindex:"0",ref:o,className:[S,rZ(r)?D:"PwGQsW_textBuffer"].join(" "),children:t.map(rK)})}function r2({inbox:e,currentWindow:r}){let[t,n]=eR([]),[o,a]=eR([]);return eC(()=>{let o=e.find(({id:e})=>e===r.id),i=o?.lines??[],s=Array(r.gridheight).fill(null).map((e,r)=>r).map(e=>{let r=(e,r)=>e.find(({line:e})=>e===r);return r(i,e)||r(t,e)});((e,r)=>{let t=JSON.stringify;return t(e)!==t(r)})(s,t)&&n(s);let u=s.map(e=>e.content).flat().map(e=>({...e,text:e.text.trim()})),l=u.map(({text:e})=>e.length).every(e=>0===e),c=({style:e})=>["alert","normal"].includes(e)?"grid":e||"grid",d=u.map(e=>({style:c(e),text:e.text.replace(" "," / ")}));a(l?[]:d)},[e,r,t]),ew("section",{className:[S,D].join(" "),children:o.map(rK)})}function r4({onClick:e}){return ew("button",{"aria-label":"Menu",className:"gUkI1a_menuButton",onClick:e,children:ew("svg",{class:"gUkI1a_menuIcon",viewBox:"0 0 28 32",xmlns:"http://www.w3.org/2000/svg",children:[ew("rect",{x:"12",y:"4",width:"4",height:"4"}),ew("rect",{x:"12",y:"14",width:"4",height:"4"}),ew("rect",{x:"12",y:"24",width:"4",height:"4"})]})})}let r6={KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_PAGEUP:33,KEY_PAGEDOWN:34,KEY_END:35,KEY_HOME:36,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40},r3={[r6.KEY_BACKSPACE]:"delete",[r6.KEY_TAB]:"tab",[r6.KEY_RETURN]:"return",[r6.KEY_ESC]:"escape",[r6.KEY_PAGEUP]:"pageup",[r6.KEY_PAGEDOWN]:"pagedown",[r6.KEY_END]:"end",[r6.KEY_HOME]:"home",[r6.KEY_LEFT]:"left",[r6.KEY_UP]:"up",[r6.KEY_RIGHT]:"right",[r6.KEY_DOWN]:"down"},r9=e=>{let r=[e.altKey,e.ctrlKey,e.metaKey,e.shiftKey];return r.some(e=>!0===e)};function r8({inputType:e,windows:r,currentWindowId:t,sendMessage:n,onFullscreenRequest:o,setMenuOpen:a}){let[i,s]=eR(null),[u,l]=eR(""),[c,d]=eR(""),f=eN(null);eC(()=>{let e=()=>{f.current&&f.current.focus()};return l(""),e(),document.addEventListener("fullscreenchange",e),()=>document.removeEventListener("fullscreenchange",e)},[e]),eC(()=>{s(r.find(({id:e})=>e===t))},[t,r]);let m=r=>{n(r,e,i),d(r),l("")},h=e=>{if(r9(e))return;e.preventDefault();let r=r3[e.keyCode]||e.key;m(r)},p=e=>setTimeout(()=>{m(e.target.value.slice(-1).toUpperCase()),l("")});return ew("section",{className:"LdLucW_inputControls",children:[ew("input",{...{char:{maxlength:"1",placeholder:"Press any key here",onKeyDown:e=>(229===e.keyCode?p:h)(e)},line:{placeholder:" > ",onKeyDown:({keyCode:e})=>{e===r6.KEY_UP&&(l(c),setTimeout(()=>{let e=c.length;f.current.setSelectionRange(e,e)},0)),e===r6.KEY_DOWN&&l("")},onKeyPress:({keyCode:e,target:{value:r}})=>{e===r6.KEY_RETURN&&m(r)}},finished:{placeholder:"The program has finished",disabled:!0}}[e],className:"LdLucW_inputBox",ref:f,value:u,autofocus:!0,autocomplete:"off",spellCheck:"false",autocapitalize:"off",autocorrect:"off",onDblClick:o,onInput:({target:{value:e}})=>l(e),type:"search"}),ew(r4,{onClick:()=>a(!0)})]})}F="zi213q_status";let r5=e=>ew("div",{className:[F].join(" "),children:[ew("h1",{children:"Error"}),e.map(e=>ew("p",{children:e},e)),ew("hr",{}),ew(rt,{href:"/",children:"Home"}),"|",ew("a",{target:"_blank",rel:"noopener noreferrer",href:"https://github.com/He4eT/elseifplayer/issues",children:"Report bug"})]}),r7=e=>ew("div",{className:[F,"zi213q_loading"].join(" "),children:e.map(e=>ew("div",{children:e},e))});var te=({stage:e,details:r})=>({fail:r5,loading:r7})[e](r);let tr={},tt={};["ҠҿԀԟڀڿݠޟ߀ߟကဟႠႿᄀᅟᆀᆟᇠሿበቿዠዿጠጿᎠᏟᐠᙟᚠᛟកសᠠᡟᣀᣟᦀᦟ᧠᧿ᨠᨿᯀᯟᰀᰟᴀᴟ⇠⇿⋀⋟⍀⏟␀␟─❟➀➿⠀⥿⦠⦿⨠⩟⪀⪿⫠⭟ⰀⰟⲀⳟⴀⴟⵀⵟ⺠⻟㇀㇟㐀䶟䷀龿ꀀꑿ꒠꒿ꔀꗿꙀꙟꚠꛟ꜀ꝟꞀꞟꡀꡟ","ƀƟɀʟ"].forEach((e,r)=>{let t=[];e.match(/../gu).forEach(e=>{let r=e.codePointAt(0),n=e.codePointAt(1);for(let e=r;e<=n;e++)t.push(String.fromCodePoint(e))});let n=15-8*r;tr[n]=t,t.forEach((e,r)=>{tt[e]=[n,r]})});let tn=e=>{let r=e.length,t="",n=0,o=0;for(let a=0;a=0;e--){let a=r>>e&1;n=(n<<1)+a,15==++o&&(t+=tr[o][n],n=0,o=0)}}if(0!==o){for(;!(o in tr);)n=(n<<1)+1,o++;t+=tr[o][n]}return t},to=e=>{let r=e.length,t=new Uint8Array(Math.floor(15*r/8)),n=0,o=0,a=0;for(let i=0;i=0;e--){let r=l>>e&1;o=(o<<1)+r,8==++a&&(t[n]=o,n++,o=0,a=0)}}if(o!==(1<({onInit:()=>{e({stage:"ready"})},onUpdateWindows:e=>{r(e)},onUpdateInputs:e=>{if(0===e.length)return null;let{type:r,id:o}=e[0];t(o),n(r)},onUpdateContent:e=>{o(e)},onDisable:()=>{n(null)},onFileNameRequest:(e,r,t,n)=>{n({usage:r,filename:prompt("Enter the filename")})},onFileRead:({filename:e})=>{let r=localStorage.getItem(`fake-fs/${e}`);return to(r)},onFileWrite:({filename:e},r)=>{localStorage.setItem(`fake-fs/${e}`,tn(r))},onExit:()=>{n("finished")}}),ti=e=>r=>{"ExitStatus"===r.reason.name||"Program terminated with exit(0)"===r.reason.message?e():console.error("Unhandled rejection (promise: ",r.promise,", reason: ",r.reason,")."),r.preventDefault()},ts={stage:"loading",details:["Preparing"]},tu=({engine:e,wasmBinary:r,storyfile:t,handlers:n})=>{let{Dialog:o,GlkOte:a,send:i}=rV(n),s=new e;return s.init(t,{Dialog:o,GlkOte:a,Glk:{},wasmBinary:r,arguments:["storyfile"]}),s.start(),{send:i,instance:s}};function tl({vmParts:{storyfile:e,engine:r,wasmBinary:t},onFullscreenRequest:n,setMenuOpen:o,singleWindow:a}){let[i,s]=eR(ts),[u,l]=eR([]),[c,d]=eR(null),[f,m]=eR(null),[h,p]=eR([]),[v,w]=eR(null),[g,_]=eR(null);return eC(()=>{let n=ta({setStatus:s,setWindows:l,setCurrentWindowId:d,setInputType:m,setInbox:p});w(tu({engine:r,wasmBinary:t,storyfile:e,handlers:n}));let o=ti(n.onExit);return window.addEventListener("unhandledrejection",o),()=>{w(null),window.removeEventListener("unhandledrejection",o)}},[e,r,t]),eC(()=>(_(()=>v?v.send:null),()=>_(null)),[v]),"ready"!==i.stage?ew(te,{...i}):ew("section",{className:"PwGQsW_elseifplayer",children:[ew("section",{className:"PwGQsW_output",children:u.sort((e,r)=>e.top-r.top).filter(a?({id:e})=>e===c:()=>!0).map(e=>{let r={inbox:h,currentWindow:e};return({buffer:ew(r1,{...r}),grid:ew(r2,{...r})})[e.type]})}),ew(r8,{inputType:f,windows:u,currentWindowId:c,sendMessage:g,onFullscreenRequest:n,setMenuOpen:o})]})}let tc={stage:"loading",details:["Loading"]},td=({url:e,setStatus:r,setParts:t})=>{let n=(e,t)=>n=>(r({stage:e,details:[t]}),n),o=e=>fetch(e).then(e=>e.arrayBuffer());return Promise.resolve(e).then(n("loading","Downloading file")).then(e=>e.startsWith("blob:")?e.replace(/#(.*)$/g,""):e).then(fetch).then(e=>{if(e.ok)return e;throw Error(e.statusText)}).then(n("loading","Processing file")).then(e=>e.arrayBuffer()).then(e=>new Uint8Array(e)).then(n("loading","Downloading engine")).then(r=>{let t=rI(e);return[r,t.engine,t.wasmBinaryName]}).then(([e,r,t])=>Promise.all([e,r,o(t)])).then(([e,r,n])=>t({storyfile:e,engine:r,wasmBinary:n})).then(n("loading","Running")).catch(t=>{console.error(t),r({stage:"fail",details:[t.message,e]})})};function tf({url:e,singleWindow:r,onFullscreenRequest:t,setMenuOpen:n}){let[o,a]=eR(tc),[i,s]=eR(null);return eC(()=>(a(tc),s(null),td({url:e,setStatus:a,setParts:s}),()=>s(null)),[e]),i?ew(tl,{vmParts:i,onFullscreenRequest:t,setMenuOpen:n,singleWindow:r}):ew(te,{...o})}function tm({themeEngine:e,onFullscreenRequest:r,menuOpen:t,setMenuOpen:n}){let o=eN(null);return eC(()=>{let e=o.current.open;t&&!e&&o.current.showModal(),!t&&e&&o.current.close()},[t]),eC(()=>{let e=o.current,r=()=>{n(!1)};return e.addEventListener("close",r),()=>e.removeEventListener("close",r)},[o,n]),ew("dialog",{ref:o,className:"J9zJZG_menu",children:ew("section",{children:[ew("div",{children:ew("button",{tabIndex:0,onClick:()=>o.current.close(),children:"Close this menu"})}),ew("div",{className:"J9zJZG_appearance",children:[ew("button",{onClick:()=>{o.current.close(),r()},children:"Full screen"}),ew("button",{onClick:()=>e.setRandomTheme(),children:"Set a random theme"}),ew("label",{children:["Current theme:",ew(rw,{themeEngine:e})]})]}),ew("div",{className:"J9zJZG_navigation",children:ew(rt,{href:"/",tabIndex:0,children:"ElseIfPlayer"})})]})})}let th=e=>decodeURIComponent(e);function tp({theme:e,themeEngine:r,encodedUrl:t,singleWindow:n}){eC(()=>{r.setTheme(e)},[e,r]);let[o,a]=eR(th(t));eC(()=>{a(th(t))},[t]);let[i,s]=eR(!1),u=()=>{document.documentElement.requestFullscreen()};return ew("main",{children:[ew(tm,{themeEngine:r,onFullscreenRequest:u,menuOpen:i,setMenuOpen:s}),ew(tf,{url:o,onFullscreenRequest:u,setMenuOpen:s,singleWindow:n})]})}function tv(){return ew("main",{children:ew(te,{stage:"fail",details:["404","Page Not Found"]})})}var tw={};e(tw,"app",function(){return M},function(e){return M=e}),e(tw,"focus",function(){return A},function(e){return A=e}),e(tw,"games",function(){return P},function(e){return P=e}),e(tw,"home",function(){return x},function(e){return x=e}),e(tw,"play",function(){return R},function(e){return R=e}),e(tw,"themes",function(){return C},function(e){return C=e}),M="X8uEDW_app",A="X8uEDW_focus",P="X8uEDW_games",x="X8uEDW_home",R="X8uEDW_play",C="X8uEDW_themes",u=ew(function(){let e=rh(),[r]=ru(),t=(e,r)=>function(t){return ew(tp,{themeEngine:e,singleWindow:r,...t})};return ew(re,{hook:ru,children:ew("div",{className:[tw.app,tw[rs(r)],e.currentTheme].join(" "),children:ew(ro,{children:[ew(rr,{path:"/",children:ew(rg,{themeEngine:e})}),ew(rr,{path:"/games/",children:ew(rb,{})}),ew(rr,{path:"/themes/",children:ew(rS,{themeEngine:e})}),ew(rr,{path:"/play/:encodedUrl",children:t(e,!1)}),ew(rr,{path:"/play/:encodedUrl/:theme",children:t(e,!1)}),ew(rr,{path:"/focus/:encodedUrl",children:t(e,!0)}),ew(rr,{path:"/focus/:encodedUrl/:theme",children:t(e,!0)}),ew(rr,{children:ew(tv,{})})]})})})},{}),l=document.getElementById("root"),O.__&&O.__(u,l),f=(d="function"==typeof c)?null:c&&c.__k||l.__k,m=[],ed(l,u=(!d&&c||l).__k=Z(ee,null,[u]),f||G,G,void 0!==l.ownerSVGElement,!d&&c?[c]:f?null:l.firstChild?j.call(l.childNodes):null,m,!d&&c?c:f?f.__e:l.firstChild,d),ef(m,u)}(); +//# sourceMappingURL=index.7852e909.js.map diff --git a/docs/index.7852e909.js.map b/docs/index.7852e909.js.map new file mode 100644 index 0000000..d08d3e6 --- /dev/null +++ b/docs/index.7852e909.js.map @@ -0,0 +1 @@ +{"mappings":"C,A,W,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,IUI4CuoD,EAGrC/hD,EkCLD,EGAA,EGAA,EGAA,EGAA,EzCYiBH,EAAO0+C,EAAWoD,EAMpC1C,EAOAZ,EAQAD,EsBlCL,EACA,EACA,EACA,EACA,E4BLA,EACA,EACA,EACA,EACA,ECJA,EAEA,EOCA,EMHA,EACA,EACA,EACA,EACA,EACA,E,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,Q,S,C,C,C,E,E,E,O,C,e,W,O,C,E,S,C,E,O,E,C,E9ELA,CAAA,aAEA,IAkCA,EAlCI,EAAY,CAAC,EAkCjB,EAjCA,SAA4B,CAAE,EAC5B,IAAI,EAAQ,CAAS,CAAC,EAAG,CAKzB,OAJK,IACH,EAAQ,AAKZ,WACE,GAAI,CACF,MAAM,AAAI,OACZ,CAAE,MAAO,EAAK,CACZ,IAAI,EAAU,AAAC,CAAA,GAAK,EAAI,KAAI,AAAJ,EAAO,KAAA,CAAM,oEACrC,GAAI,EAGF,MAMI,AAAA,CAAA,GANc,CAAO,CAAC,EAAE,AAMnB,EAAK,OAAA,CAAQ,0EAA2E,MAAQ,GAJ7G,CACA,MAAO,GACT,IAhBI,CAAS,CAAC,EAAG,CAAG,GAEX,CACT,C,GKkBar7C,IAAAA,ECjBPmQ,ECRF0pC,EA6FSI,EC4ETC,EAWAC,EAEEC,EA0BAC,ECjNK9iD,ECFE+iD,EAAY,CAAlB,EACMC,EAAY,EAAA,CACZC,EACZ,oELDYl/C,EAAUD,MAAMC,OA0BhB0E,CAjBN,SAAS0W,EAAOY,CAAAA,CAAKpb,CAAAA,EAE3B,IAAK,IAAI3E,KAAK2E,EAAOob,CAAAA,CAAI/f,EAAAA,CAAK2E,CAAAA,CAAM3E,EAAAA,CACpC,OAA6B+f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DACA,yDACD,CAMD,CACE,UACA,gDACA,qEACD,CACD,CAEE,WACA,gDACA,kEACD,CACD,CACE,iBACA,gDACA,gEACD,CAqBD,CACE,2BACA,gDACA,uFACD,CACD,CACE,UACA,gDACA,gEACD,CAMD,CACE,SACA,gDACA,oEACD,CACD,CACE,qBACA,+CACA,0GACD,CAgBD,CACE,QACA,gDACA,+DACD,CACD,CACE,UACA,gDACA,iEACD,CA0BD,CACE,eACA,gDACA,0EACD,CAMD,CACE,QACA,gDACA,+DACD,CAMD,CACE,WACA,gDACA,gEACD,CAqBD,CACE,4BACA,gDACA,4HACD,CAMD,CACE,aACA,gDACA,mGACD,CAMD,CACE,aACA,+CACA,wEACD,CACD,CACE,UACA,gDACA,qEACD,CAWD,CACE,WACA,gDACA,wDACD,CAMD,CACE,+BACA,gDACA,8DACD,CACD,CACE,YACA,gDACA,gEACD,CACD,CACE,qBACA,gDACA,gHACD,CAWD,CACE,eACA,gDACA,oEACD,CACD,CACE,cACA,gDACA,iEACD,CACD,CACE,oBACA,+CACA,2DACD,CACD,CACE,iBACA,gDACA,yGACD,CAMD,CACE,UACA,gDACA,wEACD,CACD,CACE,aACA,gDACA,gEACD,CAgBD,CACE,sBACA,gDACA,6FACD,CAMD,CACE,eACA,gDACA,oEACD,CACD,CACE,WACA,gDACA,sEACD,CACD,CACE,YACA,gDACA,kEACD,CAWD,CACE,YACA,gDACA,+DACD,CACF,CAAC,GAAA,CAAI,CAAC,CAAC,EAAM,EAAM,EAAI,GAAM,CAAA,CAAE,KAAA,EAAM,KAAA,EAAM,IAAA,CAAI,CAAA,GF/UhD,IAAM,GAAe,CACnB,KAAM,gBACN,KAAM,gDACN,IAAK,kEACP,EAEe,SAAA,KACb,OACE,AAAA,GAAC,OADH,CACQ,UGjBgB,e,S,CHkBpB,AAAA,GAAC,KAAD,C,S,CACE,AAAA,GAAC,IAAD,CACE,OAAO,SACP,IAAI,sBACJ,KAAK,oBACL,MAAM,mCAAmC,SAAA,M,GAEvC,S,A,GAGN,AAAA,GAAC,IAAD,C,S,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","sources":["","node_modules/@parcel/runtime-js/lib/helpers/bundle-url.js","src/index.js","node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js","node_modules/preact/jsx-runtime/src/index.js","node_modules/preact/dist/preact.module.js","node_modules/preact/src/util.js","node_modules/preact/src/options.js","node_modules/preact/src/create-element.js","node_modules/preact/src/component.js","node_modules/preact/src/create-context.js","node_modules/preact/src/constants.js","node_modules/preact/src/diff/children.js","node_modules/preact/src/diff/props.js","node_modules/preact/src/diff/index.js","node_modules/preact/src/render.js","node_modules/preact/src/clone-element.js","node_modules/preact/src/diff/catch-error.js","src/App.jsx","node_modules/wouter-preact/index.js","node_modules/wouter-preact/use-location.js","node_modules/wouter-preact/react-deps.js","node_modules/preact/hooks/dist/hooks.module.js","node_modules/preact/hooks/src/index.js","node_modules/wouter-preact/matcher.js","src/routing.js","src/themes/themes.js","src/themes/themeList.js","src/views/HomeView/HomeView.jsx","src/components/FileSelector/LocalFileSelector.jsx","src/components/FileSelector/TargetURLSelector.jsx","src/components/ThemeSelector/ThemeSelector.jsx","src/views/GamesView/GamesView.jsx","src/components/GameEntry/GameEntry.jsx","src/views/GamesView/top2019.js","src/views/GamesView/GamesView.module.scss","src/views/ThemesView/ThemesView.jsx","src/views/ThemesView/ThemesView.module.scss","src/views/PlayerView/PlayerView.jsx","src/components/Player/UrlPlayer.jsx","src/components/Player/common/engines.js","node_modules/emglken/src/bocfel.js","node_modules/emglken/src/vm.js","node_modules/emglken/src/emglkenfs.js","node_modules/emglken/build/bocfel-core.js","node_modules/@parcel/runtime-js/lib/runtime-d3df2521c7727359.js","node_modules/emglken/src/git.js","node_modules/emglken/build/git-core.js","node_modules/@parcel/runtime-js/lib/runtime-d225d79aaa7b44b1.js","node_modules/emglken/src/hugo.js","node_modules/emglken/build/hugo-core.js","node_modules/@parcel/runtime-js/lib/runtime-20e43a55da5cc90b.js","node_modules/emglken/src/tads.js","node_modules/emglken/build/tads-core.js","node_modules/@parcel/runtime-js/lib/runtime-27a61f7cd13853ca.js","node_modules/emglken/src/scare.js","node_modules/emglken/build/scare-core.js","node_modules/@parcel/runtime-js/lib/runtime-74f09c50e3ceff34.js","src/components/Player/Player.jsx","node_modules/cheap-glkote/src/index.js","node_modules/cheap-glkote/src/fakeDialog.js","node_modules/cheap-glkote/src/cheapGlkOte.js","node_modules/cheap-glkote/src/glkOte/glkote-term.js","src/components/Player/OutputBox/TextBuffer/TextBuffer.jsx","src/components/Player/OutputBox/TextMessage/TextMessage.jsx","src/components/Player/OutputBox/TextMessage/TextMessage.module.scss","src/components/Player/Player.module.scss","src/components/Player/OutputBox/GridBuffer/GridBuffer.jsx","src/components/Player/InputBox/InputBox.jsx","src/components/Player/InputBox/MenuButton/MenuButton.jsx","src/components/Player/InputBox/MenuButton/MenuButton.module.scss","src/components/Player/InputBox/InputBox.module.scss","src/components/Player/Status/Status.jsx","src/components/Player/Status/Status.module.scss","src/components/Player/common/playerHandlers.js","node_modules/base32768/src/index.js","src/components/Player/MenuOverlay/MenuOverlay.jsx","src/components/Player/MenuOverlay/MenuOverlay.module.scss","src/views/NotFoundView/NotFoundView.jsx","src/style/App.module.scss"],"sourcesContent":["(function () {\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $parcel$global =\ntypeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequire847f\"];\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequire847f\"] = parcelRequire;\n}\nparcelRequire.register(\"6kBsm\", function(module, exports) {\n\n$parcel$export(module.exports, \"getBundleURL\", function () { return $49c1aa6c5541520f$export$bdfd709ae4826697; }, function (v) { return $49c1aa6c5541520f$export$bdfd709ae4826697 = v; });\nvar $49c1aa6c5541520f$export$bdfd709ae4826697;\nvar $49c1aa6c5541520f$export$c9e73fbda7da57b6;\nvar $49c1aa6c5541520f$export$5a759dc7a1cfb72a;\n\"use strict\";\nvar $49c1aa6c5541520f$var$bundleURL = {};\nfunction $49c1aa6c5541520f$var$getBundleURLCached(id) {\n var value = $49c1aa6c5541520f$var$bundleURL[id];\n if (!value) {\n value = $49c1aa6c5541520f$var$getBundleURL();\n $49c1aa6c5541520f$var$bundleURL[id] = value;\n }\n return value;\n}\nfunction $49c1aa6c5541520f$var$getBundleURL() {\n try {\n throw new Error();\n } catch (err) {\n var matches = (\"\" + err.stack).match(/(https?|file|ftp|(chrome|moz|safari-web)-extension):\\/\\/[^)\\n]+/g);\n if (matches) // The first two stack frames will be this function and getBundleURLCached.\n // Use the 3rd one, which will be a runtime in the original bundle.\n return $49c1aa6c5541520f$var$getBaseURL(matches[2]);\n }\n return \"/\";\n}\nfunction $49c1aa6c5541520f$var$getBaseURL(url) {\n return (\"\" + url).replace(/^((?:https?|file|ftp|(chrome|moz|safari-web)-extension):\\/\\/.+)\\/[^/]+$/, \"$1\") + \"/\";\n}\n// TODO: Replace uses with `new URL(url).origin` when ie11 is no longer supported.\nfunction $49c1aa6c5541520f$var$getOrigin(url) {\n var matches = (\"\" + url).match(/(https?|file|ftp|(chrome|moz|safari-web)-extension):\\/\\/[^/]+/);\n if (!matches) throw new Error(\"Origin not found\");\n return matches[0];\n}\n$49c1aa6c5541520f$export$bdfd709ae4826697 = $49c1aa6c5541520f$var$getBundleURLCached;\n$49c1aa6c5541520f$export$c9e73fbda7da57b6 = $49c1aa6c5541520f$var$getBaseURL;\n$49c1aa6c5541520f$export$5a759dc7a1cfb72a = $49c1aa6c5541520f$var$getOrigin;\n\n});\n\nvar $551174e99d8c5924$var$n, $551174e99d8c5924$export$41c562ebe57d11e2, $551174e99d8c5924$var$u, $551174e99d8c5924$export$a8257692ac88316c, $551174e99d8c5924$var$t, $551174e99d8c5924$var$o, $551174e99d8c5924$var$r, $551174e99d8c5924$var$f, $551174e99d8c5924$var$e, $551174e99d8c5924$var$c = {}, $551174e99d8c5924$var$s = [], $551174e99d8c5924$var$a = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, $551174e99d8c5924$var$v = Array.isArray;\nfunction $551174e99d8c5924$var$h(n, l) {\n for(var u in l)n[u] = l[u];\n return n;\n}\nfunction $551174e99d8c5924$var$p(n) {\n var l = n.parentNode;\n l && l.removeChild(n);\n}\nfunction $551174e99d8c5924$export$c8a8987d4410bf2d(l, u, i) {\n var t, o, r, f = {};\n for(r in u)\"key\" == r ? t = u[r] : \"ref\" == r ? o = u[r] : f[r] = u[r];\n if (arguments.length > 2 && (f.children = arguments.length > 3 ? $551174e99d8c5924$var$n.call(arguments, 2) : i), \"function\" == typeof l && null != l.defaultProps) for(r in l.defaultProps)void 0 === f[r] && (f[r] = l.defaultProps[r]);\n return $551174e99d8c5924$var$d(l, f, t, o, null);\n}\nfunction $551174e99d8c5924$var$d(n, i, t, o, r) {\n var f = {\n type: n,\n props: i,\n key: t,\n ref: o,\n __k: null,\n __: null,\n __b: 0,\n __e: null,\n __d: void 0,\n __c: null,\n __h: null,\n constructor: void 0,\n __v: null == r ? ++$551174e99d8c5924$var$u : r\n };\n return null == r && null != $551174e99d8c5924$export$41c562ebe57d11e2.vnode && $551174e99d8c5924$export$41c562ebe57d11e2.vnode(f), f;\n}\nfunction $551174e99d8c5924$export$7d1e3a5e95ceca43() {\n return {\n current: null\n };\n}\nfunction $551174e99d8c5924$export$ffb0004e005737fa(n) {\n return n.children;\n}\nfunction $551174e99d8c5924$export$16fa2f45be04daa8(n, l) {\n this.props = n, this.context = l;\n}\nfunction $551174e99d8c5924$var$g(n, l) {\n if (null == l) return n.__ ? $551174e99d8c5924$var$g(n.__, n.__.__k.indexOf(n) + 1) : null;\n for(var u; l < n.__k.length; l++)if (null != (u = n.__k[l]) && null != u.__e) return u.__e;\n return \"function\" == typeof n.type ? $551174e99d8c5924$var$g(n) : null;\n}\nfunction $551174e99d8c5924$var$m(n) {\n var l, u;\n if (null != (n = n.__) && null != n.__c) {\n for(n.__e = n.__c.base = null, l = 0; l < n.__k.length; l++)if (null != (u = n.__k[l]) && null != u.__e) {\n n.__e = n.__c.base = u.__e;\n break;\n }\n return $551174e99d8c5924$var$m(n);\n }\n}\nfunction $551174e99d8c5924$var$w(n) {\n (!n.__d && (n.__d = !0) && $551174e99d8c5924$var$t.push(n) && !$551174e99d8c5924$var$x.__r++ || $551174e99d8c5924$var$o !== $551174e99d8c5924$export$41c562ebe57d11e2.debounceRendering) && (($551174e99d8c5924$var$o = $551174e99d8c5924$export$41c562ebe57d11e2.debounceRendering) || $551174e99d8c5924$var$r)($551174e99d8c5924$var$x);\n}\nfunction $551174e99d8c5924$var$x() {\n var n, l, u, i, o, r, e, c;\n for($551174e99d8c5924$var$t.sort($551174e99d8c5924$var$f); n = $551174e99d8c5924$var$t.shift();)n.__d && (l = $551174e99d8c5924$var$t.length, i = void 0, o = void 0, e = (r = (u = n).__v).__e, (c = u.__P) && (i = [], (o = $551174e99d8c5924$var$h({}, r)).__v = r.__v + 1, $551174e99d8c5924$var$L(c, r, o, u.__n, void 0 !== c.ownerSVGElement, null != r.__h ? [\n e\n ] : null, i, null == e ? $551174e99d8c5924$var$g(r) : e, r.__h), $551174e99d8c5924$var$M(i, r), r.__e != e && $551174e99d8c5924$var$m(r)), $551174e99d8c5924$var$t.length > l && $551174e99d8c5924$var$t.sort($551174e99d8c5924$var$f));\n $551174e99d8c5924$var$x.__r = 0;\n}\nfunction $551174e99d8c5924$var$P(n, l, u, i, t, o, r, f, e, a) {\n var h, p, y, _, b, m, w, x = i && i.__k || $551174e99d8c5924$var$s, P = x.length;\n for(u.__k = [], h = 0; h < l.length; h++)if (null != (_ = u.__k[h] = null == (_ = l[h]) || \"boolean\" == typeof _ || \"function\" == typeof _ ? null : \"string\" == typeof _ || \"number\" == typeof _ || \"bigint\" == typeof _ ? $551174e99d8c5924$var$d(null, _, null, null, _) : $551174e99d8c5924$var$v(_) ? $551174e99d8c5924$var$d($551174e99d8c5924$export$ffb0004e005737fa, {\n children: _\n }, null, null, null) : _.__b > 0 ? $551174e99d8c5924$var$d(_.type, _.props, _.key, _.ref ? _.ref : null, _.__v) : _)) {\n if (_.__ = u, _.__b = u.__b + 1, null === (y = x[h]) || y && _.key == y.key && _.type === y.type) x[h] = void 0;\n else for(p = 0; p < P; p++){\n if ((y = x[p]) && _.key == y.key && _.type === y.type) {\n x[p] = void 0;\n break;\n }\n y = null;\n }\n $551174e99d8c5924$var$L(n, _, y = y || $551174e99d8c5924$var$c, t, o, r, f, e, a), b = _.__e, (p = _.ref) && y.ref != p && (w || (w = []), y.ref && w.push(y.ref, null, _), w.push(p, _.__c || b, _)), null != b ? (null == m && (m = b), \"function\" == typeof _.type && _.__k === y.__k ? _.__d = e = $551174e99d8c5924$var$C(_, e, n) : e = $551174e99d8c5924$var$$(n, _, y, x, b, e), \"function\" == typeof u.type && (u.__d = e)) : e && y.__e == e && e.parentNode != n && (e = $551174e99d8c5924$var$g(y));\n }\n for(u.__e = m, h = P; h--;)null != x[h] && (\"function\" == typeof u.type && null != x[h].__e && x[h].__e == u.__d && (u.__d = $551174e99d8c5924$var$A(i).nextSibling), $551174e99d8c5924$var$q(x[h], x[h]));\n if (w) for(h = 0; h < w.length; h++)$551174e99d8c5924$var$O(w[h], w[++h], w[++h]);\n}\nfunction $551174e99d8c5924$var$C(n, l, u) {\n for(var i, t = n.__k, o = 0; t && o < t.length; o++)(i = t[o]) && (i.__ = n, l = \"function\" == typeof i.type ? $551174e99d8c5924$var$C(i, l, u) : $551174e99d8c5924$var$$(u, i, i, t, i.__e, l));\n return l;\n}\nfunction $551174e99d8c5924$export$47e4c5b300681277(n, l) {\n return l = l || [], null == n || \"boolean\" == typeof n || ($551174e99d8c5924$var$v(n) ? n.some(function(n) {\n $551174e99d8c5924$export$47e4c5b300681277(n, l);\n }) : l.push(n)), l;\n}\nfunction $551174e99d8c5924$var$$(n, l, u, i, t, o) {\n var r, f, e;\n if (void 0 !== l.__d) r = l.__d, l.__d = void 0;\n else if (null == u || t != o || null == t.parentNode) n: if (null == o || o.parentNode !== n) n.appendChild(t), r = null;\n else {\n for(f = o, e = 0; (f = f.nextSibling) && e < i.length; e += 1)if (f == t) break n;\n n.insertBefore(t, o), r = o;\n }\n return void 0 !== r ? r : t.nextSibling;\n}\nfunction $551174e99d8c5924$var$A(n) {\n var l, u, i;\n if (null == n.type || \"string\" == typeof n.type) return n.__e;\n if (n.__k) {\n for(l = n.__k.length - 1; l >= 0; l--)if ((u = n.__k[l]) && (i = $551174e99d8c5924$var$A(u))) return i;\n }\n return null;\n}\nfunction $551174e99d8c5924$var$H(n, l, u, i, t) {\n var o;\n for(o in u)\"children\" === o || \"key\" === o || o in l || $551174e99d8c5924$var$T(n, o, null, u[o], i);\n for(o in l)t && \"function\" != typeof l[o] || \"children\" === o || \"key\" === o || \"value\" === o || \"checked\" === o || u[o] === l[o] || $551174e99d8c5924$var$T(n, o, l[o], u[o], i);\n}\nfunction $551174e99d8c5924$var$I(n, l, u) {\n \"-\" === l[0] ? n.setProperty(l, null == u ? \"\" : u) : n[l] = null == u ? \"\" : \"number\" != typeof u || $551174e99d8c5924$var$a.test(l) ? u : u + \"px\";\n}\nfunction $551174e99d8c5924$var$T(n, l, u, i, t) {\n var o;\n n: if (\"style\" === l) {\n if (\"string\" == typeof u) n.style.cssText = u;\n else {\n if (\"string\" == typeof i && (n.style.cssText = i = \"\"), i) for(l in i)u && l in u || $551174e99d8c5924$var$I(n.style, l, \"\");\n if (u) for(l in u)i && u[l] === i[l] || $551174e99d8c5924$var$I(n.style, l, u[l]);\n }\n } else if (\"o\" === l[0] && \"n\" === l[1]) o = l !== (l = l.replace(/Capture$/, \"\")), l = l.toLowerCase() in n ? l.toLowerCase().slice(2) : l.slice(2), n.l || (n.l = {}), n.l[l + o] = u, u ? i || n.addEventListener(l, o ? $551174e99d8c5924$var$z : $551174e99d8c5924$var$j, o) : n.removeEventListener(l, o ? $551174e99d8c5924$var$z : $551174e99d8c5924$var$j, o);\n else if (\"dangerouslySetInnerHTML\" !== l) {\n if (t) l = l.replace(/xlink(H|:h)/, \"h\").replace(/sName$/, \"s\");\n else if (\"width\" !== l && \"height\" !== l && \"href\" !== l && \"list\" !== l && \"form\" !== l && \"tabIndex\" !== l && \"download\" !== l && \"rowSpan\" !== l && \"colSpan\" !== l && l in n) try {\n n[l] = null == u ? \"\" : u;\n break n;\n } catch (n) {}\n \"function\" == typeof u || (null == u || !1 === u && \"-\" !== l[4] ? n.removeAttribute(l) : n.setAttribute(l, u));\n }\n}\nfunction $551174e99d8c5924$var$j(n) {\n return this.l[n.type + !1]($551174e99d8c5924$export$41c562ebe57d11e2.event ? $551174e99d8c5924$export$41c562ebe57d11e2.event(n) : n);\n}\nfunction $551174e99d8c5924$var$z(n) {\n return this.l[n.type + !0]($551174e99d8c5924$export$41c562ebe57d11e2.event ? $551174e99d8c5924$export$41c562ebe57d11e2.event(n) : n);\n}\nfunction $551174e99d8c5924$var$L(n, u, i, t, o, r, f, e, c) {\n var s, a, p, y, d, _, g, m, w, x, C, S, $, A, H, I = u.type;\n if (void 0 !== u.constructor) return null;\n null != i.__h && (c = i.__h, e = u.__e = i.__e, u.__h = null, r = [\n e\n ]), (s = $551174e99d8c5924$export$41c562ebe57d11e2.__b) && s(u);\n try {\n n: if (\"function\" == typeof I) {\n if (m = u.props, w = (s = I.contextType) && t[s.__c], x = s ? w ? w.props.value : s.__ : t, i.__c ? g = (a = u.__c = i.__c).__ = a.__E : (\"prototype\" in I && I.prototype.render ? u.__c = a = new I(m, x) : (u.__c = a = new $551174e99d8c5924$export$16fa2f45be04daa8(m, x), a.constructor = I, a.render = $551174e99d8c5924$var$B), w && w.sub(a), a.props = m, a.state || (a.state = {}), a.context = x, a.__n = t, p = a.__d = !0, a.__h = [], a._sb = []), null == a.__s && (a.__s = a.state), null != I.getDerivedStateFromProps && (a.__s == a.state && (a.__s = $551174e99d8c5924$var$h({}, a.__s)), $551174e99d8c5924$var$h(a.__s, I.getDerivedStateFromProps(m, a.__s))), y = a.props, d = a.state, a.__v = u, p) null == I.getDerivedStateFromProps && null != a.componentWillMount && a.componentWillMount(), null != a.componentDidMount && a.__h.push(a.componentDidMount);\n else {\n if (null == I.getDerivedStateFromProps && m !== y && null != a.componentWillReceiveProps && a.componentWillReceiveProps(m, x), !a.__e && null != a.shouldComponentUpdate && !1 === a.shouldComponentUpdate(m, a.__s, x) || u.__v === i.__v) {\n for(u.__v !== i.__v && (a.props = m, a.state = a.__s, a.__d = !1), a.__e = !1, u.__e = i.__e, u.__k = i.__k, u.__k.forEach(function(n) {\n n && (n.__ = u);\n }), C = 0; C < a._sb.length; C++)a.__h.push(a._sb[C]);\n a._sb = [], a.__h.length && f.push(a);\n break n;\n }\n null != a.componentWillUpdate && a.componentWillUpdate(m, a.__s, x), null != a.componentDidUpdate && a.__h.push(function() {\n a.componentDidUpdate(y, d, _);\n });\n }\n if (a.context = x, a.props = m, a.__P = n, S = $551174e99d8c5924$export$41c562ebe57d11e2.__r, $ = 0, \"prototype\" in I && I.prototype.render) {\n for(a.state = a.__s, a.__d = !1, S && S(u), s = a.render(a.props, a.state, a.context), A = 0; A < a._sb.length; A++)a.__h.push(a._sb[A]);\n a._sb = [];\n } else do a.__d = !1, S && S(u), s = a.render(a.props, a.state, a.context), a.state = a.__s;\n while (a.__d && ++$ < 25);\n a.state = a.__s, null != a.getChildContext && (t = $551174e99d8c5924$var$h($551174e99d8c5924$var$h({}, t), a.getChildContext())), p || null == a.getSnapshotBeforeUpdate || (_ = a.getSnapshotBeforeUpdate(y, d)), $551174e99d8c5924$var$P(n, $551174e99d8c5924$var$v(H = null != s && s.type === $551174e99d8c5924$export$ffb0004e005737fa && null == s.key ? s.props.children : s) ? H : [\n H\n ], u, i, t, o, r, f, e, c), a.base = u.__e, u.__h = null, a.__h.length && f.push(a), g && (a.__E = a.__ = null), a.__e = !1;\n } else null == r && u.__v === i.__v ? (u.__k = i.__k, u.__e = i.__e) : u.__e = $551174e99d8c5924$var$N(i.__e, u, i, t, o, r, f, c);\n (s = $551174e99d8c5924$export$41c562ebe57d11e2.diffed) && s(u);\n } catch (n) {\n u.__v = null, (c || null != r) && (u.__e = e, u.__h = !!c, r[r.indexOf(e)] = null), $551174e99d8c5924$export$41c562ebe57d11e2.__e(n, u, i);\n }\n}\nfunction $551174e99d8c5924$var$M(n, u) {\n $551174e99d8c5924$export$41c562ebe57d11e2.__c && $551174e99d8c5924$export$41c562ebe57d11e2.__c(u, n), n.some(function(u) {\n try {\n n = u.__h, u.__h = [], n.some(function(n) {\n n.call(u);\n });\n } catch (n) {\n $551174e99d8c5924$export$41c562ebe57d11e2.__e(n, u.__v);\n }\n });\n}\nfunction $551174e99d8c5924$var$N(l, u, i, t, o, r, f, e) {\n var s, a, h, y = i.props, d = u.props, _ = u.type, k = 0;\n if (\"svg\" === _ && (o = !0), null != r) {\n for(; k < r.length; k++)if ((s = r[k]) && \"setAttribute\" in s == !!_ && (_ ? s.localName === _ : 3 === s.nodeType)) {\n l = s, r[k] = null;\n break;\n }\n }\n if (null == l) {\n if (null === _) return document.createTextNode(d);\n l = o ? document.createElementNS(\"http://www.w3.org/2000/svg\", _) : document.createElement(_, d.is && d), r = null, e = !1;\n }\n if (null === _) y === d || e && l.data === d || (l.data = d);\n else {\n if (r = r && $551174e99d8c5924$var$n.call(l.childNodes), a = (y = i.props || $551174e99d8c5924$var$c).dangerouslySetInnerHTML, h = d.dangerouslySetInnerHTML, !e) {\n if (null != r) for(y = {}, k = 0; k < l.attributes.length; k++)y[l.attributes[k].name] = l.attributes[k].value;\n (h || a) && (h && (a && h.__html == a.__html || h.__html === l.innerHTML) || (l.innerHTML = h && h.__html || \"\"));\n }\n if ($551174e99d8c5924$var$H(l, d, y, o, e), h) u.__k = [];\n else if ($551174e99d8c5924$var$P(l, $551174e99d8c5924$var$v(k = u.props.children) ? k : [\n k\n ], u, i, t, o && \"foreignObject\" !== _, r, f, r ? r[0] : i.__k && $551174e99d8c5924$var$g(i, 0), e), null != r) for(k = r.length; k--;)null != r[k] && $551174e99d8c5924$var$p(r[k]);\n e || (\"value\" in d && void 0 !== (k = d.value) && (k !== l.value || \"progress\" === _ && !k || \"option\" === _ && k !== y.value) && $551174e99d8c5924$var$T(l, \"value\", k, y.value, !1), \"checked\" in d && void 0 !== (k = d.checked) && k !== l.checked && $551174e99d8c5924$var$T(l, \"checked\", k, y.checked, !1));\n }\n return l;\n}\nfunction $551174e99d8c5924$var$O(n, u, i) {\n try {\n \"function\" == typeof n ? n(u) : n.current = u;\n } catch (n) {\n $551174e99d8c5924$export$41c562ebe57d11e2.__e(n, i);\n }\n}\nfunction $551174e99d8c5924$var$q(n, u, i) {\n var t, o;\n if ($551174e99d8c5924$export$41c562ebe57d11e2.unmount && $551174e99d8c5924$export$41c562ebe57d11e2.unmount(n), (t = n.ref) && (t.current && t.current !== n.__e || $551174e99d8c5924$var$O(t, null, u)), null != (t = n.__c)) {\n if (t.componentWillUnmount) try {\n t.componentWillUnmount();\n } catch (n) {\n $551174e99d8c5924$export$41c562ebe57d11e2.__e(n, u);\n }\n t.base = t.__P = null, n.__c = void 0;\n }\n if (t = n.__k) for(o = 0; o < t.length; o++)t[o] && $551174e99d8c5924$var$q(t[o], u, i || \"function\" != typeof n.type);\n i || null == n.__e || $551174e99d8c5924$var$p(n.__e), n.__ = n.__e = n.__d = void 0;\n}\nfunction $551174e99d8c5924$var$B(n, l, u) {\n return this.constructor(n, u);\n}\nfunction $551174e99d8c5924$export$b3890eb0ae9dca99(u, i, t) {\n var o, r, f;\n $551174e99d8c5924$export$41c562ebe57d11e2.__ && $551174e99d8c5924$export$41c562ebe57d11e2.__(u, i), r = (o = \"function\" == typeof t) ? null : t && t.__k || i.__k, f = [], $551174e99d8c5924$var$L(i, u = (!o && t || i).__k = $551174e99d8c5924$export$c8a8987d4410bf2d($551174e99d8c5924$export$ffb0004e005737fa, null, [\n u\n ]), r || $551174e99d8c5924$var$c, $551174e99d8c5924$var$c, void 0 !== i.ownerSVGElement, !o && t ? [\n t\n ] : r ? null : i.firstChild ? $551174e99d8c5924$var$n.call(i.childNodes) : null, f, !o && t ? t : r ? r.__e : i.firstChild, o), $551174e99d8c5924$var$M(f, u);\n}\nfunction $551174e99d8c5924$export$fa8d919ba61d84db(n, l) {\n $551174e99d8c5924$export$b3890eb0ae9dca99(n, l, $551174e99d8c5924$export$fa8d919ba61d84db);\n}\nfunction $551174e99d8c5924$export$e530037191fcd5d7(l, u, i) {\n var t, o, r, f, e = $551174e99d8c5924$var$h({}, l.props);\n for(r in l.type && l.type.defaultProps && (f = l.type.defaultProps), u)\"key\" == r ? t = u[r] : \"ref\" == r ? o = u[r] : e[r] = void 0 === u[r] && void 0 !== f ? f[r] : u[r];\n return arguments.length > 2 && (e.children = arguments.length > 3 ? $551174e99d8c5924$var$n.call(arguments, 2) : i), $551174e99d8c5924$var$d(l.type, e, t || l.key, o || l.ref, null);\n}\nfunction $551174e99d8c5924$export$fd42f52fd3ae1109(n, l) {\n var u = {\n __c: l = \"__cC\" + $551174e99d8c5924$var$e++,\n __: n,\n Consumer: function(n, l) {\n return n.children(l);\n },\n Provider: function(n) {\n var u, i;\n return this.getChildContext || (u = [], (i = {})[l] = this, this.getChildContext = function() {\n return i;\n }, this.shouldComponentUpdate = function(n) {\n this.props.value !== n.value && u.some(function(n) {\n n.__e = !0, $551174e99d8c5924$var$w(n);\n });\n }, this.sub = function(n) {\n u.push(n);\n var l = n.componentWillUnmount;\n n.componentWillUnmount = function() {\n u.splice(u.indexOf(n), 1), l && l.call(n);\n };\n }), n.children;\n }\n };\n return u.Provider.__ = u.Consumer.contextType = u;\n}\n$551174e99d8c5924$var$n = $551174e99d8c5924$var$s.slice, $551174e99d8c5924$export$41c562ebe57d11e2 = {\n __e: function(n, l, u, i) {\n for(var t, o, r; l = l.__;)if ((t = l.__c) && !t.__) try {\n if ((o = t.constructor) && null != o.getDerivedStateFromError && (t.setState(o.getDerivedStateFromError(n)), r = t.__d), null != t.componentDidCatch && (t.componentDidCatch(n, i || {}), r = t.__d), r) return t.__E = t;\n } catch (l) {\n n = l;\n }\n throw n;\n }\n}, $551174e99d8c5924$var$u = 0, $551174e99d8c5924$export$a8257692ac88316c = function(n) {\n return null != n && void 0 === n.constructor;\n}, $551174e99d8c5924$export$16fa2f45be04daa8.prototype.setState = function(n, l) {\n var u;\n u = null != this.__s && this.__s !== this.state ? this.__s : this.__s = $551174e99d8c5924$var$h({}, this.state), \"function\" == typeof n && (n = n($551174e99d8c5924$var$h({}, u), this.props)), n && $551174e99d8c5924$var$h(u, n), null != n && this.__v && (l && this._sb.push(l), $551174e99d8c5924$var$w(this));\n}, $551174e99d8c5924$export$16fa2f45be04daa8.prototype.forceUpdate = function(n) {\n this.__v && (this.__e = !0, n && this.__h.push(n), $551174e99d8c5924$var$w(this));\n}, $551174e99d8c5924$export$16fa2f45be04daa8.prototype.render = $551174e99d8c5924$export$ffb0004e005737fa, $551174e99d8c5924$var$t = [], $551174e99d8c5924$var$r = \"function\" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, $551174e99d8c5924$var$f = function(n, l) {\n return n.__v.__b - l.__v.__b;\n}, $551174e99d8c5924$var$x.__r = 0, $551174e99d8c5924$var$e = 0;\n\n\nvar $8161a3c5d316e860$var$_ = 0;\nfunction $8161a3c5d316e860$export$34b9dba7ce09269b(o, e, n, t, f, l) {\n var s, u, a = {};\n for(u in e)\"ref\" == u ? s = e[u] : a[u] = e[u];\n var i = {\n type: o,\n props: a,\n key: n,\n ref: s,\n __k: null,\n __: null,\n __b: 0,\n __e: null,\n __d: void 0,\n __c: null,\n __h: null,\n constructor: void 0,\n __v: --$8161a3c5d316e860$var$_,\n __source: f,\n __self: l\n };\n if (\"function\" == typeof o && (s = o.defaultProps)) for(u in s)void 0 === a[u] && (a[u] = s[u]);\n return (0, $551174e99d8c5924$export$41c562ebe57d11e2).vnode && (0, $551174e99d8c5924$export$41c562ebe57d11e2).vnode(i), i;\n}\n\n\n\n\n\n\n\n\nvar $5c5fa90583e4b8e8$var$t, $5c5fa90583e4b8e8$var$r, $5c5fa90583e4b8e8$var$u, $5c5fa90583e4b8e8$var$i, $5c5fa90583e4b8e8$var$o = 0, $5c5fa90583e4b8e8$var$f = [], $5c5fa90583e4b8e8$var$c = [], $5c5fa90583e4b8e8$var$e = (0, $551174e99d8c5924$export$41c562ebe57d11e2).__b, $5c5fa90583e4b8e8$var$a = (0, $551174e99d8c5924$export$41c562ebe57d11e2).__r, $5c5fa90583e4b8e8$var$v = (0, $551174e99d8c5924$export$41c562ebe57d11e2).diffed, $5c5fa90583e4b8e8$var$l = (0, $551174e99d8c5924$export$41c562ebe57d11e2).__c, $5c5fa90583e4b8e8$var$m = (0, $551174e99d8c5924$export$41c562ebe57d11e2).unmount;\nfunction $5c5fa90583e4b8e8$var$d(t, u) {\n (0, $551174e99d8c5924$export$41c562ebe57d11e2).__h && (0, $551174e99d8c5924$export$41c562ebe57d11e2).__h($5c5fa90583e4b8e8$var$r, t, $5c5fa90583e4b8e8$var$o || u), $5c5fa90583e4b8e8$var$o = 0;\n var i = $5c5fa90583e4b8e8$var$r.__H || ($5c5fa90583e4b8e8$var$r.__H = {\n __: [],\n __h: []\n });\n return t >= i.__.length && i.__.push({\n __V: $5c5fa90583e4b8e8$var$c\n }), i.__[t];\n}\nfunction $5c5fa90583e4b8e8$export$60241385465d0a34(n) {\n return $5c5fa90583e4b8e8$var$o = 1, $5c5fa90583e4b8e8$export$13e3392192263954($5c5fa90583e4b8e8$var$B, n);\n}\nfunction $5c5fa90583e4b8e8$export$13e3392192263954(n, u, i) {\n var o = $5c5fa90583e4b8e8$var$d($5c5fa90583e4b8e8$var$t++, 2);\n if (o.t = n, !o.__c && (o.__ = [\n i ? i(u) : $5c5fa90583e4b8e8$var$B(void 0, u),\n function(n) {\n var t = o.__N ? o.__N[0] : o.__[0], r = o.t(t, n);\n t !== r && (o.__N = [\n r,\n o.__[1]\n ], o.__c.setState({}));\n }\n ], o.__c = $5c5fa90583e4b8e8$var$r, !$5c5fa90583e4b8e8$var$r.u)) {\n var f = function(n, t, r) {\n if (!o.__c.__H) return !0;\n var u = o.__c.__H.__.filter(function(n) {\n return n.__c;\n });\n if (u.every(function(n) {\n return !n.__N;\n })) return !c || c.call(this, n, t, r);\n var i = !1;\n return u.forEach(function(n) {\n if (n.__N) {\n var t = n.__[0];\n n.__ = n.__N, n.__N = void 0, t !== n.__[0] && (i = !0);\n }\n }), !(!i && o.__c.props === n) && (!c || c.call(this, n, t, r));\n };\n $5c5fa90583e4b8e8$var$r.u = !0;\n var c = $5c5fa90583e4b8e8$var$r.shouldComponentUpdate, e = $5c5fa90583e4b8e8$var$r.componentWillUpdate;\n $5c5fa90583e4b8e8$var$r.componentWillUpdate = function(n, t, r) {\n if (this.__e) {\n var u = c;\n c = void 0, f(n, t, r), c = u;\n }\n e && e.call(this, n, t, r);\n }, $5c5fa90583e4b8e8$var$r.shouldComponentUpdate = f;\n }\n return o.__N || o.__;\n}\nfunction $5c5fa90583e4b8e8$export$6d9c69b0de29b591(u, i) {\n var o = $5c5fa90583e4b8e8$var$d($5c5fa90583e4b8e8$var$t++, 3);\n !(0, $551174e99d8c5924$export$41c562ebe57d11e2).__s && $5c5fa90583e4b8e8$var$z(o.__H, i) && (o.__ = u, o.i = i, $5c5fa90583e4b8e8$var$r.__H.__h.push(o));\n}\nfunction $5c5fa90583e4b8e8$export$e5c5a5f917a5871c(u, i) {\n var o = $5c5fa90583e4b8e8$var$d($5c5fa90583e4b8e8$var$t++, 4);\n !(0, $551174e99d8c5924$export$41c562ebe57d11e2).__s && $5c5fa90583e4b8e8$var$z(o.__H, i) && (o.__ = u, o.i = i, $5c5fa90583e4b8e8$var$r.__h.push(o));\n}\nfunction $5c5fa90583e4b8e8$export$b8f5890fc79d6aca(n) {\n return $5c5fa90583e4b8e8$var$o = 5, $5c5fa90583e4b8e8$export$1538c33de8887b59(function() {\n return {\n current: n\n };\n }, []);\n}\nfunction $5c5fa90583e4b8e8$export$d5a552a76deda3c2(n, t, r) {\n $5c5fa90583e4b8e8$var$o = 6, $5c5fa90583e4b8e8$export$e5c5a5f917a5871c(function() {\n return \"function\" == typeof n ? (n(t()), function() {\n return n(null);\n }) : n ? (n.current = t(), function() {\n return n.current = null;\n }) : void 0;\n }, null == r ? r : r.concat(n));\n}\nfunction $5c5fa90583e4b8e8$export$1538c33de8887b59(n, r) {\n var u = $5c5fa90583e4b8e8$var$d($5c5fa90583e4b8e8$var$t++, 7);\n return $5c5fa90583e4b8e8$var$z(u.__H, r) ? (u.__V = n(), u.i = r, u.__h = n, u.__V) : u.__;\n}\nfunction $5c5fa90583e4b8e8$export$35808ee640e87ca7(n, t) {\n return $5c5fa90583e4b8e8$var$o = 8, $5c5fa90583e4b8e8$export$1538c33de8887b59(function() {\n return n;\n }, t);\n}\nfunction $5c5fa90583e4b8e8$export$fae74005e78b1a27(n) {\n var u = $5c5fa90583e4b8e8$var$r.context[n.__c], i = $5c5fa90583e4b8e8$var$d($5c5fa90583e4b8e8$var$t++, 9);\n return i.c = n, u ? (null == i.__ && (i.__ = !0, u.sub($5c5fa90583e4b8e8$var$r)), u.props.value) : n.__;\n}\nfunction $5c5fa90583e4b8e8$export$dc8fbce3eb94dc1e(t, r) {\n (0, $551174e99d8c5924$export$41c562ebe57d11e2).useDebugValue && (0, $551174e99d8c5924$export$41c562ebe57d11e2).useDebugValue(r ? r(t) : t);\n}\nfunction $5c5fa90583e4b8e8$export$c052f6604b7d51fe(n) {\n var u = $5c5fa90583e4b8e8$var$d($5c5fa90583e4b8e8$var$t++, 10), i = $5c5fa90583e4b8e8$export$60241385465d0a34();\n return u.__ = n, $5c5fa90583e4b8e8$var$r.componentDidCatch || ($5c5fa90583e4b8e8$var$r.componentDidCatch = function(n, t) {\n u.__ && u.__(n, t), i[1](n);\n }), [\n i[0],\n function() {\n i[1](void 0);\n }\n ];\n}\nfunction $5c5fa90583e4b8e8$export$f680877a34711e37() {\n var n = $5c5fa90583e4b8e8$var$d($5c5fa90583e4b8e8$var$t++, 11);\n if (!n.__) {\n for(var u = $5c5fa90583e4b8e8$var$r.__v; null !== u && !u.__m && null !== u.__;)u = u.__;\n var i = u.__m || (u.__m = [\n 0,\n 0\n ]);\n n.__ = \"P\" + i[0] + \"-\" + i[1]++;\n }\n return n.__;\n}\nfunction $5c5fa90583e4b8e8$var$b() {\n for(var t; t = $5c5fa90583e4b8e8$var$f.shift();)if (t.__P && t.__H) try {\n t.__H.__h.forEach($5c5fa90583e4b8e8$var$k), t.__H.__h.forEach($5c5fa90583e4b8e8$var$w), t.__H.__h = [];\n } catch (r) {\n t.__H.__h = [], (0, $551174e99d8c5924$export$41c562ebe57d11e2).__e(r, t.__v);\n }\n}\n(0, $551174e99d8c5924$export$41c562ebe57d11e2).__b = function(n) {\n $5c5fa90583e4b8e8$var$r = null, $5c5fa90583e4b8e8$var$e && $5c5fa90583e4b8e8$var$e(n);\n}, (0, $551174e99d8c5924$export$41c562ebe57d11e2).__r = function(n) {\n $5c5fa90583e4b8e8$var$a && $5c5fa90583e4b8e8$var$a(n), $5c5fa90583e4b8e8$var$t = 0;\n var i = ($5c5fa90583e4b8e8$var$r = n.__c).__H;\n i && ($5c5fa90583e4b8e8$var$u === $5c5fa90583e4b8e8$var$r ? (i.__h = [], $5c5fa90583e4b8e8$var$r.__h = [], i.__.forEach(function(n) {\n n.__N && (n.__ = n.__N), n.__V = $5c5fa90583e4b8e8$var$c, n.__N = n.i = void 0;\n })) : (i.__h.forEach($5c5fa90583e4b8e8$var$k), i.__h.forEach($5c5fa90583e4b8e8$var$w), i.__h = [], $5c5fa90583e4b8e8$var$t = 0)), $5c5fa90583e4b8e8$var$u = $5c5fa90583e4b8e8$var$r;\n}, (0, $551174e99d8c5924$export$41c562ebe57d11e2).diffed = function(t) {\n $5c5fa90583e4b8e8$var$v && $5c5fa90583e4b8e8$var$v(t);\n var o = t.__c;\n o && o.__H && (o.__H.__h.length && (1 !== $5c5fa90583e4b8e8$var$f.push(o) && $5c5fa90583e4b8e8$var$i === (0, $551174e99d8c5924$export$41c562ebe57d11e2).requestAnimationFrame || (($5c5fa90583e4b8e8$var$i = (0, $551174e99d8c5924$export$41c562ebe57d11e2).requestAnimationFrame) || $5c5fa90583e4b8e8$var$j)($5c5fa90583e4b8e8$var$b)), o.__H.__.forEach(function(n) {\n n.i && (n.__H = n.i), n.__V !== $5c5fa90583e4b8e8$var$c && (n.__ = n.__V), n.i = void 0, n.__V = $5c5fa90583e4b8e8$var$c;\n })), $5c5fa90583e4b8e8$var$u = $5c5fa90583e4b8e8$var$r = null;\n}, (0, $551174e99d8c5924$export$41c562ebe57d11e2).__c = function(t, r) {\n r.some(function(t) {\n try {\n t.__h.forEach($5c5fa90583e4b8e8$var$k), t.__h = t.__h.filter(function(n) {\n return !n.__ || $5c5fa90583e4b8e8$var$w(n);\n });\n } catch (u) {\n r.some(function(n) {\n n.__h && (n.__h = []);\n }), r = [], (0, $551174e99d8c5924$export$41c562ebe57d11e2).__e(u, t.__v);\n }\n }), $5c5fa90583e4b8e8$var$l && $5c5fa90583e4b8e8$var$l(t, r);\n}, (0, $551174e99d8c5924$export$41c562ebe57d11e2).unmount = function(t) {\n $5c5fa90583e4b8e8$var$m && $5c5fa90583e4b8e8$var$m(t);\n var r, u = t.__c;\n u && u.__H && (u.__H.__.forEach(function(n) {\n try {\n $5c5fa90583e4b8e8$var$k(n);\n } catch (n) {\n r = n;\n }\n }), u.__H = void 0, r && (0, $551174e99d8c5924$export$41c562ebe57d11e2).__e(r, u.__v));\n};\nvar $5c5fa90583e4b8e8$var$g = \"function\" == typeof requestAnimationFrame;\nfunction $5c5fa90583e4b8e8$var$j(n) {\n var t, r = function() {\n clearTimeout(u), $5c5fa90583e4b8e8$var$g && cancelAnimationFrame(t), setTimeout(n);\n }, u = setTimeout(r, 100);\n $5c5fa90583e4b8e8$var$g && (t = requestAnimationFrame(r));\n}\nfunction $5c5fa90583e4b8e8$var$k(n) {\n var t = $5c5fa90583e4b8e8$var$r, u = n.__c;\n \"function\" == typeof u && (n.__c = void 0, u()), $5c5fa90583e4b8e8$var$r = t;\n}\nfunction $5c5fa90583e4b8e8$var$w(n) {\n var t = $5c5fa90583e4b8e8$var$r;\n n.__c = n.__(), $5c5fa90583e4b8e8$var$r = t;\n}\nfunction $5c5fa90583e4b8e8$var$z(n, t) {\n return !n || n.length !== t.length || t.some(function(t, r) {\n return t !== n[r];\n });\n}\nfunction $5c5fa90583e4b8e8$var$B(n, t) {\n return \"function\" == typeof t ? t(n) : t;\n}\n\n\n\n// Copied from:\n// https://github.com/facebook/react/blob/main/packages/shared/ExecutionEnvironment.js\nconst $fe1664b9958a6563$var$canUseDOM = !!(typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\");\n// TODO: switch to `export { useSyncExternalStore } from \"preact/compat\"` once we update Preact to >= 10.11.3\nfunction $fe1664b9958a6563$var$is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y;\n}\nfunction $fe1664b9958a6563$export$306c0aa65ff9ec16(subscribe, getSnapshot, getSSRSnapshot) {\n if (getSSRSnapshot && !$fe1664b9958a6563$var$canUseDOM) getSnapshot = getSSRSnapshot;\n const value = getSnapshot();\n const [{ _instance: _instance }, forceUpdate] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)({\n _instance: {\n _value: value,\n _getSnapshot: getSnapshot\n }\n });\n (0, $5c5fa90583e4b8e8$export$e5c5a5f917a5871c)(()=>{\n _instance._value = value;\n _instance._getSnapshot = getSnapshot;\n if (!$fe1664b9958a6563$var$is(_instance._value, getSnapshot())) forceUpdate({\n _instance: _instance\n });\n }, [\n subscribe,\n value,\n getSnapshot\n ]);\n (0, $5c5fa90583e4b8e8$export$6d9c69b0de29b591)(()=>{\n if (!$fe1664b9958a6563$var$is(_instance._value, _instance._getSnapshot())) forceUpdate({\n _instance: _instance\n });\n return subscribe(()=>{\n if (!$fe1664b9958a6563$var$is(_instance._value, _instance._getSnapshot())) forceUpdate({\n _instance: _instance\n });\n });\n }, [\n subscribe\n ]);\n return value;\n}\nfunction $fe1664b9958a6563$export$257a8862b851cb5b(component) {\n return component;\n}\nconst $fe1664b9958a6563$export$90fc3a17d93f704c = (fn)=>{\n const ref = (0, $5c5fa90583e4b8e8$export$b8f5890fc79d6aca)([\n fn,\n (...args)=>ref[0](...args)\n ]).current;\n (0, $5c5fa90583e4b8e8$export$e5c5a5f917a5871c)(()=>{\n ref[0] = fn;\n });\n return ref[1];\n};\n\n\n/*\n * Transforms `path` into its relative `base` version\n * If base isn't part of the path provided returns absolute path e.g. `~/app`\n */ const $e85d6386137e524a$var$relativePath = (base = \"\", path = location.pathname)=>!path.toLowerCase().indexOf(base.toLowerCase()) ? path.slice(base.length) || \"/\" : \"~\" + path;\nconst $e85d6386137e524a$var$absolutePath = (to, base = \"\")=>to[0] === \"~\" ? to.slice(1) : base + to;\n/**\n * History API docs @see https://developer.mozilla.org/en-US/docs/Web/API/History\n */ const $e85d6386137e524a$var$eventPopstate = \"popstate\";\nconst $e85d6386137e524a$var$eventPushState = \"pushState\";\nconst $e85d6386137e524a$var$eventReplaceState = \"replaceState\";\nconst $e85d6386137e524a$var$eventHashchange = \"hashchange\";\nconst $e85d6386137e524a$export$4bf9923669ad6c63 = [\n $e85d6386137e524a$var$eventPopstate,\n $e85d6386137e524a$var$eventPushState,\n $e85d6386137e524a$var$eventReplaceState,\n $e85d6386137e524a$var$eventHashchange\n];\nconst $e85d6386137e524a$var$subscribeToLocationUpdates = (callback)=>{\n for (const event of $e85d6386137e524a$export$4bf9923669ad6c63)addEventListener(event, callback);\n return ()=>{\n for (const event of $e85d6386137e524a$export$4bf9923669ad6c63)removeEventListener(event, callback);\n };\n};\nconst $e85d6386137e524a$export$3a1ff78c39f8a86 = (fn, ssrFn)=>(0, $fe1664b9958a6563$export$306c0aa65ff9ec16)($e85d6386137e524a$var$subscribeToLocationUpdates, fn, ssrFn);\nconst $e85d6386137e524a$var$currentSearch = ()=>location.search;\nconst $e85d6386137e524a$export$bd221a7c56b93941 = ()=>$e85d6386137e524a$export$3a1ff78c39f8a86($e85d6386137e524a$var$currentSearch);\nconst $e85d6386137e524a$var$currentPathname = ()=>location.pathname;\nconst $e85d6386137e524a$export$2a28ef6a9fe822a4 = ({ ssrPath: ssrPath } = {})=>$e85d6386137e524a$export$3a1ff78c39f8a86($e85d6386137e524a$var$currentPathname, ssrPath ? ()=>ssrPath : $e85d6386137e524a$var$currentPathname);\nconst $e85d6386137e524a$export$ff7962acd6052c28 = (to, { replace: replace = false } = {})=>history[replace ? $e85d6386137e524a$var$eventReplaceState : $e85d6386137e524a$var$eventPushState](null, \"\", to);\n// the 2nd argument of the `useLocation` return value is a function\n// that allows to perform a navigation.\n//\n// the function reference should stay the same between re-renders, so that\n// it can be passed down as an element prop without any performance concerns.\n// (This is achieved via `useEvent`.)\nconst $e85d6386137e524a$var$useLocation = (opts = {})=>[\n $e85d6386137e524a$var$relativePath(opts.base, $e85d6386137e524a$export$2a28ef6a9fe822a4(opts)),\n (0, $fe1664b9958a6563$export$90fc3a17d93f704c)((to, navOpts)=>$e85d6386137e524a$export$ff7962acd6052c28($e85d6386137e524a$var$absolutePath(to, opts.base), navOpts))\n ];\nvar $e85d6386137e524a$export$2e2bcd8739ae039 = $e85d6386137e524a$var$useLocation;\n// While History API does have `popstate` event, the only\n// proper way to listen to changes via `push/replaceState`\n// is to monkey-patch these methods.\n//\n// See https://stackoverflow.com/a/4585031\nif (typeof history !== \"undefined\") for (const type of [\n $e85d6386137e524a$var$eventPushState,\n $e85d6386137e524a$var$eventReplaceState\n]){\n const original = history[type];\n // TODO: we should be using unstable_batchedUpdates to avoid multiple re-renders,\n // however that will require an additional peer dependency on react-dom.\n // See: https://github.com/reactwg/react-18/discussions/86#discussioncomment-1567149\n history[type] = function() {\n const result = original.apply(this, arguments);\n const event = new Event(type);\n event.arguments = arguments;\n dispatchEvent(event);\n return result;\n };\n}\n\n\n// creates a matcher function\nfunction $d7bafb128031febe$export$2e2bcd8739ae039(makeRegexpFn = $d7bafb128031febe$var$pathToRegexp) {\n let cache = {};\n // obtains a cached regexp version of the pattern\n const getRegexp = (pattern)=>cache[pattern] || (cache[pattern] = makeRegexpFn(pattern));\n return (pattern, path)=>{\n const { regexp: regexp, keys: keys } = getRegexp(pattern || \"\");\n const out = regexp.exec(path);\n if (!out) return [\n false,\n null\n ];\n // formats an object with matched params\n const params = keys.reduce((params, key, i)=>{\n params[key.name] = out[i + 1];\n return params;\n }, {});\n return [\n true,\n params\n ];\n };\n}\n// escapes a regexp string (borrowed from path-to-regexp sources)\n// https://github.com/pillarjs/path-to-regexp/blob/v3.0.0/index.js#L202\nconst $d7bafb128031febe$var$escapeRx = (str)=>str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n// returns a segment representation in RegExp based on flags\n// adapted and simplified version from path-to-regexp sources\nconst $d7bafb128031febe$var$rxForSegment = (repeat, optional, prefix)=>{\n let capture = repeat ? \"((?:[^\\\\/]+?)(?:\\\\/(?:[^\\\\/]+?))*)\" : \"([^\\\\/]+?)\";\n if (optional && prefix) capture = \"(?:\\\\/\" + capture + \")\";\n return capture + (optional ? \"?\" : \"\");\n};\nconst $d7bafb128031febe$var$pathToRegexp = (pattern)=>{\n const groupRx = /:([A-Za-z0-9_]+)([?+*]?)/g;\n let match = null, lastIndex = 0, keys = [], result = \"\";\n while((match = groupRx.exec(pattern)) !== null){\n const [_, segment, mod] = match;\n // :foo [1] ( )\n // :foo? [0 - 1] ( o)\n // :foo+ [1 - ∞] (r )\n // :foo* [0 - ∞] (ro)\n const repeat = mod === \"+\" || mod === \"*\";\n const optional = mod === \"?\" || mod === \"*\";\n const prefix = optional && pattern[match.index - 1] === \"/\" ? 1 : 0;\n const prev = pattern.substring(lastIndex, match.index - prefix);\n keys.push({\n name: segment\n });\n lastIndex = groupRx.lastIndex;\n result += $d7bafb128031febe$var$escapeRx(prev) + $d7bafb128031febe$var$rxForSegment(repeat, optional, prefix);\n }\n result += $d7bafb128031febe$var$escapeRx(pattern.substring(lastIndex));\n return {\n keys: keys,\n regexp: new RegExp(\"^\" + result + \"(?:\\\\/)?$\", \"i\")\n };\n};\n\n\n\n/*\n * Router and router context. Router is a lightweight object that represents the current\n * routing options: how location is managed, base path etc.\n *\n * There is a default router present for most of the use cases, however it can be overridden\n * via the component.\n */ const $bf49b3b08868bbb1$var$defaultRouter = {\n hook: (0, $e85d6386137e524a$export$2e2bcd8739ae039),\n matcher: (0, $d7bafb128031febe$export$2e2bcd8739ae039)(),\n base: \"\"\n};\nconst $bf49b3b08868bbb1$var$RouterCtx = (0, $551174e99d8c5924$export$fd42f52fd3ae1109)($bf49b3b08868bbb1$var$defaultRouter);\nconst $bf49b3b08868bbb1$export$9a302a45f65d0572 = ()=>(0, $5c5fa90583e4b8e8$export$fae74005e78b1a27)($bf49b3b08868bbb1$var$RouterCtx);\n/*\n * Part 1, Hooks API: useRoute and useLocation\n */ // Internal version of useLocation to avoid redundant useRouter calls\nconst $bf49b3b08868bbb1$var$useLocationFromRouter = (router)=>router.hook(router);\nconst $bf49b3b08868bbb1$export$45d76561a5302f2b = ()=>$bf49b3b08868bbb1$var$useLocationFromRouter($bf49b3b08868bbb1$export$9a302a45f65d0572());\nconst $bf49b3b08868bbb1$export$3f79f0b98112cf57 = (pattern)=>{\n const router = $bf49b3b08868bbb1$export$9a302a45f65d0572();\n const [path] = $bf49b3b08868bbb1$var$useLocationFromRouter(router);\n return router.matcher(pattern, path);\n};\nconst $bf49b3b08868bbb1$export$55185c17a0fcbe46 = ({ hook: hook, matcher: matcher, ssrPath: ssrPath, base: base = \"\", parent: parent, children: children })=>{\n // updates the current router with the props passed down to the component\n const updateRouter = (router, proto = parent || $bf49b3b08868bbb1$var$defaultRouter)=>{\n router.hook = hook || proto.hook;\n router.matcher = matcher || proto.matcher;\n router.ssrPath = ssrPath || proto.ssrPath;\n router.ownBase = base;\n // store reference to parent router\n router.parent = parent;\n return router;\n };\n // we use `useState` here, but it only catches the first render and never changes.\n // https://reactjs.org/docs/hooks-faq.html#how-to-create-expensive-objects-lazily\n const [value] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)(()=>updateRouter({\n // We must store base as a property accessor because effects\n // somewhat counter-intuitively run in child components *first*!\n // This means that by the time a parent's base is updated in the\n // parent effect, the child effect has already run, and saw\n // the parent's *previous* base during its own execution.\n get base () {\n return (value.parent || $bf49b3b08868bbb1$var$defaultRouter).base + value.ownBase;\n }\n })); // create the object once...\n (0, $5c5fa90583e4b8e8$export$e5c5a5f917a5871c)(()=>{\n updateRouter(value);\n }); // ...then update it on each render\n return (0, $551174e99d8c5924$export$c8a8987d4410bf2d)($bf49b3b08868bbb1$var$RouterCtx.Provider, {\n value: value,\n children: children\n });\n};\nconst $bf49b3b08868bbb1$export$e7b0ac011bb776c6 = ({ path: path, match: match, component: component, children: children })=>{\n const useRouteMatch = $bf49b3b08868bbb1$export$3f79f0b98112cf57(path);\n // `props.match` is present - Route is controlled by the Switch\n const [matches, params] = match || useRouteMatch;\n if (!matches) return null;\n // React-Router style `component` prop\n if (component) return (0, $551174e99d8c5924$export$c8a8987d4410bf2d)(component, {\n params: params\n });\n // support render prop or plain children\n return typeof children === \"function\" ? children(params) : children;\n};\nconst $bf49b3b08868bbb1$export$a6c7ac8248d6e38a = (0, $fe1664b9958a6563$export$257a8862b851cb5b)((props, ref)=>{\n const router = $bf49b3b08868bbb1$export$9a302a45f65d0572();\n const [, navigate] = $bf49b3b08868bbb1$var$useLocationFromRouter(router);\n const { to: to, href: href = to, children: children, onClick: onClick } = props;\n const handleClick = (0, $fe1664b9958a6563$export$90fc3a17d93f704c)((event)=>{\n // ignores the navigation when clicked using right mouse button or\n // by holding a special modifier key: ctrl, command, win, alt, shift\n if (event.ctrlKey || event.metaKey || event.altKey || event.shiftKey || event.button !== 0) return;\n onClick && onClick(event);\n if (!event.defaultPrevented) {\n event.preventDefault();\n navigate(to || href, props);\n }\n });\n // wraps children in `a` if needed\n const extraProps = {\n // handle nested routers and absolute paths\n href: href[0] === \"~\" ? href.slice(1) : router.base + href,\n onClick: handleClick,\n to: null,\n ref: ref\n };\n const jsx = (0, $551174e99d8c5924$export$a8257692ac88316c)(children) ? children : (0, $551174e99d8c5924$export$c8a8987d4410bf2d)(\"a\", props);\n return (0, $551174e99d8c5924$export$e530037191fcd5d7)(jsx, extraProps);\n});\nconst $bf49b3b08868bbb1$var$flattenChildren = (children)=>{\n return Array.isArray(children) ? [].concat(...children.map((c)=>c && c.type === (0, $551174e99d8c5924$export$ffb0004e005737fa) ? $bf49b3b08868bbb1$var$flattenChildren(c.props.children) : $bf49b3b08868bbb1$var$flattenChildren(c))) : [\n children\n ];\n};\nconst $bf49b3b08868bbb1$export$b5d5cf8927ab7262 = ({ children: children, location: location })=>{\n const router = $bf49b3b08868bbb1$export$9a302a45f65d0572();\n const matcher = router.matcher;\n const [originalLocation] = $bf49b3b08868bbb1$var$useLocationFromRouter(router);\n for (const element of $bf49b3b08868bbb1$var$flattenChildren(children)){\n let match = 0;\n if ((0, $551174e99d8c5924$export$a8257692ac88316c)(element) && // we don't require an element to be of type Route,\n // but we do require it to contain a truthy `path` prop.\n // this allows to use different components that wrap Route\n // inside of a switch, for example .\n (match = element.props.path ? matcher(element.props.path, location || originalLocation) : [\n true,\n {}\n ])[0]) return (0, $551174e99d8c5924$export$e530037191fcd5d7)(element, {\n match: match\n });\n }\n return null;\n};\nconst $bf49b3b08868bbb1$export$2d8d895a0a0f636e = (props)=>{\n const { to: to, href: href = to } = props;\n const [, navigate] = $bf49b3b08868bbb1$export$45d76561a5302f2b();\n const redirect = (0, $fe1664b9958a6563$export$90fc3a17d93f704c)(()=>navigate(to || href, props));\n // redirect is guaranteed to be stable since it is returned from useEvent\n (0, $5c5fa90583e4b8e8$export$e5c5a5f917a5871c)(()=>{\n redirect();\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n return null;\n};\nvar $bf49b3b08868bbb1$export$2e2bcd8739ae039 = $bf49b3b08868bbb1$export$3f79f0b98112cf57;\n\n\n\nconst $66f2da609d6d9bfe$var$windowLocation = ()=>window.location.hash.replace(\"#\", \"\") || \"/\";\nconst $66f2da609d6d9bfe$export$8eb08f90c24d5079 = ({ url: url })=>`/#/play/${encodeURIComponent(url)}`;\nconst $66f2da609d6d9bfe$export$4fac2eeccfa4a8ca = (location)=>{\n if (location === \"/\") return \"home\";\n const currentView = location.split(\"/\").filter(Boolean)[0];\n return currentView || \"\";\n};\nconst $66f2da609d6d9bfe$export$b37f3f4c9f6562f7 = ()=>{\n const [currentLocation, setCurrentLocation] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)($66f2da609d6d9bfe$var$windowLocation());\n (0, $5c5fa90583e4b8e8$export$6d9c69b0de29b591)(()=>{\n const onHashChange = ()=>{\n let newLocation = $66f2da609d6d9bfe$var$windowLocation();\n if (newLocation !== currentLocation) {\n setCurrentLocation(newLocation);\n window.scrollTo(0, 0);\n }\n };\n onHashChange();\n window.addEventListener(\"hashchange\", onHashChange);\n return ()=>window.removeEventListener(\"hashchange\", onHashChange);\n }, [\n currentLocation,\n setCurrentLocation\n ]);\n const navigate = (0, $5c5fa90583e4b8e8$export$35808ee640e87ca7)((to)=>{\n window.location.hash = to.replace(\"#/\", \"\");\n }, []);\n return [\n currentLocation,\n navigate\n ];\n};\n\n\n\nconst $1a1447a1dbeb7cc3$export$d9a33280f07116d9 = [\n \"light\",\n \"dim\",\n \"dark\",\n /* Solarized */ \"solarized-light\",\n \"solarized-dark\",\n /* Original */ \"emo\",\n \"redrum\",\n \"toxin\",\n \"valve\",\n \"wasp\",\n /* Monkeytype */ /* @see https://github.com/monkeytypegame/monkeytype/blob/master/frontend/static/themes/_list.json */ \"a8008\",\n \"a80s_after_dark\",\n \"a9009\",\n \"aether\",\n \"alduin\",\n \"alpine\",\n \"arch\",\n \"aurora\",\n \"beach\",\n \"bento\",\n \"bingsu\",\n \"bliss\",\n \"blue_dolphin\",\n \"blueberry_dark\",\n \"blueberry_light\",\n \"botanical\",\n \"bouquet\",\n \"breeze\",\n \"bushido\",\n \"cafe\",\n \"camping\",\n \"carbon\",\n \"catppuccin\",\n \"chaos_theory\",\n \"cheesecake\",\n \"cherry_blossom\",\n \"comfy\",\n \"copper\",\n \"creamsicle\",\n \"cyberspace\",\n \"dark_magic_girl\",\n \"dark_note\",\n \"darling\",\n \"deku\",\n \"desert_oasis\",\n \"dev\",\n \"diner\",\n \"dino\",\n \"dmg\",\n \"dollar\",\n \"dots\",\n \"dracula\",\n \"drowning\",\n \"dualshot\",\n \"earthsong\",\n \"everblush\",\n \"evil_eye\",\n \"ez_mode\",\n \"fire\",\n \"fledgling\",\n \"fleuriste\",\n \"froyo\",\n \"frozen_llama\",\n \"fruit_chew\",\n \"fundamentals\",\n \"future_funk\",\n \"godspeed\",\n \"graen\",\n \"grand_prix\",\n \"gruvbox_dark\",\n \"gruvbox_light\",\n \"hammerhead\",\n \"hanok\",\n \"hedge\",\n \"honey\",\n \"horizon\",\n \"husqy\",\n \"iceberg_dark\",\n \"iceberg_light\",\n \"ishtar\",\n \"iv_clover\",\n \"iv_spade\",\n \"joker\",\n \"laser\",\n \"lavender\",\n \"leather\",\n \"lil_dragon\",\n \"lime\",\n \"luna\",\n \"magic_girl\",\n \"mashu\",\n \"matcha_moccha\",\n \"material\",\n \"matrix\",\n \"menthol\",\n \"metaverse\",\n \"metropolis\",\n \"mexican\",\n \"miami\",\n \"miami_nights\",\n \"midnight\",\n \"milkshake\",\n \"mint\",\n \"mizu\",\n \"modern_dolch\",\n \"modern_dolch_light\",\n \"modern_ink\",\n \"monokai\",\n \"moonlight\",\n \"mountain\",\n \"mr_sleeves\",\n \"ms_cupcakes\",\n \"muted\",\n \"nautilus\",\n \"nebula\",\n \"night_runner\",\n \"nord\",\n \"nord_light\",\n \"norse\",\n \"oblivion\",\n \"olive\",\n \"olivia\",\n \"onedark\",\n \"our_theme\",\n \"paper\",\n \"passion_fruit\",\n \"pastel\",\n \"peach_blossom\",\n \"peaches\",\n \"pink_lemonade\",\n \"pulse\",\n \"purpurite\",\n \"red_dragon\",\n \"red_samurai\",\n \"repose_dark\",\n \"repose_light\",\n \"retro\",\n \"retrocast\",\n \"rose_pine\",\n \"rose_pine_dawn\",\n \"rose_pine_moon\",\n \"rudy\",\n \"ryujinscales\",\n \"serika\",\n \"serika_dark\",\n \"sewing_tin\",\n \"sewing_tin_light\",\n \"shadow\",\n \"shoko\",\n \"slambook\",\n \"snes\",\n \"soaring_skies\",\n \"sonokai\",\n \"stealth\",\n \"strawberry\",\n \"striker\",\n \"superuser\",\n \"sweden\",\n \"taro\",\n \"terminal\",\n \"terra\",\n \"terror_below\",\n \"tiramisu\",\n \"trackday\",\n \"trance\",\n \"tron_orange\",\n \"vaporwave\",\n \"viridescent\",\n \"voc\",\n \"vscode\",\n \"watermelon\",\n \"wavez\",\n \"witch_girl\"\n];\n\n\n\nconst $1e789317f11755fe$var$LS_THEME_KEY = \"elseifplayer/theme\";\nconst $1e789317f11755fe$var$DEFAULT_THEME = (0, $1a1447a1dbeb7cc3$export$d9a33280f07116d9)[0];\nconst $1e789317f11755fe$var$getSavedTheme = ()=>{\n const savedTheme = localStorage.getItem($1e789317f11755fe$var$LS_THEME_KEY);\n return savedTheme || $1e789317f11755fe$var$DEFAULT_THEME;\n};\nconst $1e789317f11755fe$var$assertTheme = (theme)=>(0, $1a1447a1dbeb7cc3$export$d9a33280f07116d9).includes(theme) ? theme : $1e789317f11755fe$var$getSavedTheme();\nconst $1e789317f11755fe$export$818080cba8053148 = (initialTheme = $1e789317f11755fe$var$getSavedTheme())=>{\n const [currentTheme, setCurrentTheme] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)(initialTheme);\n const setTheme = (theme)=>{\n const newTheme = $1e789317f11755fe$var$assertTheme(theme);\n setCurrentTheme(newTheme);\n localStorage.setItem($1e789317f11755fe$var$LS_THEME_KEY, newTheme);\n };\n const setRandomTheme = ()=>{\n const randomTheme = (0, $1a1447a1dbeb7cc3$export$d9a33280f07116d9)[Math.floor(Math.random() * (0, $1a1447a1dbeb7cc3$export$d9a33280f07116d9).length)];\n setTheme(randomTheme);\n };\n return {\n currentTheme: currentTheme,\n setTheme: setTheme,\n setRandomTheme: setRandomTheme,\n themes: $1a1447a1dbeb7cc3$export$d9a33280f07116d9\n };\n};\n\n\n\n\n\n\nfunction $1708390c5041b6e2$export$2e2bcd8739ae039({ theme: theme, setLocation: setLocation, buildLink: buildLink }) {\n const fileInputHandler = ({ target: target })=>{\n const file = target.files[0];\n const url = `${URL.createObjectURL(file)}#${file.name}`;\n setLocation(buildLink({\n url: url,\n theme: theme\n }));\n };\n return /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"input\", {\n type: \"file\",\n onChange: fileInputHandler\n });\n}\n\n\n\nfunction $bc4fc25313d9323c$export$2e2bcd8739ae039({ theme: theme, setLocation: setLocation, buildLink: buildLink }) {\n const urlRE = /^(http|https):\\/\\/[^ \"]+$/;\n const onKeyPress = ({ keyCode: keyCode, target: target })=>{\n if (keyCode !== 13) return;\n const url = encodeURI(target.value);\n if (urlRE.test(url)) setLocation(buildLink({\n url: url,\n theme: theme\n }));\n };\n return /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"input\", {\n type: \"text\",\n placeholder: \"https://...\",\n onKeyPress: onKeyPress\n });\n}\n\n\n\nfunction $7c39639b64b564e0$export$2e2bcd8739ae039({ themeEngine: themeEngine }) {\n const options = themeEngine.themes.map((theme)=>/*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"option\", {\n value: theme,\n children: theme\n }, theme));\n return /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"select\", {\n value: themeEngine.currentTheme,\n onChange: ({ target: target })=>themeEngine.setTheme(target.value),\n children: options\n });\n}\n\n\nfunction $85078130a8d7a0de$export$2e2bcd8739ae039({ themeEngine: themeEngine }) {\n const setLocation = (0, $66f2da609d6d9bfe$export$b37f3f4c9f6562f7)()[1];\n return /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"main\", {\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"h1\", {\n children: \"ElseIFPlayer\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"section\", {\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"p\", {\n children: [\n \"Interactive Fiction interpreter that runs right in your browser.\",\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"br\", {}),\n \"Source code can be found in this \",\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: \"https://github.com/He4eT/elseifplayer\",\n children: \"repository\"\n }),\n \".\"\n ]\n })\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"hr\", {}),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"section\", {\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"h2\", {\n children: \"Interface Theme\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $7c39639b64b564e0$export$2e2bcd8739ae039), {\n themeEngine: themeEngine\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"p\", {\n children: [\n \"Preview and choose from available themes on the \",\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bf49b3b08868bbb1$export$a6c7ac8248d6e38a), {\n href: \"/#/themes/\",\n children: \"themes page\"\n }),\n \".\"\n ]\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"p\", {\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"small\", {\n children: \"Double-click the input field during the game to enter full-screen mode.\"\n })\n })\n ]\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"hr\", {}),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"section\", {\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"h2\", {\n children: \"Play a Game from the List\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"p\", {\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bf49b3b08868bbb1$export$a6c7ac8248d6e38a), {\n href: \"/#/games/\",\n children: \"IFDB games\"\n })\n })\n ]\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"hr\", {}),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"section\", {\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"h2\", {\n children: \"Play the Game from a File\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"p\", {\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"details\", {\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"summary\", {\n children: \"Supported formats\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"p\", {\n children: \"Text-only games are supported:\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"ul\", {\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"li\", {\n children: \"ADRIFT 4 (.taf)\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"li\", {\n children: \"Glulx (.gblorb, .ulx)\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"li\", {\n children: \"Hugo (.hex)\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"li\", {\n children: \"TADS 2/3 (.gam, .t3)\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"li\", {\n children: \"Z-code (.z3, .z4, .z5, .z8, .blorb)\"\n })\n ]\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"p\", {\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"label\", {\n children: [\n \"Local file: \",\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"br\", {}),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $1708390c5041b6e2$export$2e2bcd8739ae039), {\n setLocation: setLocation,\n buildLink: (0, $66f2da609d6d9bfe$export$8eb08f90c24d5079),\n theme: themeEngine.currentTheme\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"p\", {\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"label\", {\n children: [\n \"Direct link: \",\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"br\", {}),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bc4fc25313d9323c$export$2e2bcd8739ae039), {\n setLocation: setLocation,\n buildLink: (0, $66f2da609d6d9bfe$export$8eb08f90c24d5079),\n theme: themeEngine.currentTheme\n })\n ]\n })\n })\n ]\n })\n ]\n });\n}\n\n\n\n\n\n\n\nfunction $c416337fc7df6b27$export$2e2bcd8739ae039({ name: name, ifdb: ifdb, url: url }) {\n return /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"h4\", {\n children: name\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: ifdb,\n children: \"IFDB page\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"span\", {\n children: \" | \"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bf49b3b08868bbb1$export$a6c7ac8248d6e38a), {\n href: (0, $66f2da609d6d9bfe$export$8eb08f90c24d5079)({\n url: url\n }),\n children: \"Play\"\n })\n ]\n });\n}\n\n\nvar $8072c402bd1a5d6e$export$2e2bcd8739ae039 = [\n [\n \"Lost Pig\",\n \"https://ifdb.org/viewgame?id=mohwfk47yjzii14w\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/LostPig.z8\"\n ],\n [\n /* Check with cheap-glk */ \"Counterfeit Monkey\",\n \"https://ifdb.org/viewgame?id=aearuuxv83plclpl\",\n \"https://mirror.ifarchive.org/if-archive/games/glulx/CounterfeitMonkey.gblorb\"\n ],\n [\n /* Works. Check inputs */ \"Anchorhead\",\n \"https://ifdb.org/viewgame?id=op0uw1gn1tjqmjt7\",\n \"https://ifarchive.org/if-archive/games/zcode/anchor.z8\"\n ],\n /* [\n '80 DAYS',\n 'https://ifdb.org/viewgame?id=du51t0qrhjqlnbij',\n 'INKLEWRITER'\n ], */ [\n \"Galatea\",\n \"https://ifdb.org/viewgame?id=urxrv27t7qtu52lb\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/Galatea.zblorb\"\n ],\n [\n /* Works. Check inputs */ \"Photopia\",\n \"https://ifdb.org/viewgame?id=ju778uv5xaswnlpl\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/photopia.z5\"\n ],\n [\n \"Spider and Web\",\n \"https://ifdb.org/viewgame?id=2xyccw3pe0uovfad\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/Tangle.z5\"\n ],\n /* [\n 'Trinity',\n 'https://ifdb.org/viewgame?id=j18kjz80hxjtyayw',\n 'ZIP'\n ], */ /* [\n 'Hadean Lands',\n 'https://ifdb.org/viewgame?id=u58d0mlbfwcorfi',\n 'COMMERCIAL'\n ], */ /* [\n 'Superluminal Vagrant Twin',\n 'https://ifdb.org/viewgame?id=5xzoz5wimz4xxha',\n 'CORS https://v6p9d9t4.ssl.hwcdn.net/html/177384/Superluminal%20Vagrant%20Twin%20Webpage/files/Superluminal%20Vagrant%20Twin.gblorb'\n ], */ /* [\n 'Birdland',\n 'https://ifdb.org/viewgame?id=ap1651hvjldbuugj',\n 'TWINE'\n ], */ [\n \"Slouching Towards Bedlam\",\n \"https://ifdb.org/viewgame?id=032krqe6bjn5au78\",\n \"https://mirror.ifarchive.org/if-archive/games/competition2003/zcode/slouch/slouch.z5\"\n ],\n [\n \"Curses!\",\n \"https://ifdb.org/viewgame?id=plvzam05bmz3enh8\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/curses.z5\"\n ],\n /* [\n 'howling dogs',\n 'https://ifdb.org/viewgame?id=mxj7xp4nffia9rbj',\n 'TWINE'\n ], */ [\n \"Violet\",\n \"https://ifdb.org/viewgame?id=4glrrfh7wrp9zz7b\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/Violet.zblorb\"\n ],\n [\n \"The Wizard Sniffer\",\n \"https://ifdb.org/viewgame?id=uq18rw9gt8j58da\",\n \"https://ifarchive.org/if-archive/games/competition2017/The%20Wizard%20Sniffer/The_Wizard_Sniffer.gblorb\"\n ],\n /* [\n 'Eat Me',\n 'https://ifdb.org/viewgame?id=yutkd9u0oeog4br1',\n 'ZIP https://ifarchive.org/if-archive/games/competition2017/Eat%20Me/Eat%20Me/Gblorb.zip'\n ], */ /* [\n 'Horse Master',\n 'https://ifdb.org/viewgame?id=ogkcvv9l1q0aatpd',\n 'TWINE'\n ], */ /* [\n 'Mentula Macanus: Apocolocyntosis',\n 'https://ifdb.org/viewgame?id=etul31tqgl3n22nl'\n 'ZIP'\n ], */ [\n \"Shade\",\n \"https://ifdb.org/viewgame?id=hsfc7fnl40k4a30q\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/shade.z5\"\n ],\n [\n \"Vespers\",\n \"https://ifdb.org/viewgame?id=6dj2vguyiagrhvc2\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/vespers.z8\"\n ],\n /* [\n 'Will Not Let Me Go',\n 'https://ifdb.org/viewgame?id=67r2qc21m5nzexv1',\n 'TWINE'\n ], */ /* [\n 'Bee',\n 'https://ifdb.org/viewgame?id=8pe83e92v4nvabic',\n 'VARYTALE'\n ], */ /* [\n 'Creatures Such As We',\n 'https://ifdb.org/viewgame?id=8l9cdcd1tbt77hfl',\n 'TWINE'\n ], */ /* [\n 'Kerkerkruip',\n 'https://ifdb.org/viewgame?id=f7zdhxmiraht53d1',\n 'CORS https://downloads.kerkerkruip.org/Kerkerkruip-latest.gblorb'\n ], */ /* [\n 'Midnight. Swordfight.',\n 'https://ifdb.org/viewgame?id=2cuwjlvpybg8oaf0',\n 'CORS https://www.castleprincessdragon.com/InteractiveFiction/MS/MidnightSwordfight.gblorb'\n ], */ [\n \"Savoir-Faire\",\n \"https://ifdb.org/viewgame?id=p0cizeb3kiwzlm2p\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/Savoir-Faire.zblorb\"\n ],\n /* [\n 'With Those We Love Alive',\n 'https://ifdb.org/viewgame?id=445d989vuwlh4cvz',\n 'TWINE'\n ], */ [\n \"Aisle\",\n \"https://ifdb.org/viewgame?id=j49crlvd62mhwuzu\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/Aisle.z5\"\n ],\n /* [\n 'Blue Lacuna',\n 'https://ifdb.org/viewgame?id=ez2mcyx4zi98qlkh',\n 'ZIP'\n ], */ [\n \"Gun Mute\",\n \"https://ifdb.org/viewgame?id=xwedbibfksczn7eq\",\n \"https://mirror.ifarchive.org/if-archive/games/tads/GunMute.t3\"\n ],\n /* [\n 'The King of Shreds and Patches',\n 'https://ifdb.org/viewgame?id=9ntef9expou18abv',\n 'ZIP'\n ], */ /* [\n 'A Mind Forever Voyaging',\n 'https://ifdb.org/viewgame?id=4h62dvooeg9ajtfa',\n 'CORS'\n ], */ /* [\n 'SPY INTRIGUE',\n 'https://ifdb.org/viewgame?id=zz6i7irfr70nvp7a',\n 'TWINE'\n ], */ /* [\n 'Wishbringer',\n 'https://ifdb.org/viewgame?id=z02joykzh66wfhcl',\n 'CORS'\n ], */ [\n \"A Beauty Cold and Austere\",\n \"https://ifdb.org/viewgame?id=y9y7jozi0l76bb82\",\n \"https://ifarchive.org/if-archive/games/competition2017/A%20Beauty%20Cold%20and%20Austere/A_Beauty_Cold_and_Austere.gblorb\"\n ],\n /* [\n 'Cactus Blue Motel',\n 'https://ifdb.org/viewgame?id=7e699ifb6u3767yr',\n 'TWINE'\n ], */ [\n \"Coloratura\",\n \"https://ifdb.org/viewgame?id=g0fl99ovcrq2sqzk\",\n \"https://mirror.ifarchive.org/if-archive/games/competition2013/glulx/coloratura/Coloratura.gblorb\"\n ],\n /* [\n 'Harmonia',\n 'https://ifdb.org/viewgame?id=bkyia4k48od1ila',\n 'TWINE'\n ], */ [\n \"Lime Ergot\",\n \"https://ifdb.org/viewgame?id=b8mb4fcwmf1hrxl\",\n \"https://mirror.ifarchive.org/if-archive/games/glulx/Lime_Ergot.gblorb\"\n ],\n [\n \"Rameses\",\n \"https://ifdb.org/viewgame?id=0stz0hr7a98bp9mp\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/rameses.zblorb\"\n ],\n /* [\n 'Spellbreaker',\n 'https://ifdb.org/viewgame?id=wqsmrahzozosu3r',\n 'CORS'\n ], */ /* [\n 'Suspended',\n 'https://ifdb.org/viewgame?id=t47hei9uq10xoar8',\n 'CORS'\n ], */ [\n \"The Wand\",\n \"https://ifdb.org/viewgame?id=2jil5vbxmbv8riv1\",\n \"https://ifarchive.org/if-archive/games/glulx/Wand.ulx\"\n ],\n /* [\n 'Zork I',\n 'https://ifdb.org/viewgame?id=0dbnusxunq7fw5ro',\n 'ZIP'\n ], */ [\n \"1893: A World's Fair Mystery\",\n \"https://ifdb.org/viewgame?id=00e0t7swrris5pg6\",\n \"https://mirror.ifarchive.org/if-archive/games/tads/1893.gam\"\n ],\n [\n \"Adventure\",\n \"https://ifdb.org/viewgame?id=fft6pu91j85y4acv\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/Advent.z5\"\n ],\n [\n \"Alias 'The Magpie'\",\n \"https://ifdb.org/viewgame?id=yspn49v69hzc8rtb\",\n \"https://ifarchive.org/if-archive/games/competition2018/Alias%20The%20Magpie/Alias%20%27The%20Magpie%27.gblorb\"\n ],\n /* [\n 'De Baron',\n 'https://ifdb.org/viewgame?id=weac28l51hiqfzxz',\n 'ZIP'\n ], */ /* [\n 'Bogeyman',\n 'https://ifdb.org/viewgame?id=ltwvgb2lubkx82yi',\n 'TWINE'\n ], */ [\n \"Cragne Manor\",\n \"https://ifdb.org/viewgame?id=4x7nltu8p851tn4x\",\n \"https://mirror.ifarchive.org/if-archive/games/glulx/cragne.gblorb\"\n ],\n [\n \"The Edifice\",\n \"https://ifdb.org/viewgame?id=4tb9soabrb4apqzd\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/edifice.z5\"\n ],\n [\n \"Endless, Nameless\",\n \"https://ifdb.org/viewgame?id=7vtm1rq16hh3xch\",\n \"https://ifarchive.org/if-archive/games/zcode/nameless.z8\"\n ],\n [\n \"Everybody Dies\",\n \"https://ifdb.org/viewgame?id=lyblvftb8xtlo0a1\",\n \"https://mirror.ifarchive.org/if-archive/games/competition2008/glulx/everybodydies/EverybodyDies.gblorb\"\n ],\n /* [\n 'Fallen London',\n 'https://ifdb.org/viewgame?id=y9m60ythcj2xn9r',\n 'STORYNEXUS'\n ], */ [\n \"Foo Foo\",\n \"https://ifdb.org/viewgame?id=ec6x9y8qcmsrxob9\",\n \"https://ifarchive.org/if-archive/games/springthing/2016/FooFoo.gblorb\"\n ],\n [\n \"The Gostak\",\n \"https://ifdb.org/viewgame?id=w5s3sv43s3p98v45\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/gostak.z5\"\n ],\n /* [\n 'The Hitchhiker\\'s Guide to the Galaxy',\n 'https://ifdb.org/viewgame?id=ouv80gvsl32xlion',\n 'CORS https://www.douglasadams.com/creations/hhgg.z3'\n ], */ /* [\n 'Hoist Sail for the Heliopause and Home',\n 'https://ifdb.org/viewgame?id=ykccumi5xc5rltev',\n 'CORS https://eblong.com/zarf/ftp/Heliopause.zblorb'\n ], */ /* [\n 'Human Errors',\n 'https://ifdb.org/viewgame?id=14oexa2wyym73glu',\n 'TWINE'\n ], */ [\n \"Inside the Facility\",\n \"https://ifdb.org/viewgame?id=stsdri5zh7a4i5my\",\n \"https://ifarchive.org/if-archive/games/competition2016/Inside%20the%20Facility/Facility.z8\"\n ],\n /* [\n 'Junior Arithmancer',\n 'https://ifdb.org/viewgame?id=pw1rbjt1t4n4n87s',\n 'https://ifarchive.org/if-archive/games/competition2018/Junior%20Arithmancer/Junior_Arithmancer.gblorb',\n ], */ [\n \"Make It Good\",\n \"https://ifdb.org/viewgame?id=jdrbw1htq4ah8q57\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/MakeItGood.z8\"\n ],\n [\n \"Sub Rosa\",\n \"https://ifdb.org/viewgame?id=73nvz9yui87ub3sd\",\n \"https://mirror.ifarchive.org/if-archive/games/glulx/Sub_Rosa.gblorb\"\n ],\n [\n \"Suveh Nux\",\n \"https://ifdb.org/viewgame?id=xkai23ry99qdxce3\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/suvehnux.z5\"\n ],\n /* [\n 'their angelical understanding',\n 'https://ifdb.org/viewgame?id=zpmfvbgolvfwbid',\n 'TWINE'\n ], */ /* [\n 'Toby\\'s Nose',\n 'https://ifdb.org/viewgame?id=xf5y04yekcrqtnc',\n 'CORS https://www.castleprincessdragon.com/InteractiveFiction/TobysNose/Toby\\'s%20Nose.gblorb'\n ], */ [\n \"Varicella\",\n \"https://ifdb.org/viewgame?id=ywwlr3tpxnktjasd\",\n \"https://mirror.ifarchive.org/if-archive/games/zcode/vgame.z8\"\n ]\n].map(([name, ifdb, url])=>({\n name: name,\n ifdb: ifdb,\n url: url\n }));\n\n\nvar $760411a9160bcc21$export$79863f625c4e57;\nvar $760411a9160bcc21$export$ccc8042d79dd0831;\n$760411a9160bcc21$export$79863f625c4e57 = `-soi4G_games`;\n$760411a9160bcc21$export$ccc8042d79dd0831 = `-soi4G_tutorial`;\n\n\nconst $a9795ef4044b2e22$var$tutorialGame = {\n name: \"The Dreamhold\",\n ifdb: \"https://ifdb.org/viewgame?id=3myqnrs64nbtwdaz\",\n url: \"https://mirror.ifarchive.org/if-archive/games/zcode/dreamhold.z8\"\n};\nfunction $a9795ef4044b2e22$export$2e2bcd8739ae039() {\n return /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"main\", {\n className: $760411a9160bcc21$export$79863f625c4e57,\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"h1\", {\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: \"https://ifdb.org/\",\n title: \"The Interactive Fiction Database\",\n children: \"IFDB\"\n }),\n \" Games\"\n ]\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"p\", {\n children: [\n \"Choose one or \",\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bf49b3b08868bbb1$export$a6c7ac8248d6e38a), {\n href: \"/\",\n children: \"go back\"\n }),\n \".\"\n ]\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"section\", {\n className: $760411a9160bcc21$export$ccc8042d79dd0831,\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"h2\", {\n children: \"Tutorial\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"p\", {\n children: \"If you are not familiar with Interactive Fiction, you should start with this tutorial game by\\xa0Andrew\\xa0Plotkin:\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"ul\", {\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"li\", {\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $c416337fc7df6b27$export$2e2bcd8739ae039), {\n ...$a9795ef4044b2e22$var$tutorialGame\n })\n })\n })\n ]\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"h2\", {\n children: \"Interactive Fiction Top 50 of All Time\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"p\", {\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: \"https://ifdb.org/search?comp&sortby=awn&searchfor=series%3AInteractive+Fiction+Top+50+of+All+Time\",\n children: \"Every four years \"\n }),\n \", Victor Gijsbers puts together a list of the top 50 IF games of all time. Here is an almost complete and slightly rearranged version of the \",\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: \"https://ifdb.org/viewcomp?id=1lv599reviaxvwo7\",\n children: \"list from 2019\"\n }),\n \":\"\n ]\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"ol\", {\n children: (0, $8072c402bd1a5d6e$export$2e2bcd8739ae039).map((game)=>/*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"li\", {\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $c416337fc7df6b27$export$2e2bcd8739ae039), {\n ...game\n })\n }, game.name))\n })\n ]\n });\n}\n\n\n\n\nvar $6b876c53408b349f$export$97aac956da55dae9;\nvar $6b876c53408b349f$export$b7e3ae3d7c15e42e;\nvar $6b876c53408b349f$export$a8ecead220dd38a6;\nvar $6b876c53408b349f$export$c789db2c85949867;\nvar $6b876c53408b349f$export$d61e5f8e032e1547;\nvar $6b876c53408b349f$export$77694752ff0b3730;\nvar $6b876c53408b349f$export$d9a33280f07116d9;\n$6b876c53408b349f$export$97aac956da55dae9 = `qdlvgW_current`;\n$6b876c53408b349f$export$b7e3ae3d7c15e42e = `qdlvgW_input`;\n$6b876c53408b349f$export$a8ecead220dd38a6 = `qdlvgW_message`;\n$6b876c53408b349f$export$c789db2c85949867 = `qdlvgW_output`;\n$6b876c53408b349f$export$d61e5f8e032e1547 = `qdlvgW_subheader`;\n$6b876c53408b349f$export$77694752ff0b3730 = `qdlvgW_themePreview`;\n$6b876c53408b349f$export$d9a33280f07116d9 = `qdlvgW_themes`;\n\n\nconst $d21b3c63351f5932$var$Preview = (themeEngine, theme)=>/*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"section\", {\n className: [\n $6b876c53408b349f$export$77694752ff0b3730,\n theme\n ].join(\" \"),\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n className: $6b876c53408b349f$export$c789db2c85949867,\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n className: [\n $6b876c53408b349f$export$a8ecead220dd38a6,\n $6b876c53408b349f$export$b7e3ae3d7c15e42e\n ].join(\" \"),\n children: \"> look\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"br\", {})\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n className: [\n $6b876c53408b349f$export$a8ecead220dd38a6,\n $6b876c53408b349f$export$d61e5f8e032e1547\n ].join(\" \"),\n children: theme\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n children: \"Observe a vibrant demonstration of colors at work, showcasing their versatile usage right before your eyes.\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"br\", {})\n })\n ]\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"button\", {\n onClick: ()=>themeEngine.setTheme(theme),\n children: \"Apply this colors\"\n })\n ]\n }, theme);\nfunction $d21b3c63351f5932$export$2e2bcd8739ae039({ themeEngine: themeEngine }) {\n const themes = themeEngine.themes.map((theme)=>$d21b3c63351f5932$var$Preview(themeEngine, theme));\n return /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"main\", {\n className: $6b876c53408b349f$export$d9a33280f07116d9,\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"h1\", {\n children: \"Themes Page\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"p\", {\n children: [\n \"Choose one or \",\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bf49b3b08868bbb1$export$a6c7ac8248d6e38a), {\n href: \"/\",\n children: \"go back\"\n }),\n \".\"\n ]\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"section\", {\n className: [\n $6b876c53408b349f$export$77694752ff0b3730,\n $6b876c53408b349f$export$97aac956da55dae9\n ].join(\" \"),\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"h2\", {\n children: \"Current Theme\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n className: $6b876c53408b349f$export$c789db2c85949867,\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n className: [\n $6b876c53408b349f$export$a8ecead220dd38a6,\n $6b876c53408b349f$export$b7e3ae3d7c15e42e\n ].join(\" \"),\n children: \"> look\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"br\", {})\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n className: [\n $6b876c53408b349f$export$a8ecead220dd38a6,\n $6b876c53408b349f$export$d61e5f8e032e1547\n ].join(\" \"),\n children: [\n \"Selected: \",\n themeEngine.currentTheme\n ]\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n children: \"You can set random one with the button below or choose any theme from the list.\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"br\", {})\n })\n ]\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"button\", {\n onClick: ()=>themeEngine.setRandomTheme(),\n children: \"Set a random theme\"\n })\n ]\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"h2\", {\n children: \"Theme List\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"section\", {\n children: themes\n })\n ]\n });\n}\n\n\n\n\n\n\n/*\n\nEmglken port of Bocfel\n======================\n\nCopyright (c) 2021 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/ /*\n\nEmglken VM\n==========\n\nCopyright (c) 2022 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/ /*\n\nEmglken File System\n===================\n\nCopyright (c) 2020 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/ const $02f1d47ba060901a$var$DIR_MODE = 16895 // 040777\n;\nconst $02f1d47ba060901a$var$FILE_MODE = 33206 // 100666\n;\nconst $02f1d47ba060901a$var$SEEK_SET = 0;\nconst $02f1d47ba060901a$var$SEEK_CUR = 1;\nconst $02f1d47ba060901a$var$SEEK_END = 2;\n// WASI error codes\n// See https://github.com/WebAssembly/wasi-libc/blob/master/libc-bottom-half/headers/public/wasi/api.h\nconst $02f1d47ba060901a$var$EINVAL = 28;\nconst $02f1d47ba060901a$var$ENOENT = 44;\n// Convert Linux flags to Glk flags\nconst $02f1d47ba060901a$var$filemode_Write = 1;\nconst $02f1d47ba060901a$var$filemode_Read = 2;\nconst $02f1d47ba060901a$var$filemode_ReadWrite = 3;\nconst $02f1d47ba060901a$var$filemode_WriteAppend = 5;\nfunction $02f1d47ba060901a$var$convert_flags(flags) {\n // O_APPEND => filemode_WriteAppend\n if (flags & 0x400) return $02f1d47ba060901a$var$filemode_WriteAppend;\n // O_WRONLY => filemode_Write\n if (flags & 1) return $02f1d47ba060901a$var$filemode_Write;\n // O_RDWR => filemode_ReadWrite\n if (flags & 2) return $02f1d47ba060901a$var$filemode_ReadWrite;\n // O_RDONLY => filemode_Read\n return $02f1d47ba060901a$var$filemode_Read;\n}\nclass $02f1d47ba060901a$export$2e2bcd8739ae039 {\n constructor(VM){\n this.dialog = VM.options.Dialog;\n this.streaming = this.dialog.streaming;\n this.FS = VM.Module.FS;\n this.VM = VM;\n this.filename_map = {};\n this.filename_counter = 0;\n }\n close(stream) {\n if (stream.name === \"storyfile\") ;\n else {\n if (this.streaming) stream.fstream.fclose();\n else if (stream.fmode !== $02f1d47ba060901a$var$filemode_Read) this.dialog.file_write(stream.fref, stream.data);\n }\n }\n createNode(parent, name, mode /*, dev*/ ) {\n const FS = this.FS;\n if (!FS.isDir(mode) && !FS.isFile(mode)) throw new FS.ErrnoError($02f1d47ba060901a$var$EINVAL);\n const node = FS.createNode(parent, name, mode);\n node.node_ops = this;\n node.stream_ops = this;\n node.timestamp = Date.now();\n return node;\n }\n getattr(node) {\n // At present only the size of the storyfile will be returned, as needed by Bocfel\n const size = node.name === \"storyfile\" ? this.VM.data.length : 0;\n // Not sure what to return here, so only return stuff some of it\n return {\n atime: new Date(node.timestamp),\n ctime: new Date(node.timestamp),\n dev: 1,\n gid: 0,\n ino: node.id,\n mode: node.mode,\n mtime: new Date(node.timestamp),\n nlink: 1,\n rdev: node.rdev,\n size: size,\n uid: 0\n };\n }\n // Get a Dialog ref for non-streaming Dialogs\n get_dialog_ref(filename) {\n let [name, usage] = filename.split(\".\");\n // RemGlk sends usages starting with 'glk', but Dialog wants them without\n usage = usage.replace(\"glk\", \"\");\n // Retrieve the game ID if opening a savefile\n let gameid = \"\";\n if (usage === \"save\") gameid = this.VM.Module.AsciiToString(this.VM.Module._gidispatch_get_game_id());\n return this.dialog.file_construct_ref(name, usage, gameid);\n }\n llseek(stream, offset, whence) {\n let position = offset;\n if (whence === $02f1d47ba060901a$var$SEEK_CUR) position += stream.position;\n else if (whence === $02f1d47ba060901a$var$SEEK_END) {\n if (stream.name === \"storyfile\") position += stream.data.length;\n else if (this.streaming) {\n const curpos = stream.fstream.ftell();\n stream.fstream.fseek(0, $02f1d47ba060901a$var$SEEK_END);\n position += stream.fstream.ftell();\n stream.fstream.fseek(curpos, $02f1d47ba060901a$var$SEEK_SET);\n } else position += stream.data.length;\n }\n if (position < 0) throw new this.FS.ErrnoError($02f1d47ba060901a$var$EINVAL);\n return position;\n }\n lookup(parent, name) {\n if (name !== \"storyfile\") {\n const realname = this.filename_map[name] || name;\n if (!this.dialog.file_ref_exists(this.streaming ? {\n filename: realname\n } : this.get_dialog_ref(realname))) throw new this.FS.ErrnoError($02f1d47ba060901a$var$ENOENT);\n }\n return this.createNode(parent, name, $02f1d47ba060901a$var$FILE_MODE);\n }\n mknod(parent, name, mode /*, dev*/ ) {\n return this.createNode(parent, name, mode);\n }\n mmap() {\n throw new Error(\"EmglkenFS.mmap\");\n }\n mount() {\n return this.createNode(null, \"/\", $02f1d47ba060901a$var$DIR_MODE, 0);\n }\n msync() {\n throw new Error(\"EmglkenFS.msync\");\n }\n open(stream) {\n stream.name = stream.node.name;\n if (stream.name === \"storyfile\") stream.data = this.VM.data;\n else {\n const fmode = $02f1d47ba060901a$var$convert_flags(stream.flags);\n const realname = this.filename_map[stream.name] || stream.name;\n if (this.streaming) stream.fstream = this.dialog.file_fopen(fmode, {\n filename: realname\n });\n else {\n stream.fref = this.get_dialog_ref(realname);\n stream.fmode = fmode;\n // Read the content if not overwriting\n stream.data = null;\n if (fmode !== $02f1d47ba060901a$var$filemode_Write) stream.data = this.dialog.file_read(stream.fref);\n // If no file and not reading, create a blank file\n if (stream.data == null) {\n stream.data = new Uint8Array(0);\n if (fmode !== $02f1d47ba060901a$var$filemode_Read) this.dialog.file_write(stream.fref, \"\", true);\n }\n //stream.position = fmode === filemode_WriteAppend ? data.length : 0\n }\n }\n }\n read(stream, buffer, offset, length, position) {\n if (length === 0) return 0;\n if (stream.name === \"storyfile\") {\n const size = Math.min(stream.data.length - position, length);\n buffer.set(stream.data.subarray(position, position + size), offset);\n return size;\n } else if (this.streaming) {\n stream.fstream.fseek(position, $02f1d47ba060901a$var$SEEK_SET);\n const buf = stream.fstream.BufferClass.from(buffer.buffer, offset, length);\n return stream.fstream.fread(buf, length);\n } else {\n const size = Math.min(stream.data.length - position, length);\n buffer.set(stream.data.subarray(position, position + size), offset);\n return size;\n }\n }\n readdir() {\n throw new Error(\"EmglkenFS.readdir\");\n }\n readlink() {\n throw new this.FS.ErrnoError($02f1d47ba060901a$var$EINVAL);\n }\n // electrofs.js will give a full system path, which we can't handle. So store the full path and return a fake file name\n register_filename(filename, usage) {\n const suffix = usage === \"save\" ? \".glksave\" : usage === \"data\" ? \".glkdata\" : \".txt\";\n if (!/\\.(glkdata|glksave|txt)$/.test(filename)) filename = filename + suffix;\n if (this.filename_map[filename]) return this.filename_map[filename];\n const fakename = \"emglken_fake_file_\" + this.filename_counter++;\n this.filename_map[filename] = fakename;\n this.filename_map[fakename + suffix] = filename;\n return fakename;\n }\n rename() {\n throw new Error(\"EmglkenFS.rename\");\n }\n rmdir() {\n throw new Error(\"EmglkenFS.rmdir\");\n }\n setattr() {\n // I don't think we need to do anything here?\n // Maybe truncate a file?\n }\n symlink() {\n throw new Error(\"EmglkenFS.symlink\");\n }\n unlink(parent, name) {\n const realname = this.filename_map[name] || name;\n this.dialog.file_remove_ref(this.get_dialog_ref(realname));\n }\n write(stream, buffer, offset, length, position) {\n if (stream.name === \"storyfile\") throw new Error(\"EmglkenFS.write: cannot write to storyfile\");\n if (this.streaming) {\n stream.fstream.fseek(position, $02f1d47ba060901a$var$SEEK_SET);\n const buf = stream.fstream.BufferClass.from(buffer).subarray(offset, offset + length);\n return stream.fstream.fwrite(buf, length);\n } else {\n position = position || stream.position;\n const end_of_write = length + position;\n if (end_of_write > stream.data.length) {\n const old_data = stream.data;\n stream.data = new Uint8Array(end_of_write);\n stream.data.set(old_data);\n }\n stream.data.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n}\n\n\nconst $7c4ebf67e8338ec8$var$base_options = {\n arguments: [\n \"storyfile\"\n ]\n};\nclass $7c4ebf67e8338ec8$export$2e2bcd8739ae039 {\n // Store the data and options\n init(data, options) {\n this.data = data;\n this.options = Object.assign({}, $7c4ebf67e8338ec8$var$base_options, this.default_options(), options);\n }\n // Start GlkOte and the vmcore\n async start() {\n const encoder = new TextEncoder();\n let buffer = \"\";\n const Module = {\n arguments: this.options.show_help ? [\n \"-help\"\n ] : this.options.arguments,\n emglken_stdin_buffers: [],\n emglken_stdin_ready () {},\n // Fake locateFile so that Lectrote doesn't get tripped up on import.meta.url not being handled in CJS properly\n locateFile () {},\n print: (data)=>{\n if (buffer === \"\" && data !== \"\" && !data.startsWith(\"{\")) console.log(data);\n else {\n buffer += data;\n if (data.endsWith(\"}\")) {\n let obj;\n try {\n obj = JSON.parse(buffer);\n } catch (e) {}\n if (obj) {\n buffer = \"\";\n // Store the usage of a fileref prompt request\n if (obj.specialinput && obj.specialinput.type === \"fileref_prompt\") this.last_fr_usage = obj.specialinput.filetype;\n this.options.GlkOte.update(obj);\n }\n }\n }\n },\n preRun: ()=>{\n const FS = Module.FS;\n this.EFS = new (0, $02f1d47ba060901a$export$2e2bcd8739ae039)(this);\n FS.mkdir(\"/emglken\");\n FS.mount(this.EFS, {}, \"/emglken\");\n FS.chdir(\"/emglken\");\n },\n wasmBinary: this.options.wasmBinary\n };\n this.Module = Module;\n this.options.accept = (data)=>{\n if (data.type === \"specialresponse\" && data.response === \"fileref_prompt\" && data.value) {\n // electrofs.js returns a full path, so register it with EmglkenFS, and return a fake filename\n if (this.EFS.streaming) data.value = this.EFS.register_filename(data.value.filename, this.last_fr_usage);\n else data.value = data.value.filename;\n }\n const json_data = JSON.stringify(data);\n const buffer = encoder.encode(json_data);\n Module.emglken_stdin_buffers.push(buffer);\n Module.emglken_stdin_ready();\n };\n await this.options.vmcore(Module);\n this.options.GlkOte.init(this.options);\n }\n}\n\n\nvar $15b39ab17ec5a236$exports = {};\n\n\n$15b39ab17ec5a236$exports = (parcelRequire(\"6kBsm\")).getBundleURL(\"ejVIo\") + (parcelRequire(\"n9Yfb\")).resolve(\"5EF4K\");\n\n\nvar $1c3c240882313db4$var$Module = (()=>{\n var _scriptDir = \"file:///node_modules/emglken/build/bocfel-core.js\";\n return function(Module = {}) {\n var Module = typeof Module != \"undefined\" ? Module : {};\n var readyPromiseResolve, readyPromiseReject;\n Module[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n });\n var moduleOverrides = Object.assign({}, Module);\n var arguments_ = [];\n var thisProgram = \"./this.program\";\n var quit_ = (status, toThrow)=>{\n throw toThrow;\n };\n var ENVIRONMENT_IS_WEB = true;\n var ENVIRONMENT_IS_WORKER = false;\n var scriptDirectory = \"\";\n function locateFile(path) {\n if (Module[\"locateFile\"]) return Module[\"locateFile\"](path, scriptDirectory);\n return scriptDirectory + path;\n }\n var read_, readAsync, readBinary, setWindowTitle;\n if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) scriptDirectory = self.location.href;\n else if (typeof document != \"undefined\" && document.currentScript) scriptDirectory = document.currentScript.src;\n if (_scriptDir) scriptDirectory = _scriptDir;\n if (scriptDirectory.indexOf(\"blob:\") !== 0) scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n else scriptDirectory = \"\";\n read_ = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) readBinary = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n readAsync = (url, onload, onerror)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = ()=>{\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n setWindowTitle = (title)=>document.title = title;\n }\n var out = Module[\"print\"] || console.log.bind(console);\n var err = Module[\"printErr\"] || console.warn.bind(console);\n Object.assign(Module, moduleOverrides);\n moduleOverrides = null;\n if (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n if (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n if (Module[\"quit\"]) quit_ = Module[\"quit\"];\n var wasmBinary;\n if (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n var noExitRuntime = Module[\"noExitRuntime\"] || false;\n if (typeof WebAssembly != \"object\") abort(\"no native wasm support detected\");\n var wasmMemory;\n var ABORT = false;\n var EXITSTATUS;\n function assert(condition, text) {\n if (!condition) abort(text);\n }\n var UTF8Decoder = new TextDecoder(\"utf8\");\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while(heapOrArray[endPtr] && !(endPtr >= endIdx))++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for(var end = ptr; !(end >= maxPtr) && HEAPU8[end];)++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n }\n function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for(var i = 0; i < str.length; ++i){\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n }\n function stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n }\n function lengthBytesUTF8(str) {\n var len = 0;\n for(var i = 0; i < str.length; ++i){\n var c = str.charCodeAt(i);\n if (c <= 127) len++;\n else if (c <= 2047) len += 2;\n else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else len += 3;\n }\n return len;\n }\n var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n function updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n }\n var wasmTable;\n var __ATPRERUN__ = [];\n var __ATINIT__ = [];\n var __ATMAIN__ = [];\n var __ATEXIT__ = [];\n var __ATPOSTRUN__ = [];\n var runtimeInitialized = false;\n var runtimeExited = false;\n var runtimeKeepaliveCounter = 0;\n function keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n }\n function preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [\n Module[\"preRun\"]\n ];\n while(Module[\"preRun\"].length)addOnPreRun(Module[\"preRun\"].shift());\n }\n callRuntimeCallbacks(__ATPRERUN__);\n }\n function initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n }\n function preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n }\n function exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n }\n function postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [\n Module[\"postRun\"]\n ];\n while(Module[\"postRun\"].length)addOnPostRun(Module[\"postRun\"].shift());\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n }\n function addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n }\n function addOnInit(cb) {\n __ATINIT__.unshift(cb);\n }\n function addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n }\n var runDependencies = 0;\n var runDependencyWatcher = null;\n var dependenciesFulfilled = null;\n function getUniqueRunDependency(id) {\n return id;\n }\n function addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n }\n function removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n }\n function abort(what) {\n if (Module[\"onAbort\"]) Module[\"onAbort\"](what);\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n }\n var dataURIPrefix = \"data:application/octet-stream;base64,\";\n function isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n }\n var wasmBinaryFile;\n if (Module[\"locateFile\"]) {\n wasmBinaryFile = \"bocfel-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) wasmBinaryFile = locateFile(wasmBinaryFile);\n } else wasmBinaryFile = new URL($15b39ab17ec5a236$exports).href;\n function getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) return new Uint8Array(wasmBinary);\n if (readBinary) return readBinary(file);\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n }\n function getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n }\n function instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n }\n function instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n else return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n function createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"da\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"na\"];\n addOnInit(Module[\"asm\"][\"ea\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n }\n var tempDouble;\n var tempI64;\n function __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async ()=>{\n if (!Module.emglken_stdin_buffers.length) await new Promise((resolve)=>{\n Module.emglken_stdin_ready = resolve;\n });\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) HEAPU8.set(input, buffer);\n else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n }\n function ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n }\n function callRuntimeCallbacks(callbacks) {\n while(callbacks.length > 0)callbacks.shift()(Module);\n }\n var exceptionCaught = [];\n function exception_addRef(info) {\n info.add_ref();\n }\n var uncaughtExceptionCount = 0;\n function ___cxa_begin_catch(ptr) {\n var info = new ExceptionInfo(ptr);\n if (!info.get_caught()) {\n info.set_caught(true);\n uncaughtExceptionCount--;\n }\n info.set_rethrown(false);\n exceptionCaught.push(info);\n exception_addRef(info);\n return info.get_exception_ptr();\n }\n var exceptionLast = 0;\n function exception_decRef(info) {\n if (info.release_ref() && !info.get_rethrown()) {\n var destructor = info.get_destructor();\n if (destructor) ((a1)=>dynCall_ii.apply(null, [\n destructor,\n a1\n ]))(info.excPtr);\n ___cxa_free_exception(info.excPtr);\n }\n }\n function ___cxa_end_catch() {\n _setThrew(0);\n var info = exceptionCaught.pop();\n exception_decRef(info);\n exceptionLast = 0;\n }\n function ExceptionInfo(excPtr) {\n this.excPtr = excPtr;\n this.ptr = excPtr - 24;\n this.set_type = function(type) {\n HEAPU32[this.ptr + 4 >> 2] = type;\n };\n this.get_type = function() {\n return HEAPU32[this.ptr + 4 >> 2];\n };\n this.set_destructor = function(destructor) {\n HEAPU32[this.ptr + 8 >> 2] = destructor;\n };\n this.get_destructor = function() {\n return HEAPU32[this.ptr + 8 >> 2];\n };\n this.set_refcount = function(refcount) {\n HEAP32[this.ptr >> 2] = refcount;\n };\n this.set_caught = function(caught) {\n caught = caught ? 1 : 0;\n HEAP8[this.ptr + 12 >> 0] = caught;\n };\n this.get_caught = function() {\n return HEAP8[this.ptr + 12 >> 0] != 0;\n };\n this.set_rethrown = function(rethrown) {\n rethrown = rethrown ? 1 : 0;\n HEAP8[this.ptr + 13 >> 0] = rethrown;\n };\n this.get_rethrown = function() {\n return HEAP8[this.ptr + 13 >> 0] != 0;\n };\n this.init = function(type, destructor) {\n this.set_adjusted_ptr(0);\n this.set_type(type);\n this.set_destructor(destructor);\n this.set_refcount(0);\n this.set_caught(false);\n this.set_rethrown(false);\n };\n this.add_ref = function() {\n var value = HEAP32[this.ptr >> 2];\n HEAP32[this.ptr >> 2] = value + 1;\n };\n this.release_ref = function() {\n var prev = HEAP32[this.ptr >> 2];\n HEAP32[this.ptr >> 2] = prev - 1;\n return prev === 1;\n };\n this.set_adjusted_ptr = function(adjustedPtr) {\n HEAPU32[this.ptr + 16 >> 2] = adjustedPtr;\n };\n this.get_adjusted_ptr = function() {\n return HEAPU32[this.ptr + 16 >> 2];\n };\n this.get_exception_ptr = function() {\n var isPointer = ___cxa_is_pointer_type(this.get_type());\n if (isPointer) return HEAPU32[this.excPtr >> 2];\n var adjusted = this.get_adjusted_ptr();\n if (adjusted !== 0) return adjusted;\n return this.excPtr;\n };\n }\n function ___resumeException(ptr) {\n if (!exceptionLast) exceptionLast = ptr;\n throw ptr;\n }\n function ___cxa_find_matching_catch() {\n var thrown = exceptionLast;\n if (!thrown) {\n setTempRet0(0);\n return 0;\n }\n var info = new ExceptionInfo(thrown);\n info.set_adjusted_ptr(thrown);\n var thrownType = info.get_type();\n if (!thrownType) {\n setTempRet0(0);\n return thrown;\n }\n for(var i = 0; i < arguments.length; i++){\n var caughtType = arguments[i];\n if (caughtType === 0 || caughtType === thrownType) break;\n var adjusted_ptr_addr = info.ptr + 16;\n if (___cxa_can_catch(caughtType, thrownType, adjusted_ptr_addr)) {\n setTempRet0(caughtType);\n return thrown;\n }\n }\n setTempRet0(thrownType);\n return thrown;\n }\n var ___cxa_find_matching_catch_2 = ___cxa_find_matching_catch;\n var ___cxa_find_matching_catch_3 = ___cxa_find_matching_catch;\n var ___cxa_find_matching_catch_4 = ___cxa_find_matching_catch;\n var ___cxa_find_matching_catch_5 = ___cxa_find_matching_catch;\n var ___cxa_find_matching_catch_6 = ___cxa_find_matching_catch;\n var ___cxa_find_matching_catch_7 = ___cxa_find_matching_catch;\n function ___cxa_rethrow() {\n var info = exceptionCaught.pop();\n if (!info) abort(\"no exception to throw\");\n var ptr = info.excPtr;\n if (!info.get_rethrown()) {\n exceptionCaught.push(info);\n info.set_rethrown(true);\n info.set_caught(false);\n uncaughtExceptionCount++;\n }\n exceptionLast = ptr;\n throw ptr;\n }\n function ___cxa_throw(ptr, type, destructor) {\n var info = new ExceptionInfo(ptr);\n info.init(type, destructor);\n exceptionLast = ptr;\n uncaughtExceptionCount++;\n throw ptr;\n }\n function ___cxa_uncaught_exceptions() {\n return uncaughtExceptionCount;\n }\n var PATH = {\n isAbs: (path)=>path.charAt(0) === \"/\",\n splitPath: (filename)=>{\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot)=>{\n var up = 0;\n for(var i = parts.length - 1; i >= 0; i--){\n var last = parts[i];\n if (last === \".\") parts.splice(i, 1);\n else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) for(; up; up--)parts.unshift(\"..\");\n return parts;\n },\n normalize: (path)=>{\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter((p)=>!!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) path = \".\";\n if (path && trailingSlash) path += \"/\";\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: (path)=>{\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) return \".\";\n if (dir) dir = dir.substr(0, dir.length - 1);\n return root + dir;\n },\n basename: (path)=>{\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r)=>{\n return PATH.normalize(l + \"/\" + r);\n }\n };\n function getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return ()=>{\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return ()=>abort(\"randomDevice\");\n }\n var PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for(var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--){\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") throw new TypeError(\"Arguments to path.resolve must be strings\");\n else if (!path) return \"\";\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter((p)=>!!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to)=>{\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for(; start < arr.length; start++){\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for(; end >= 0; end--){\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for(var i = 0; i < length; i++)if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n var outputParts = [];\n for(var i = samePartsLength; i < fromParts.length; i++)outputParts.push(\"..\");\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n };\n function intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n }\n var TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) throw new FS.ErrnoError(43);\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) throw new FS.ErrnoError(60);\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) throw new FS.ErrnoError(60);\n try {\n for(var i = 0; i < length; i++)stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) result += \"\\n\";\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) result += \"\\n\";\n }\n if (!result) return null;\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n };\n function mmapAlloc(size) {\n abort();\n }\n var MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16895, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) throw new FS.ErrnoError(63);\n if (!MEMFS.ops_table) MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1048576;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) attr.size = 4096;\n else if (FS.isFile(node.mode)) attr.size = node.usedBytes;\n else if (FS.isLink(node.mode)) attr.size = node.link.length;\n else attr.size = 0;\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) node.mode = attr.mode;\n if (attr.timestamp !== undefined) node.timestamp = attr.timestamp;\n if (attr.size !== undefined) MEMFS.resizeFileStorage(node, attr.size);\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for(var i in new_node.contents)throw new FS.ErrnoError(55);\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for(var i in node.contents)throw new FS.ErrnoError(55);\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [\n \".\",\n \"..\"\n ];\n for(var key in node.contents){\n if (!node.contents.hasOwnProperty(key)) continue;\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 41471, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) throw new FS.ErrnoError(28);\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) buffer.set(contents.subarray(position, position + size), offset);\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) canOwn = false;\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position);\n else for(var i = 0; i < length; i++)node.contents[position + i] = buffer[offset + i];\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) position += stream.position;\n else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) position += stream.node.usedBytes;\n }\n if (position < 0) throw new FS.ErrnoError(28);\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) contents = contents.subarray(position, position + length);\n else contents = Array.prototype.slice.call(contents, position, position + length);\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n };\n function asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, (arrayBuffer)=>{\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, (event)=>{\n if (onerror) onerror();\n else throw 'Loading data file \"' + url + '\" failed.';\n });\n if (dep) addRunDependency(dep);\n }\n var FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {})=>{\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) throw new FS.ErrnoError(32);\n var parts = path.split(\"/\").filter((p)=>!!p);\n var current = FS.root;\n var current_path = \"/\";\n for(var i = 0; i < parts.length; i++){\n var islast = i === parts.length - 1;\n if (islast && opts.parent) break;\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) current = current.mounted.root;\n }\n if (!islast || opts.follow) {\n var count = 0;\n while(FS.isLink(current.mode)){\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) throw new FS.ErrnoError(32);\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: (node)=>{\n var path;\n while(true){\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name)=>{\n var hash = 0;\n for(var i = 0; i < name.length; i++)hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) FS.nameTable[hash] = node.name_next;\n else {\n var current = FS.nameTable[hash];\n while(current){\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name)=>{\n var errCode = FS.mayLookup(parent);\n if (errCode) throw new FS.ErrnoError(errCode, parent);\n var hash = FS.hashName(parent.id, name);\n for(var node = FS.nameTable[hash]; node; node = node.name_next){\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) return node;\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev)=>{\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: (node)=>{\n FS.hashRemoveNode(node);\n },\n isRoot: (node)=>{\n return node === node.parent;\n },\n isMountpoint: (node)=>{\n return !!node.mounted;\n },\n isFile: (mode)=>{\n return (mode & 61440) === 32768;\n },\n isDir: (mode)=>{\n return (mode & 61440) === 16384;\n },\n isLink: (mode)=>{\n return (mode & 61440) === 40960;\n },\n isChrdev: (mode)=>{\n return (mode & 61440) === 8192;\n },\n isBlkdev: (mode)=>{\n return (mode & 61440) === 24576;\n },\n isFIFO: (mode)=>{\n return (mode & 61440) === 4096;\n },\n isSocket: (mode)=>{\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: (str)=>{\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") throw new Error(\"Unknown file open mode: \" + str);\n return flags;\n },\n flagsToPermissionString: (flag)=>{\n var perms = [\n \"r\",\n \"w\",\n \"rw\"\n ][flag & 3];\n if (flag & 512) perms += \"w\";\n return perms;\n },\n nodePermissions: (node, perms)=>{\n if (FS.ignorePermissions) return 0;\n if (perms.includes(\"r\") && !(node.mode & 292)) return 2;\n else if (perms.includes(\"w\") && !(node.mode & 146)) return 2;\n else if (perms.includes(\"x\") && !(node.mode & 73)) return 2;\n return 0;\n },\n mayLookup: (dir)=>{\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name)=>{\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir)=>{\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) return errCode;\n if (isdir) {\n if (!FS.isDir(node.mode)) return 54;\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) return 10;\n } else {\n if (FS.isDir(node.mode)) return 31;\n }\n return 0;\n },\n mayOpen: (node, flags)=>{\n if (!node) return 44;\n if (FS.isLink(node.mode)) return 32;\n else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) return 31;\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS)=>{\n for(var fd = fd_start; fd <= fd_end; fd++){\n if (!FS.streams[fd]) return fd;\n }\n throw new FS.ErrnoError(33);\n },\n getStream: (fd)=>FS.streams[fd],\n createStream: (stream, fd_start, fd_end)=>{\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: (fd)=>{\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: (stream)=>{\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n },\n llseek: ()=>{\n throw new FS.ErrnoError(70);\n }\n },\n major: (dev)=>dev >> 8,\n minor: (dev)=>dev & 255,\n makedev: (ma, mi)=>ma << 8 | mi,\n registerDevice: (dev, ops)=>{\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: (dev)=>FS.devices[dev],\n getMounts: (mount)=>{\n var mounts = [];\n var check = [\n mount\n ];\n while(check.length){\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback)=>{\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) doCallback(null);\n }\n mounts.forEach((mount)=>{\n if (!mount.type.syncfs) return done(null);\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint)=>{\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) throw new FS.ErrnoError(10);\n else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n if (!FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) FS.root = mountRoot;\n else if (node) {\n node.mounted = mount;\n if (node.mount) node.mount.mounts.push(mount);\n }\n return mountRoot;\n },\n unmount: (mountpoint)=>{\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) throw new FS.ErrnoError(28);\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach((hash)=>{\n var current = FS.nameTable[hash];\n while(current){\n var next = current.name_next;\n if (mounts.includes(current.mount)) FS.destroyNode(current);\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name)=>{\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") throw new FS.ErrnoError(28);\n var errCode = FS.mayCreate(parent, name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.mknod) throw new FS.ErrnoError(63);\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode)=>{\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode)=>{\n mode = mode !== undefined ? mode : 511;\n mode &= 1023;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode)=>{\n var dirs = path.split(\"/\");\n var d = \"\";\n for(var i = 0; i < dirs.length; ++i){\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev)=>{\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath)=>{\n if (!PATH_FS.resolve(oldpath)) throw new FS.ErrnoError(44);\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.symlink) throw new FS.ErrnoError(63);\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path)=>{\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) throw new FS.ErrnoError(75);\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(28);\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(55);\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) return;\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) throw new FS.ErrnoError(errCode);\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!old_dir.node_ops.rename) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) throw new FS.ErrnoError(10);\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally{\n FS.hashAddNode(old_node);\n }\n },\n rmdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.rmdir) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) throw new FS.ErrnoError(54);\n return node.node_ops.readdir(node);\n },\n unlink: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.unlink) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: (path)=>{\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) throw new FS.ErrnoError(44);\n if (!link.node_ops.readlink) throw new FS.ErrnoError(28);\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow)=>{\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) throw new FS.ErrnoError(44);\n if (!node.node_ops.getattr) throw new FS.ErrnoError(63);\n return node.node_ops.getattr(node);\n },\n lstat: (path)=>{\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & -4096,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode)=>{\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid)=>{\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len)=>{\n if (len < 0) throw new FS.ErrnoError(28);\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n if (FS.isDir(node.mode)) throw new FS.ErrnoError(31);\n if (!FS.isFile(node.mode)) throw new FS.ErrnoError(28);\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(28);\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode)=>{\n if (path === \"\") throw new FS.ErrnoError(44);\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) mode = mode & 4095 | 32768;\n else mode = 0;\n var node;\n if (typeof path == \"object\") node = path;\n else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) throw new FS.ErrnoError(20);\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) throw new FS.ErrnoError(44);\n if (FS.isChrdev(node.mode)) flags &= -513;\n if (flags & 65536 && !FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n if (flags & 512 && !created) FS.truncate(node, 0);\n flags &= -131713;\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) FS.readFiles[path] = 1;\n }\n return stream;\n },\n close: (stream)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) stream.stream_ops.close(stream);\n } catch (e) {\n throw e;\n } finally{\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: (stream)=>{\n return stream.fd === null;\n },\n llseek: (stream, offset, whence)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (!stream.seekable || !stream.stream_ops.llseek) throw new FS.ErrnoError(70);\n if (whence != 0 && whence != 1 && whence != 2) throw new FS.ErrnoError(28);\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.read) throw new FS.ErrnoError(28);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.write) throw new FS.ErrnoError(28);\n if (stream.seekable && stream.flags & 1024) FS.llseek(stream, 0, 2);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (offset < 0 || length <= 0) throw new FS.ErrnoError(28);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) throw new FS.ErrnoError(43);\n if (!stream.stream_ops.allocate) throw new FS.ErrnoError(138);\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags)=>{\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) throw new FS.ErrnoError(2);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(2);\n if (!stream.stream_ops.mmap) throw new FS.ErrnoError(43);\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags)=>{\n if (!stream.stream_ops.msync) return 0;\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: (stream)=>0,\n ioctl: (stream, cmd, arg)=>{\n if (!stream.stream_ops.ioctl) throw new FS.ErrnoError(59);\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {})=>{\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") ret = UTF8ArrayToString(buf, 0);\n else if (opts.encoding === \"binary\") ret = buf;\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {})=>{\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n else throw new Error(\"Unsupported data type\");\n FS.close(stream);\n },\n cwd: ()=>FS.currentPath,\n chdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) throw new FS.ErrnoError(44);\n if (!FS.isDir(lookup.node.mode)) throw new FS.ErrnoError(54);\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) throw new FS.ErrnoError(errCode);\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: ()=>{\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: ()=>{\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: ()=>0,\n write: (stream, buffer, offset, length, pos)=>length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: ()=>{\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: ()=>{\n var node = FS.createNode(proc_self, \"fd\", 16895, 73);\n node.node_ops = {\n lookup: (parent, name)=>{\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: ()=>stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: ()=>{\n if (Module[\"stdin\"]) FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n if (Module[\"stdout\"]) FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n if (Module[\"stderr\"]) FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n else FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: ()=>{\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [\n 44\n ].forEach((code)=>{\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: ()=>{\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error)=>{\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: ()=>{\n FS.init.initialized = false;\n _fflush(0);\n for(var i = 0; i < FS.streams.length; i++){\n var stream = FS.streams[i];\n if (!stream) continue;\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite)=>{\n var mode = 0;\n if (canRead) mode |= 365;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink)=>{\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) return null;\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink)=>{\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite)=>{\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while(parts.length){\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn)=>{\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for(var i = 0, len = data.length; i < len; ++i)arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: (stream)=>{\n stream.seekable = false;\n },\n close: (stream)=>{\n if (output && output.buffer && output.buffer.length) output(10);\n },\n read: (stream, buffer, offset, length, pos)=>{\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos)=>{\n for(var i = 0; i < length; i++)try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: (obj)=>{\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n 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.\");\n else if (read_) try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n else throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n },\n createLazyFile: (parent, name, url, canRead, canWrite)=>{\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) return undefined;\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1048576;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to)=>{\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) return new Uint8Array(xhr.response || []);\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter((chunkNum)=>{\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") lazyArray.chunks[chunkNum] = doXHR(start, end);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else var properties = {\n isDevice: false,\n url: url\n };\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) node.contents = properties.contents;\n else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach((key)=>{\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents.get(position + i);\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position)=>{\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags)=>{\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish)=>{\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, ()=>{\n if (onerror) onerror();\n removeRunDependency(dep);\n })) return;\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") asyncLoad(url, (byteArray)=>processData(byteArray), onerror);\n else processData(url);\n },\n indexedDB: ()=>{\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: ()=>{\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = ()=>{\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = ()=>{\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n try {\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var getRequest = files.get(path);\n getRequest.onsuccess = ()=>{\n if (FS.analyzePath(path).exists) FS.unlink(path);\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n };\n var SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) return path;\n var dir;\n if (dirfd === -100) dir = FS.cwd();\n else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) throw new FS.ErrnoError(44);\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) return -54;\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n tempI64 = [\n stat.size >>> 0,\n (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)\n ], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [\n Math.floor(atime / 1e3) >>> 0,\n (tempDouble = Math.floor(atime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(mtime / 1e3) >>> 0,\n (tempDouble = Math.floor(mtime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(ctime / 1e3) >>> 0,\n (tempDouble = Math.floor(ctime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n tempI64 = [\n stat.ino >>> 0,\n (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)\n ], HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n if (flags & 2) return 0;\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n };\n function ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & -8) return -28;\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) return -44;\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) return -2;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n }\n function ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(cmd){\n case 0:\n var arg = SYSCALLS.get();\n if (arg < 0) return -28;\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n case 1:\n case 2:\n return 0;\n case 3:\n return stream.flags;\n case 4:\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n case 5:\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n case 6:\n case 7:\n return 0;\n case 16:\n case 8:\n return -28;\n case 9:\n setErrNo(28);\n return -1;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(op){\n case 21509:\n case 21505:\n if (!stream.tty) return -59;\n return 0;\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n if (!stream.tty) return -59;\n return 0;\n case 21519:\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n case 21520:\n if (!stream.tty) return -59;\n return -28;\n case 21531:\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n case 21523:\n if (!stream.tty) return -59;\n return 0;\n case 21524:\n if (!stream.tty) return -59;\n return 0;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n var nowIsMonotonic = true;\n function __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n }\n function readI53FromI64(ptr) {\n return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296;\n }\n function __isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n }\n var __MONTH_DAYS_LEAP_CUMULATIVE = [\n 0,\n 31,\n 60,\n 91,\n 121,\n 152,\n 182,\n 213,\n 244,\n 274,\n 305,\n 335\n ];\n var __MONTH_DAYS_REGULAR_CUMULATIVE = [\n 0,\n 31,\n 59,\n 90,\n 120,\n 151,\n 181,\n 212,\n 243,\n 273,\n 304,\n 334\n ];\n function __yday_from_date(date) {\n var isLeapYear = __isLeapYear(date.getFullYear());\n var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday;\n }\n function __localtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n HEAP32[tmPtr + 32 >> 2] = dst;\n }\n function allocateUTF8(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = _malloc(size);\n if (ret) stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function __tzset_js(timezone, daylight, tzname) {\n var currentYear = new Date().getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;\n HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);\n function extractZone(date) {\n var match = date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return match ? match[1] : \"GMT\";\n }\n var winterName = extractZone(winter);\n var summerName = extractZone(summer);\n var winterNamePtr = allocateUTF8(winterName);\n var summerNamePtr = allocateUTF8(summerName);\n if (summerOffset < winterOffset) {\n HEAPU32[tzname >> 2] = winterNamePtr;\n HEAPU32[tzname + 4 >> 2] = summerNamePtr;\n } else {\n HEAPU32[tzname >> 2] = summerNamePtr;\n HEAPU32[tzname + 4 >> 2] = winterNamePtr;\n }\n }\n function _abort() {\n abort(\"\");\n }\n function _emscripten_date_now() {\n return Date.now();\n }\n var _emscripten_get_now;\n _emscripten_get_now = ()=>performance.now();\n function _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n }\n function getHeapMax() {\n return 2147483648;\n }\n function emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n }\n function _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) return false;\n let alignUp = (x, multiple)=>x + (multiple - x % multiple) % multiple;\n for(var cutDown = 1; cutDown <= 4; cutDown *= 2){\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) return true;\n }\n return false;\n }\n var ENV = {};\n function getExecutableName() {\n return thisProgram || \"./this.program\";\n }\n function getEnvStrings() {\n if (!getEnvStrings.strings) {\n var lang = (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\";\n var env = {\n \"USER\": \"web_user\",\n \"LOGNAME\": \"web_user\",\n \"PATH\": \"/\",\n \"PWD\": \"/\",\n \"HOME\": \"/home/web_user\",\n \"LANG\": lang,\n \"_\": getExecutableName()\n };\n for(var x in ENV)if (ENV[x] === undefined) delete env[x];\n else env[x] = ENV[x];\n var strings = [];\n for(var x in env)strings.push(x + \"=\" + env[x]);\n getEnvStrings.strings = strings;\n }\n return getEnvStrings.strings;\n }\n function writeAsciiToMemory(str, buffer, dontAddNull) {\n for(var i = 0; i < str.length; ++i)HEAP8[buffer++ >> 0] = str.charCodeAt(i);\n if (!dontAddNull) HEAP8[buffer >> 0] = 0;\n }\n function _environ_get(__environ, environ_buf) {\n var bufSize = 0;\n getEnvStrings().forEach(function(string, i) {\n var ptr = environ_buf + bufSize;\n HEAPU32[__environ + i * 4 >> 2] = ptr;\n writeAsciiToMemory(string, ptr);\n bufSize += string.length + 1;\n });\n return 0;\n }\n function _environ_sizes_get(penviron_count, penviron_buf_size) {\n var strings = getEnvStrings();\n HEAPU32[penviron_count >> 2] = strings.length;\n var bufSize = 0;\n strings.forEach(function(string) {\n bufSize += string.length + 1;\n });\n HEAPU32[penviron_buf_size >> 2] = bufSize;\n return 0;\n }\n function _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n }\n function exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) exitRuntime();\n _proc_exit(status);\n }\n var _exit = exitJS;\n function _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n }\n function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n tempI64 = [\n stream.position >>> 0,\n (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)\n ], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function _llvm_eh_typeid_for(type) {\n return type;\n }\n function __arraySum(array, index) {\n var sum = 0;\n for(var i = 0; i <= index; sum += array[i++]);\n return sum;\n }\n var __MONTH_DAYS_LEAP = [\n 31,\n 29,\n 31,\n 30,\n 31,\n 30,\n 31,\n 31,\n 30,\n 31,\n 30,\n 31\n ];\n var __MONTH_DAYS_REGULAR = [\n 31,\n 28,\n 31,\n 30,\n 31,\n 30,\n 31,\n 31,\n 30,\n 31,\n 30,\n 31\n ];\n function __addDays(date, days) {\n var newDate = new Date(date.getTime());\n while(days > 0){\n var leap = __isLeapYear(newDate.getFullYear());\n var currentMonth = newDate.getMonth();\n var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];\n if (days > daysInCurrentMonth - newDate.getDate()) {\n days -= daysInCurrentMonth - newDate.getDate() + 1;\n newDate.setDate(1);\n if (currentMonth < 11) newDate.setMonth(currentMonth + 1);\n else {\n newDate.setMonth(0);\n newDate.setFullYear(newDate.getFullYear() + 1);\n }\n } else {\n newDate.setDate(newDate.getDate() + days);\n return newDate;\n }\n }\n return newDate;\n }\n function writeArrayToMemory(array, buffer) {\n HEAP8.set(array, buffer);\n }\n function _strftime(s, maxsize, format, tm) {\n var tm_zone = HEAP32[tm + 40 >> 2];\n var date = {\n tm_sec: HEAP32[tm >> 2],\n tm_min: HEAP32[tm + 4 >> 2],\n tm_hour: HEAP32[tm + 8 >> 2],\n tm_mday: HEAP32[tm + 12 >> 2],\n tm_mon: HEAP32[tm + 16 >> 2],\n tm_year: HEAP32[tm + 20 >> 2],\n tm_wday: HEAP32[tm + 24 >> 2],\n tm_yday: HEAP32[tm + 28 >> 2],\n tm_isdst: HEAP32[tm + 32 >> 2],\n tm_gmtoff: HEAP32[tm + 36 >> 2],\n tm_zone: tm_zone ? UTF8ToString(tm_zone) : \"\"\n };\n var pattern = UTF8ToString(format);\n var EXPANSION_RULES_1 = {\n \"%c\": \"%a %b %d %H:%M:%S %Y\",\n \"%D\": \"%m/%d/%y\",\n \"%F\": \"%Y-%m-%d\",\n \"%h\": \"%b\",\n \"%r\": \"%I:%M:%S %p\",\n \"%R\": \"%H:%M\",\n \"%T\": \"%H:%M:%S\",\n \"%x\": \"%m/%d/%y\",\n \"%X\": \"%H:%M:%S\",\n \"%Ec\": \"%c\",\n \"%EC\": \"%C\",\n \"%Ex\": \"%m/%d/%y\",\n \"%EX\": \"%H:%M:%S\",\n \"%Ey\": \"%y\",\n \"%EY\": \"%Y\",\n \"%Od\": \"%d\",\n \"%Oe\": \"%e\",\n \"%OH\": \"%H\",\n \"%OI\": \"%I\",\n \"%Om\": \"%m\",\n \"%OM\": \"%M\",\n \"%OS\": \"%S\",\n \"%Ou\": \"%u\",\n \"%OU\": \"%U\",\n \"%OV\": \"%V\",\n \"%Ow\": \"%w\",\n \"%OW\": \"%W\",\n \"%Oy\": \"%y\"\n };\n for(var rule in EXPANSION_RULES_1)pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_1[rule]);\n var WEEKDAYS = [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n ];\n var MONTHS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ];\n function leadingSomething(value, digits, character) {\n var str = typeof value == \"number\" ? value.toString() : value || \"\";\n while(str.length < digits)str = character[0] + str;\n return str;\n }\n function leadingNulls(value, digits) {\n return leadingSomething(value, digits, \"0\");\n }\n function compareByDay(date1, date2) {\n function sgn(value) {\n return value < 0 ? -1 : value > 0 ? 1 : 0;\n }\n var compare;\n if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {\n if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) compare = sgn(date1.getDate() - date2.getDate());\n }\n return compare;\n }\n function getFirstWeekStartDate(janFourth) {\n switch(janFourth.getDay()){\n case 0:\n return new Date(janFourth.getFullYear() - 1, 11, 29);\n case 1:\n return janFourth;\n case 2:\n return new Date(janFourth.getFullYear(), 0, 3);\n case 3:\n return new Date(janFourth.getFullYear(), 0, 2);\n case 4:\n return new Date(janFourth.getFullYear(), 0, 1);\n case 5:\n return new Date(janFourth.getFullYear() - 1, 11, 31);\n case 6:\n return new Date(janFourth.getFullYear() - 1, 11, 30);\n }\n }\n function getWeekBasedYear(date) {\n var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);\n var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);\n var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);\n var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);\n var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);\n if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {\n if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) return thisDate.getFullYear() + 1;\n return thisDate.getFullYear();\n }\n return thisDate.getFullYear() - 1;\n }\n var EXPANSION_RULES_2 = {\n \"%a\": function(date) {\n return WEEKDAYS[date.tm_wday].substring(0, 3);\n },\n \"%A\": function(date) {\n return WEEKDAYS[date.tm_wday];\n },\n \"%b\": function(date) {\n return MONTHS[date.tm_mon].substring(0, 3);\n },\n \"%B\": function(date) {\n return MONTHS[date.tm_mon];\n },\n \"%C\": function(date) {\n var year = date.tm_year + 1900;\n return leadingNulls(year / 100 | 0, 2);\n },\n \"%d\": function(date) {\n return leadingNulls(date.tm_mday, 2);\n },\n \"%e\": function(date) {\n return leadingSomething(date.tm_mday, 2, \" \");\n },\n \"%g\": function(date) {\n return getWeekBasedYear(date).toString().substring(2);\n },\n \"%G\": function(date) {\n return getWeekBasedYear(date);\n },\n \"%H\": function(date) {\n return leadingNulls(date.tm_hour, 2);\n },\n \"%I\": function(date) {\n var twelveHour = date.tm_hour;\n if (twelveHour == 0) twelveHour = 12;\n else if (twelveHour > 12) twelveHour -= 12;\n return leadingNulls(twelveHour, 2);\n },\n \"%j\": function(date) {\n return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);\n },\n \"%m\": function(date) {\n return leadingNulls(date.tm_mon + 1, 2);\n },\n \"%M\": function(date) {\n return leadingNulls(date.tm_min, 2);\n },\n \"%n\": function() {\n return \"\\n\";\n },\n \"%p\": function(date) {\n if (date.tm_hour >= 0 && date.tm_hour < 12) return \"AM\";\n return \"PM\";\n },\n \"%S\": function(date) {\n return leadingNulls(date.tm_sec, 2);\n },\n \"%t\": function() {\n return \"\t\";\n },\n \"%u\": function(date) {\n return date.tm_wday || 7;\n },\n \"%U\": function(date) {\n var days = date.tm_yday + 7 - date.tm_wday;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%V\": function(date) {\n var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7) / 7);\n if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) val++;\n if (!val) {\n val = 52;\n var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;\n if (dec31 == 4 || dec31 == 5 && __isLeapYear(date.tm_year % 400 - 1)) val++;\n } else if (val == 53) {\n var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;\n if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) val = 1;\n }\n return leadingNulls(val, 2);\n },\n \"%w\": function(date) {\n return date.tm_wday;\n },\n \"%W\": function(date) {\n var days = date.tm_yday + 7 - (date.tm_wday + 6) % 7;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%y\": function(date) {\n return (date.tm_year + 1900).toString().substring(2);\n },\n \"%Y\": function(date) {\n return date.tm_year + 1900;\n },\n \"%z\": function(date) {\n var off = date.tm_gmtoff;\n var ahead = off >= 0;\n off = Math.abs(off) / 60;\n off = off / 60 * 100 + off % 60;\n return (ahead ? \"+\" : \"-\") + String(\"0000\" + off).slice(-4);\n },\n \"%Z\": function(date) {\n return date.tm_zone;\n },\n \"%%\": function() {\n return \"%\";\n }\n };\n pattern = pattern.replace(/%%/g, \"\\x00\\x00\");\n for(var rule in EXPANSION_RULES_2)if (pattern.includes(rule)) pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_2[rule](date));\n pattern = pattern.replace(/\\0\\0/g, \"%\");\n var bytes = intArrayFromString(pattern, false);\n if (bytes.length > maxsize) return 0;\n writeArrayToMemory(bytes, s);\n return bytes.length - 1;\n }\n function _strftime_l(s, maxsize, format, tm, loc) {\n return _strftime(s, maxsize, format, tm);\n }\n function handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") return EXITSTATUS;\n quit_(1, e);\n }\n function allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n }\n function maybeExit() {\n if (!keepRuntimeAlive()) try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n function callUserCallback(func) {\n if (runtimeExited || ABORT) return;\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n }\n function runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n }\n function runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n }\n var Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [\n \"invoke_*\",\n \"emscripten_sleep\",\n \"emscripten_wget\",\n \"emscripten_wget_data\",\n \"emscripten_idb_load\",\n \"emscripten_idb_store\",\n \"emscripten_idb_delete\",\n \"emscripten_idb_exists\",\n \"emscripten_idb_load_blob\",\n \"emscripten_idb_store_blob\",\n \"SDL_Delay\",\n \"emscripten_scan_registers\",\n \"emscripten_lazy_load_code\",\n \"emscripten_fiber_swap\",\n \"__load_secondary_module\",\n \"fd_sync\",\n \"__wasi_fd_sync\",\n \"_emval_await\",\n \"_dlopen_js\",\n \"__asyncjs__*\"\n ];\n for(var x in imports)(function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n })(x);\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for(var x in exports)(function(x) {\n var original = exports[x];\n if (typeof original == \"function\") ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally{\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n else ret[x] = original;\n })(x);\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") Fibers.trampoline();\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject)=>{\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0)=>{\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) return;\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.resume();\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) throw asyncWasmReturnValue;\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.pause();\n runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach((func)=>callUserCallback(func));\n } else abort(\"invalid state: \" + Asyncify.state);\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep((wakeUp)=>{\n startAsync().then(wakeUp);\n });\n }\n };\n function AsciiToString(ptr) {\n var str = \"\";\n while(true){\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n }\n var FSNode = function(parent, name, mode, rdev) {\n if (!parent) parent = this;\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n };\n var readMode = 365;\n var writeMode = 146;\n Object.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n });\n FS.FSNode = FSNode;\n FS.staticInit();\n var wasmImports = {\n \"S\": __asyncjs__emglken_fill_stdin_buffer,\n \"k\": ___cxa_begin_catch,\n \"n\": ___cxa_end_catch,\n \"a\": ___cxa_find_matching_catch_2,\n \"d\": ___cxa_find_matching_catch_3,\n \"m\": ___cxa_find_matching_catch_4,\n \"s\": ___cxa_find_matching_catch_5,\n \"x\": ___cxa_find_matching_catch_6,\n \"ca\": ___cxa_find_matching_catch_7,\n \"K\": ___cxa_rethrow,\n \"o\": ___cxa_throw,\n \"ba\": ___cxa_uncaught_exceptions,\n \"g\": ___resumeException,\n \"aa\": ___syscall_faccessat,\n \"J\": ___syscall_fcntl64,\n \"$\": ___syscall_getcwd,\n \"_\": ___syscall_ioctl,\n \"Z\": ___syscall_openat,\n \"V\": __emscripten_get_now_is_monotonic,\n \"U\": __localtime_js,\n \"T\": __tzset_js,\n \"D\": _abort,\n \"B\": _emscripten_date_now,\n \"R\": _emscripten_memcpy_big,\n \"Q\": _emscripten_resize_heap,\n \"Y\": _environ_get,\n \"X\": _environ_sizes_get,\n \"C\": _exit,\n \"I\": _fd_close,\n \"W\": _fd_read,\n \"P\": _fd_seek,\n \"H\": _fd_write,\n \"G\": invoke_diii,\n \"F\": invoke_fiii,\n \"q\": invoke_i,\n \"b\": invoke_ii,\n \"c\": invoke_iii,\n \"e\": invoke_iiii,\n \"p\": invoke_iiiii,\n \"u\": invoke_iiiiii,\n \"w\": invoke_iiiiiii,\n \"E\": invoke_iiiiiiii,\n \"A\": invoke_iiiiiiiiiiii,\n \"O\": invoke_ji,\n \"N\": invoke_jiiii,\n \"h\": invoke_v,\n \"i\": invoke_vi,\n \"f\": invoke_vii,\n \"j\": invoke_viii,\n \"r\": invoke_viiii,\n \"t\": invoke_viiiii,\n \"v\": invoke_viiiiiii,\n \"y\": invoke_viiiiiiiiii,\n \"z\": invoke_viiiiiiiiiiiiiii,\n \"l\": _llvm_eh_typeid_for,\n \"M\": _strftime,\n \"L\": _strftime_l\n };\n var asm = createWasm();\n var ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"ea\"]).apply(null, arguments);\n };\n var ___cxa_free_exception = function() {\n return (___cxa_free_exception = Module[\"asm\"][\"fa\"]).apply(null, arguments);\n };\n var _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"ga\"]).apply(null, arguments);\n };\n var ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"ha\"]).apply(null, arguments);\n };\n var _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"ia\"]).apply(null, arguments);\n };\n var _malloc = function() {\n return (_malloc = Module[\"asm\"][\"ja\"]).apply(null, arguments);\n };\n var _free = function() {\n return (_free = Module[\"asm\"][\"ka\"]).apply(null, arguments);\n };\n var _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"la\"]).apply(null, arguments);\n };\n var ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"ma\"]).apply(null, arguments);\n };\n var _setThrew = function() {\n return (_setThrew = Module[\"asm\"][\"oa\"]).apply(null, arguments);\n };\n var setTempRet0 = function() {\n return (setTempRet0 = Module[\"asm\"][\"pa\"]).apply(null, arguments);\n };\n var _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n };\n var stackSave = function() {\n return (stackSave = Module[\"asm\"][\"qa\"]).apply(null, arguments);\n };\n var stackRestore = function() {\n return (stackRestore = Module[\"asm\"][\"ra\"]).apply(null, arguments);\n };\n var stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"sa\"]).apply(null, arguments);\n };\n var ___cxa_can_catch = function() {\n return (___cxa_can_catch = Module[\"asm\"][\"ta\"]).apply(null, arguments);\n };\n var ___cxa_is_pointer_type = function() {\n return (___cxa_is_pointer_type = Module[\"asm\"][\"ua\"]).apply(null, arguments);\n };\n var dynCall_ii = Module[\"dynCall_ii\"] = function() {\n return (dynCall_ii = Module[\"dynCall_ii\"] = Module[\"asm\"][\"va\"]).apply(null, arguments);\n };\n var dynCall_iiii = Module[\"dynCall_iiii\"] = function() {\n return (dynCall_iiii = Module[\"dynCall_iiii\"] = Module[\"asm\"][\"wa\"]).apply(null, arguments);\n };\n var dynCall_viii = Module[\"dynCall_viii\"] = function() {\n return (dynCall_viii = Module[\"dynCall_viii\"] = Module[\"asm\"][\"xa\"]).apply(null, arguments);\n };\n var dynCall_v = Module[\"dynCall_v\"] = function() {\n return (dynCall_v = Module[\"dynCall_v\"] = Module[\"asm\"][\"ya\"]).apply(null, arguments);\n };\n var dynCall_vi = Module[\"dynCall_vi\"] = function() {\n return (dynCall_vi = Module[\"dynCall_vi\"] = Module[\"asm\"][\"za\"]).apply(null, arguments);\n };\n var dynCall_iii = Module[\"dynCall_iii\"] = function() {\n return (dynCall_iii = Module[\"dynCall_iii\"] = Module[\"asm\"][\"Aa\"]).apply(null, arguments);\n };\n var dynCall_vii = Module[\"dynCall_vii\"] = function() {\n return (dynCall_vii = Module[\"dynCall_vii\"] = Module[\"asm\"][\"Ba\"]).apply(null, arguments);\n };\n var dynCall_iiiiii = Module[\"dynCall_iiiiii\"] = function() {\n return (dynCall_iiiiii = Module[\"dynCall_iiiiii\"] = Module[\"asm\"][\"Ca\"]).apply(null, arguments);\n };\n var dynCall_iiiii = Module[\"dynCall_iiiii\"] = function() {\n return (dynCall_iiiii = Module[\"dynCall_iiiii\"] = Module[\"asm\"][\"Da\"]).apply(null, arguments);\n };\n var dynCall_i = Module[\"dynCall_i\"] = function() {\n return (dynCall_i = Module[\"dynCall_i\"] = Module[\"asm\"][\"Ea\"]).apply(null, arguments);\n };\n var dynCall_iiiiiii = Module[\"dynCall_iiiiiii\"] = function() {\n return (dynCall_iiiiiii = Module[\"dynCall_iiiiiii\"] = Module[\"asm\"][\"Fa\"]).apply(null, arguments);\n };\n var dynCall_viiii = Module[\"dynCall_viiii\"] = function() {\n return (dynCall_viiii = Module[\"dynCall_viiii\"] = Module[\"asm\"][\"Ga\"]).apply(null, arguments);\n };\n var dynCall_ji = Module[\"dynCall_ji\"] = function() {\n return (dynCall_ji = Module[\"dynCall_ji\"] = Module[\"asm\"][\"Ha\"]).apply(null, arguments);\n };\n var dynCall_viiiii = Module[\"dynCall_viiiii\"] = function() {\n return (dynCall_viiiii = Module[\"dynCall_viiiii\"] = Module[\"asm\"][\"Ia\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiii = Module[\"dynCall_iiiiiiii\"] = function() {\n return (dynCall_iiiiiiii = Module[\"dynCall_iiiiiiii\"] = Module[\"asm\"][\"Ja\"]).apply(null, arguments);\n };\n var dynCall_jiiii = Module[\"dynCall_jiiii\"] = function() {\n return (dynCall_jiiii = Module[\"dynCall_jiiii\"] = Module[\"asm\"][\"Ka\"]).apply(null, arguments);\n };\n var dynCall_fiii = Module[\"dynCall_fiii\"] = function() {\n return (dynCall_fiii = Module[\"dynCall_fiii\"] = Module[\"asm\"][\"La\"]).apply(null, arguments);\n };\n var dynCall_diii = Module[\"dynCall_diii\"] = function() {\n return (dynCall_diii = Module[\"dynCall_diii\"] = Module[\"asm\"][\"Ma\"]).apply(null, arguments);\n };\n var dynCall_viiiiiii = Module[\"dynCall_viiiiiii\"] = function() {\n return (dynCall_viiiiiii = Module[\"dynCall_viiiiiii\"] = Module[\"asm\"][\"Na\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiii\"] = Module[\"asm\"][\"Oa\"]).apply(null, arguments);\n };\n var dynCall_viiiiiiiiii = Module[\"dynCall_viiiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiiii = Module[\"dynCall_viiiiiiiiii\"] = Module[\"asm\"][\"Pa\"]).apply(null, arguments);\n };\n var dynCall_viiiiiiiiiiiiiii = Module[\"dynCall_viiiiiiiiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiiiiiiiii = Module[\"dynCall_viiiiiiiiiiiiiii\"] = Module[\"asm\"][\"Qa\"]).apply(null, arguments);\n };\n var _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"Ra\"]).apply(null, arguments);\n };\n var _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"Sa\"]).apply(null, arguments);\n };\n var _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"Ta\"]).apply(null, arguments);\n };\n var _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"Ua\"]).apply(null, arguments);\n };\n var ___start_em_js = Module[\"___start_em_js\"] = 52440;\n var ___stop_em_js = Module[\"___stop_em_js\"] = 55125;\n function invoke_ii(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ii(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_iiii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n dynCall_viii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_v(index) {\n var sp = stackSave();\n try {\n dynCall_v(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_vi(index, a1) {\n var sp = stackSave();\n try {\n dynCall_vi(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iii(index, a1, a2) {\n var sp = stackSave();\n try {\n return dynCall_iii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_vii(index, a1, a2) {\n var sp = stackSave();\n try {\n dynCall_vii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiii(index, a1, a2, a3, a4, a5) {\n var sp = stackSave();\n try {\n return dynCall_iiiiii(index, a1, a2, a3, a4, a5);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n return dynCall_iiiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiii(index, a1, a2, a3, a4, a5, a6);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n dynCall_viiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiii(index, a1, a2, a3, a4, a5) {\n var sp = stackSave();\n try {\n dynCall_viiiii(index, a1, a2, a3, a4, a5);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_fiii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_fiii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_diii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_diii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_i(index) {\n var sp = stackSave();\n try {\n return dynCall_i(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n var sp = stackSave();\n try {\n dynCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_ji(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ji(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_jiiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n return dynCall_jiiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n Module[\"AsciiToString\"] = AsciiToString;\n Module[\"FS\"] = FS;\n var calledRun;\n dependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n };\n function callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach((arg)=>{\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n }\n function run(args = arguments_) {\n if (runDependencies > 0) return;\n preRun();\n if (runDependencies > 0) return;\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else doRun();\n }\n if (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [\n Module[\"preInit\"]\n ];\n while(Module[\"preInit\"].length > 0)Module[\"preInit\"].pop()();\n }\n var shouldRunNow = true;\n if (Module[\"noInitialRun\"]) shouldRunNow = false;\n run();\n return Module.ready;\n };\n})();\nvar $1c3c240882313db4$export$2e2bcd8739ae039 = $1c3c240882313db4$var$Module;\n\n\nclass $cc564b5c889ac118$export$2e2bcd8739ae039 extends (0, $7c4ebf67e8338ec8$export$2e2bcd8739ae039) {\n default_options() {\n return {\n vmcore: (0, $1c3c240882313db4$export$2e2bcd8739ae039)\n };\n }\n}\n\n\n/*\n\nEmglken port of Git\n===================\n\nCopyright (c) 2020 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/ \nvar $90bdb86e43292d66$exports = {};\n\n\n$90bdb86e43292d66$exports = (parcelRequire(\"6kBsm\")).getBundleURL(\"ejVIo\") + (parcelRequire(\"n9Yfb\")).resolve(\"9Qh6d\");\n\n\nvar $a5c3b71e8affc86f$var$Module = (()=>{\n var _scriptDir = \"file:///node_modules/emglken/build/git-core.js\";\n return function(Module = {}) {\n var Module = typeof Module != \"undefined\" ? Module : {};\n var readyPromiseResolve, readyPromiseReject;\n Module[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n });\n var moduleOverrides = Object.assign({}, Module);\n var arguments_ = [];\n var thisProgram = \"./this.program\";\n var quit_ = (status, toThrow)=>{\n throw toThrow;\n };\n var ENVIRONMENT_IS_WEB = true;\n var ENVIRONMENT_IS_WORKER = false;\n var scriptDirectory = \"\";\n function locateFile(path) {\n if (Module[\"locateFile\"]) return Module[\"locateFile\"](path, scriptDirectory);\n return scriptDirectory + path;\n }\n var read_, readAsync, readBinary, setWindowTitle;\n if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) scriptDirectory = self.location.href;\n else if (typeof document != \"undefined\" && document.currentScript) scriptDirectory = document.currentScript.src;\n if (_scriptDir) scriptDirectory = _scriptDir;\n if (scriptDirectory.indexOf(\"blob:\") !== 0) scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n else scriptDirectory = \"\";\n read_ = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) readBinary = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n readAsync = (url, onload, onerror)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = ()=>{\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n setWindowTitle = (title)=>document.title = title;\n }\n var out = Module[\"print\"] || console.log.bind(console);\n var err = Module[\"printErr\"] || console.warn.bind(console);\n Object.assign(Module, moduleOverrides);\n moduleOverrides = null;\n if (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n if (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n if (Module[\"quit\"]) quit_ = Module[\"quit\"];\n var wasmBinary;\n if (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n var noExitRuntime = Module[\"noExitRuntime\"] || false;\n if (typeof WebAssembly != \"object\") abort(\"no native wasm support detected\");\n var wasmMemory;\n var ABORT = false;\n var EXITSTATUS;\n function assert(condition, text) {\n if (!condition) abort(text);\n }\n var UTF8Decoder = new TextDecoder(\"utf8\");\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while(heapOrArray[endPtr] && !(endPtr >= endIdx))++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for(var end = ptr; !(end >= maxPtr) && HEAPU8[end];)++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n }\n function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for(var i = 0; i < str.length; ++i){\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n }\n function stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n }\n function lengthBytesUTF8(str) {\n var len = 0;\n for(var i = 0; i < str.length; ++i){\n var c = str.charCodeAt(i);\n if (c <= 127) len++;\n else if (c <= 2047) len += 2;\n else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else len += 3;\n }\n return len;\n }\n var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n function updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n }\n var wasmTable;\n var __ATPRERUN__ = [];\n var __ATINIT__ = [];\n var __ATMAIN__ = [];\n var __ATEXIT__ = [];\n var __ATPOSTRUN__ = [];\n var runtimeInitialized = false;\n var runtimeExited = false;\n var runtimeKeepaliveCounter = 0;\n function keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n }\n function preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [\n Module[\"preRun\"]\n ];\n while(Module[\"preRun\"].length)addOnPreRun(Module[\"preRun\"].shift());\n }\n callRuntimeCallbacks(__ATPRERUN__);\n }\n function initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n }\n function preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n }\n function exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n }\n function postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [\n Module[\"postRun\"]\n ];\n while(Module[\"postRun\"].length)addOnPostRun(Module[\"postRun\"].shift());\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n }\n function addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n }\n function addOnInit(cb) {\n __ATINIT__.unshift(cb);\n }\n function addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n }\n var runDependencies = 0;\n var runDependencyWatcher = null;\n var dependenciesFulfilled = null;\n function getUniqueRunDependency(id) {\n return id;\n }\n function addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n }\n function removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n }\n function abort(what) {\n if (Module[\"onAbort\"]) Module[\"onAbort\"](what);\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n }\n var dataURIPrefix = \"data:application/octet-stream;base64,\";\n function isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n }\n var wasmBinaryFile;\n if (Module[\"locateFile\"]) {\n wasmBinaryFile = \"git-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) wasmBinaryFile = locateFile(wasmBinaryFile);\n } else wasmBinaryFile = new URL($90bdb86e43292d66$exports).href;\n function getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) return new Uint8Array(wasmBinary);\n if (readBinary) return readBinary(file);\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n }\n function getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n }\n function instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n }\n function instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n else return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n function createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"E\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"N\"];\n addOnInit(Module[\"asm\"][\"F\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n }\n var tempDouble;\n var tempI64;\n function emglken_common_buffer_transformer(buf, len, numchars, func, dont_reduce) {\n const index = buf >> 2;\n const utf32 = HEAPU32.subarray(index, index + numchars);\n const data = dont_reduce ? utf32 : utf32.reduce((prev, ch)=>prev + String.fromCodePoint(ch), \"\");\n const new_str = func(data);\n const newbuf = Uint32Array.from(new_str, (ch)=>ch.codePointAt(0));\n const newlen = newbuf.length;\n HEAPU32.set(newbuf.subarray(0, Math.min(len, newlen)), index);\n return newlen;\n }\n function glk_buffer_to_lower_case_uni(buf, len, numchars) {\n return emglken_common_buffer_transformer(buf, len, numchars, (str)=>str.toLowerCase());\n }\n function glk_buffer_to_upper_case_uni(buf, len, numchars) {\n return emglken_common_buffer_transformer(buf, len, numchars, (str)=>str.toUpperCase());\n }\n function glk_buffer_to_title_case_uni(buf, len, numchars, lowerrest) {\n return emglken_common_buffer_transformer(buf, len, numchars, (utf32)=>utf32.reduce((prev, ch, index)=>{\n const special_cases = {\n \"\\xdf\": \"Ss\",\n \"DŽ\": \"Dž\",\n \"Dž\": \"Dž\",\n \"dž\": \"Dž\",\n \"LJ\": \"Lj\",\n \"Lj\": \"Lj\",\n \"lj\": \"Lj\",\n \"NJ\": \"Nj\",\n \"Nj\": \"Nj\",\n \"nj\": \"Nj\",\n \"DZ\": \"Dz\",\n \"Dz\": \"Dz\",\n \"dz\": \"Dz\",\n \"և\": \"Եւ\",\n \"ᾲ\": \"Ὰͅ\",\n \"ᾳ\": \"ᾼ\",\n \"ᾴ\": \"Άͅ\",\n \"ᾷ\": \"ᾼ͂\",\n \"ᾼ\": \"ᾼ\",\n \"ῂ\": \"Ὴͅ\",\n \"ῃ\": \"ῌ\",\n \"ῄ\": \"Ήͅ\",\n \"ῇ\": \"ῌ͂\",\n \"ῌ\": \"ῌ\",\n \"ῲ\": \"Ὼͅ\",\n \"ῳ\": \"ῼ\",\n \"ῴ\": \"Ώͅ\",\n \"ῷ\": \"ῼ͂\",\n \"ῼ\": \"ῼ\",\n \"ff\": \"Ff\",\n \"fi\": \"Fi\",\n \"fl\": \"Fl\",\n \"ffi\": \"Ffi\",\n \"ffl\": \"Ffl\",\n \"ſt\": \"St\",\n \"st\": \"St\",\n \"ﬓ\": \"Մն\",\n \"ﬔ\": \"Մե\",\n \"ﬕ\": \"Մի\",\n \"ﬖ\": \"Վն\",\n \"ﬗ\": \"Մխ\"\n };\n const slightly_less_special_cases = [\n \"ᾈᾉᾊᾋᾌᾍᾎᾏ\",\n \"ᾘᾙᾚᾛᾜᾝᾞᾟ\",\n \"ᾨᾩᾪᾫᾬᾭᾮᾯ\"\n ];\n let thischar = String.fromCodePoint(ch);\n if (index === 0) {\n if (special_cases[thischar]) thischar = special_cases[thischar];\n else if (ch >= 8064 && ch < 8112) thischar = slightly_less_special_cases[(ch - 8064) / 16 | 0][ch % 8];\n else thischar = thischar.toUpperCase();\n } else if (lowerrest) thischar = thischar.toLowerCase();\n return prev + thischar;\n }, \"\"), 1);\n }\n function glk_buffer_canon_decompose_uni(buf, len, numchars) {\n return emglken_common_buffer_transformer(buf, len, numchars, (str)=>str.normalize(\"NFD\"));\n }\n function glk_buffer_canon_normalize_uni(buf, len, numchars) {\n return emglken_common_buffer_transformer(buf, len, numchars, (str)=>str.normalize(\"NFC\"));\n }\n function __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async ()=>{\n if (!Module.emglken_stdin_buffers.length) await new Promise((resolve)=>{\n Module.emglken_stdin_ready = resolve;\n });\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) HEAPU8.set(input, buffer);\n else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n }\n function ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n }\n function callRuntimeCallbacks(callbacks) {\n while(callbacks.length > 0)callbacks.shift()(Module);\n }\n var PATH = {\n isAbs: (path)=>path.charAt(0) === \"/\",\n splitPath: (filename)=>{\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot)=>{\n var up = 0;\n for(var i = parts.length - 1; i >= 0; i--){\n var last = parts[i];\n if (last === \".\") parts.splice(i, 1);\n else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) for(; up; up--)parts.unshift(\"..\");\n return parts;\n },\n normalize: (path)=>{\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter((p)=>!!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) path = \".\";\n if (path && trailingSlash) path += \"/\";\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: (path)=>{\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) return \".\";\n if (dir) dir = dir.substr(0, dir.length - 1);\n return root + dir;\n },\n basename: (path)=>{\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r)=>{\n return PATH.normalize(l + \"/\" + r);\n }\n };\n function getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return ()=>{\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return ()=>abort(\"randomDevice\");\n }\n var PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for(var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--){\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") throw new TypeError(\"Arguments to path.resolve must be strings\");\n else if (!path) return \"\";\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter((p)=>!!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to)=>{\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for(; start < arr.length; start++){\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for(; end >= 0; end--){\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for(var i = 0; i < length; i++)if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n var outputParts = [];\n for(var i = samePartsLength; i < fromParts.length; i++)outputParts.push(\"..\");\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n };\n function intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n }\n var TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) throw new FS.ErrnoError(43);\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) throw new FS.ErrnoError(60);\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) throw new FS.ErrnoError(60);\n try {\n for(var i = 0; i < length; i++)stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) result += \"\\n\";\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) result += \"\\n\";\n }\n if (!result) return null;\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n };\n function mmapAlloc(size) {\n abort();\n }\n var MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16895, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) throw new FS.ErrnoError(63);\n if (!MEMFS.ops_table) MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1048576;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) attr.size = 4096;\n else if (FS.isFile(node.mode)) attr.size = node.usedBytes;\n else if (FS.isLink(node.mode)) attr.size = node.link.length;\n else attr.size = 0;\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) node.mode = attr.mode;\n if (attr.timestamp !== undefined) node.timestamp = attr.timestamp;\n if (attr.size !== undefined) MEMFS.resizeFileStorage(node, attr.size);\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for(var i in new_node.contents)throw new FS.ErrnoError(55);\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for(var i in node.contents)throw new FS.ErrnoError(55);\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [\n \".\",\n \"..\"\n ];\n for(var key in node.contents){\n if (!node.contents.hasOwnProperty(key)) continue;\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 41471, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) throw new FS.ErrnoError(28);\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) buffer.set(contents.subarray(position, position + size), offset);\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) canOwn = false;\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position);\n else for(var i = 0; i < length; i++)node.contents[position + i] = buffer[offset + i];\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) position += stream.position;\n else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) position += stream.node.usedBytes;\n }\n if (position < 0) throw new FS.ErrnoError(28);\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) contents = contents.subarray(position, position + length);\n else contents = Array.prototype.slice.call(contents, position, position + length);\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n };\n function asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, (arrayBuffer)=>{\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, (event)=>{\n if (onerror) onerror();\n else throw 'Loading data file \"' + url + '\" failed.';\n });\n if (dep) addRunDependency(dep);\n }\n var FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {})=>{\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) throw new FS.ErrnoError(32);\n var parts = path.split(\"/\").filter((p)=>!!p);\n var current = FS.root;\n var current_path = \"/\";\n for(var i = 0; i < parts.length; i++){\n var islast = i === parts.length - 1;\n if (islast && opts.parent) break;\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) current = current.mounted.root;\n }\n if (!islast || opts.follow) {\n var count = 0;\n while(FS.isLink(current.mode)){\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) throw new FS.ErrnoError(32);\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: (node)=>{\n var path;\n while(true){\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name)=>{\n var hash = 0;\n for(var i = 0; i < name.length; i++)hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) FS.nameTable[hash] = node.name_next;\n else {\n var current = FS.nameTable[hash];\n while(current){\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name)=>{\n var errCode = FS.mayLookup(parent);\n if (errCode) throw new FS.ErrnoError(errCode, parent);\n var hash = FS.hashName(parent.id, name);\n for(var node = FS.nameTable[hash]; node; node = node.name_next){\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) return node;\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev)=>{\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: (node)=>{\n FS.hashRemoveNode(node);\n },\n isRoot: (node)=>{\n return node === node.parent;\n },\n isMountpoint: (node)=>{\n return !!node.mounted;\n },\n isFile: (mode)=>{\n return (mode & 61440) === 32768;\n },\n isDir: (mode)=>{\n return (mode & 61440) === 16384;\n },\n isLink: (mode)=>{\n return (mode & 61440) === 40960;\n },\n isChrdev: (mode)=>{\n return (mode & 61440) === 8192;\n },\n isBlkdev: (mode)=>{\n return (mode & 61440) === 24576;\n },\n isFIFO: (mode)=>{\n return (mode & 61440) === 4096;\n },\n isSocket: (mode)=>{\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: (str)=>{\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") throw new Error(\"Unknown file open mode: \" + str);\n return flags;\n },\n flagsToPermissionString: (flag)=>{\n var perms = [\n \"r\",\n \"w\",\n \"rw\"\n ][flag & 3];\n if (flag & 512) perms += \"w\";\n return perms;\n },\n nodePermissions: (node, perms)=>{\n if (FS.ignorePermissions) return 0;\n if (perms.includes(\"r\") && !(node.mode & 292)) return 2;\n else if (perms.includes(\"w\") && !(node.mode & 146)) return 2;\n else if (perms.includes(\"x\") && !(node.mode & 73)) return 2;\n return 0;\n },\n mayLookup: (dir)=>{\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name)=>{\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir)=>{\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) return errCode;\n if (isdir) {\n if (!FS.isDir(node.mode)) return 54;\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) return 10;\n } else {\n if (FS.isDir(node.mode)) return 31;\n }\n return 0;\n },\n mayOpen: (node, flags)=>{\n if (!node) return 44;\n if (FS.isLink(node.mode)) return 32;\n else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) return 31;\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS)=>{\n for(var fd = fd_start; fd <= fd_end; fd++){\n if (!FS.streams[fd]) return fd;\n }\n throw new FS.ErrnoError(33);\n },\n getStream: (fd)=>FS.streams[fd],\n createStream: (stream, fd_start, fd_end)=>{\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: (fd)=>{\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: (stream)=>{\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n },\n llseek: ()=>{\n throw new FS.ErrnoError(70);\n }\n },\n major: (dev)=>dev >> 8,\n minor: (dev)=>dev & 255,\n makedev: (ma, mi)=>ma << 8 | mi,\n registerDevice: (dev, ops)=>{\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: (dev)=>FS.devices[dev],\n getMounts: (mount)=>{\n var mounts = [];\n var check = [\n mount\n ];\n while(check.length){\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback)=>{\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) doCallback(null);\n }\n mounts.forEach((mount)=>{\n if (!mount.type.syncfs) return done(null);\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint)=>{\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) throw new FS.ErrnoError(10);\n else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n if (!FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) FS.root = mountRoot;\n else if (node) {\n node.mounted = mount;\n if (node.mount) node.mount.mounts.push(mount);\n }\n return mountRoot;\n },\n unmount: (mountpoint)=>{\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) throw new FS.ErrnoError(28);\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach((hash)=>{\n var current = FS.nameTable[hash];\n while(current){\n var next = current.name_next;\n if (mounts.includes(current.mount)) FS.destroyNode(current);\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name)=>{\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") throw new FS.ErrnoError(28);\n var errCode = FS.mayCreate(parent, name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.mknod) throw new FS.ErrnoError(63);\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode)=>{\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode)=>{\n mode = mode !== undefined ? mode : 511;\n mode &= 1023;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode)=>{\n var dirs = path.split(\"/\");\n var d = \"\";\n for(var i = 0; i < dirs.length; ++i){\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev)=>{\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath)=>{\n if (!PATH_FS.resolve(oldpath)) throw new FS.ErrnoError(44);\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.symlink) throw new FS.ErrnoError(63);\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path)=>{\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) throw new FS.ErrnoError(75);\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(28);\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(55);\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) return;\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) throw new FS.ErrnoError(errCode);\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!old_dir.node_ops.rename) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) throw new FS.ErrnoError(10);\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally{\n FS.hashAddNode(old_node);\n }\n },\n rmdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.rmdir) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) throw new FS.ErrnoError(54);\n return node.node_ops.readdir(node);\n },\n unlink: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.unlink) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: (path)=>{\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) throw new FS.ErrnoError(44);\n if (!link.node_ops.readlink) throw new FS.ErrnoError(28);\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow)=>{\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) throw new FS.ErrnoError(44);\n if (!node.node_ops.getattr) throw new FS.ErrnoError(63);\n return node.node_ops.getattr(node);\n },\n lstat: (path)=>{\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & -4096,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode)=>{\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid)=>{\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len)=>{\n if (len < 0) throw new FS.ErrnoError(28);\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n if (FS.isDir(node.mode)) throw new FS.ErrnoError(31);\n if (!FS.isFile(node.mode)) throw new FS.ErrnoError(28);\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(28);\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode)=>{\n if (path === \"\") throw new FS.ErrnoError(44);\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) mode = mode & 4095 | 32768;\n else mode = 0;\n var node;\n if (typeof path == \"object\") node = path;\n else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) throw new FS.ErrnoError(20);\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) throw new FS.ErrnoError(44);\n if (FS.isChrdev(node.mode)) flags &= -513;\n if (flags & 65536 && !FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n if (flags & 512 && !created) FS.truncate(node, 0);\n flags &= -131713;\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) FS.readFiles[path] = 1;\n }\n return stream;\n },\n close: (stream)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) stream.stream_ops.close(stream);\n } catch (e) {\n throw e;\n } finally{\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: (stream)=>{\n return stream.fd === null;\n },\n llseek: (stream, offset, whence)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (!stream.seekable || !stream.stream_ops.llseek) throw new FS.ErrnoError(70);\n if (whence != 0 && whence != 1 && whence != 2) throw new FS.ErrnoError(28);\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.read) throw new FS.ErrnoError(28);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.write) throw new FS.ErrnoError(28);\n if (stream.seekable && stream.flags & 1024) FS.llseek(stream, 0, 2);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (offset < 0 || length <= 0) throw new FS.ErrnoError(28);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) throw new FS.ErrnoError(43);\n if (!stream.stream_ops.allocate) throw new FS.ErrnoError(138);\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags)=>{\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) throw new FS.ErrnoError(2);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(2);\n if (!stream.stream_ops.mmap) throw new FS.ErrnoError(43);\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags)=>{\n if (!stream.stream_ops.msync) return 0;\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: (stream)=>0,\n ioctl: (stream, cmd, arg)=>{\n if (!stream.stream_ops.ioctl) throw new FS.ErrnoError(59);\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {})=>{\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") ret = UTF8ArrayToString(buf, 0);\n else if (opts.encoding === \"binary\") ret = buf;\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {})=>{\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n else throw new Error(\"Unsupported data type\");\n FS.close(stream);\n },\n cwd: ()=>FS.currentPath,\n chdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) throw new FS.ErrnoError(44);\n if (!FS.isDir(lookup.node.mode)) throw new FS.ErrnoError(54);\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) throw new FS.ErrnoError(errCode);\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: ()=>{\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: ()=>{\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: ()=>0,\n write: (stream, buffer, offset, length, pos)=>length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: ()=>{\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: ()=>{\n var node = FS.createNode(proc_self, \"fd\", 16895, 73);\n node.node_ops = {\n lookup: (parent, name)=>{\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: ()=>stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: ()=>{\n if (Module[\"stdin\"]) FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n if (Module[\"stdout\"]) FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n if (Module[\"stderr\"]) FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n else FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: ()=>{\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [\n 44\n ].forEach((code)=>{\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: ()=>{\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error)=>{\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: ()=>{\n FS.init.initialized = false;\n _fflush(0);\n for(var i = 0; i < FS.streams.length; i++){\n var stream = FS.streams[i];\n if (!stream) continue;\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite)=>{\n var mode = 0;\n if (canRead) mode |= 365;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink)=>{\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) return null;\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink)=>{\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite)=>{\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while(parts.length){\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn)=>{\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for(var i = 0, len = data.length; i < len; ++i)arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: (stream)=>{\n stream.seekable = false;\n },\n close: (stream)=>{\n if (output && output.buffer && output.buffer.length) output(10);\n },\n read: (stream, buffer, offset, length, pos)=>{\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos)=>{\n for(var i = 0; i < length; i++)try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: (obj)=>{\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n 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.\");\n else if (read_) try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n else throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n },\n createLazyFile: (parent, name, url, canRead, canWrite)=>{\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) return undefined;\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1048576;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to)=>{\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) return new Uint8Array(xhr.response || []);\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter((chunkNum)=>{\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") lazyArray.chunks[chunkNum] = doXHR(start, end);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else var properties = {\n isDevice: false,\n url: url\n };\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) node.contents = properties.contents;\n else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach((key)=>{\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents.get(position + i);\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position)=>{\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags)=>{\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish)=>{\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, ()=>{\n if (onerror) onerror();\n removeRunDependency(dep);\n })) return;\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") asyncLoad(url, (byteArray)=>processData(byteArray), onerror);\n else processData(url);\n },\n indexedDB: ()=>{\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: ()=>{\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = ()=>{\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = ()=>{\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n try {\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var getRequest = files.get(path);\n getRequest.onsuccess = ()=>{\n if (FS.analyzePath(path).exists) FS.unlink(path);\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n };\n var SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) return path;\n var dir;\n if (dirfd === -100) dir = FS.cwd();\n else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) throw new FS.ErrnoError(44);\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) return -54;\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n tempI64 = [\n stat.size >>> 0,\n (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)\n ], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [\n Math.floor(atime / 1e3) >>> 0,\n (tempDouble = Math.floor(atime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(mtime / 1e3) >>> 0,\n (tempDouble = Math.floor(mtime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(ctime / 1e3) >>> 0,\n (tempDouble = Math.floor(ctime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n tempI64 = [\n stat.ino >>> 0,\n (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)\n ], HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n if (flags & 2) return 0;\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n };\n function ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & -8) return -28;\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) return -44;\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) return -2;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n }\n function ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(cmd){\n case 0:\n var arg = SYSCALLS.get();\n if (arg < 0) return -28;\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n case 1:\n case 2:\n return 0;\n case 3:\n return stream.flags;\n case 4:\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n case 5:\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n case 6:\n case 7:\n return 0;\n case 16:\n case 8:\n return -28;\n case 9:\n setErrNo(28);\n return -1;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(op){\n case 21509:\n case 21505:\n if (!stream.tty) return -59;\n return 0;\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n if (!stream.tty) return -59;\n return 0;\n case 21519:\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n case 21520:\n if (!stream.tty) return -59;\n return -28;\n case 21531:\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n case 21523:\n if (!stream.tty) return -59;\n return 0;\n case 21524:\n if (!stream.tty) return -59;\n return 0;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_stat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_unlinkat(dirfd, path, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (flags === 0) FS.unlink(path);\n else if (flags === 512) FS.rmdir(path);\n else abort(\"Invalid flags passed to unlinkat\");\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n var nowIsMonotonic = true;\n function __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n }\n function __emscripten_throw_longjmp() {\n throw Infinity;\n }\n function readI53FromI64(ptr) {\n return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296;\n }\n function __gmtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getUTCSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getUTCHours();\n HEAP32[tmPtr + 12 >> 2] = date.getUTCDate();\n HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();\n var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);\n var yday = (date.getTime() - start) / 86400000 | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n }\n function __isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n }\n var __MONTH_DAYS_LEAP_CUMULATIVE = [\n 0,\n 31,\n 60,\n 91,\n 121,\n 152,\n 182,\n 213,\n 244,\n 274,\n 305,\n 335\n ];\n var __MONTH_DAYS_REGULAR_CUMULATIVE = [\n 0,\n 31,\n 59,\n 90,\n 120,\n 151,\n 181,\n 212,\n 243,\n 273,\n 304,\n 334\n ];\n function __yday_from_date(date) {\n var isLeapYear = __isLeapYear(date.getFullYear());\n var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday;\n }\n function __localtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n HEAP32[tmPtr + 32 >> 2] = dst;\n }\n function __mktime_js(tmPtr) {\n 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);\n var dst = HEAP32[tmPtr + 32 >> 2];\n var guessedOffset = date.getTimezoneOffset();\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dstOffset = Math.min(winterOffset, summerOffset);\n if (dst < 0) HEAP32[tmPtr + 32 >> 2] = Number(summerOffset != winterOffset && dstOffset == guessedOffset);\n else if (dst > 0 != (dstOffset == guessedOffset)) {\n var nonDstOffset = Math.max(winterOffset, summerOffset);\n var trueOffset = dst > 0 ? dstOffset : nonDstOffset;\n date.setTime(date.getTime() + (trueOffset - guessedOffset) * 6e4);\n }\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getYear();\n return date.getTime() / 1e3 | 0;\n }\n function __timegm_js(tmPtr) {\n 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);\n var date = new Date(time);\n HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();\n var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);\n var yday = (date.getTime() - start) / 86400000 | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n return date.getTime() / 1e3 | 0;\n }\n function allocateUTF8(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = _malloc(size);\n if (ret) stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function __tzset_js(timezone, daylight, tzname) {\n var currentYear = new Date().getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;\n HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);\n function extractZone(date) {\n var match = date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return match ? match[1] : \"GMT\";\n }\n var winterName = extractZone(winter);\n var summerName = extractZone(summer);\n var winterNamePtr = allocateUTF8(winterName);\n var summerNamePtr = allocateUTF8(summerName);\n if (summerOffset < winterOffset) {\n HEAPU32[tzname >> 2] = winterNamePtr;\n HEAPU32[tzname + 4 >> 2] = summerNamePtr;\n } else {\n HEAPU32[tzname >> 2] = summerNamePtr;\n HEAPU32[tzname + 4 >> 2] = winterNamePtr;\n }\n }\n function _emscripten_date_now() {\n return Date.now();\n }\n var _emscripten_get_now;\n _emscripten_get_now = ()=>performance.now();\n function _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n }\n function getHeapMax() {\n return 2147483648;\n }\n function emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n }\n function _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) return false;\n let alignUp = (x, multiple)=>x + (multiple - x % multiple) % multiple;\n for(var cutDown = 1; cutDown <= 4; cutDown *= 2){\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) return true;\n }\n return false;\n }\n function _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n }\n function exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) exitRuntime();\n _proc_exit(status);\n }\n var _exit = exitJS;\n function _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n }\n function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n tempI64 = [\n stream.position >>> 0,\n (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)\n ], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") return EXITSTATUS;\n quit_(1, e);\n }\n function allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n }\n function maybeExit() {\n if (!keepRuntimeAlive()) try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n function callUserCallback(func) {\n if (runtimeExited || ABORT) return;\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n }\n function runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n }\n function runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n }\n var Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [\n \"emscripten_sleep\",\n \"emscripten_wget\",\n \"emscripten_wget_data\",\n \"emscripten_idb_load\",\n \"emscripten_idb_store\",\n \"emscripten_idb_delete\",\n \"emscripten_idb_exists\",\n \"emscripten_idb_load_blob\",\n \"emscripten_idb_store_blob\",\n \"SDL_Delay\",\n \"emscripten_scan_registers\",\n \"emscripten_lazy_load_code\",\n \"emscripten_fiber_swap\",\n \"__load_secondary_module\",\n \"fd_sync\",\n \"__wasi_fd_sync\",\n \"_emval_await\",\n \"_dlopen_js\",\n \"__asyncjs__*\"\n ];\n for(var x in imports)(function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n })(x);\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for(var x in exports)(function(x) {\n var original = exports[x];\n if (typeof original == \"function\") ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally{\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n else ret[x] = original;\n })(x);\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") Fibers.trampoline();\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject)=>{\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0)=>{\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) return;\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.resume();\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) throw asyncWasmReturnValue;\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.pause();\n runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach((func)=>callUserCallback(func));\n } else abort(\"invalid state: \" + Asyncify.state);\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep((wakeUp)=>{\n startAsync().then(wakeUp);\n });\n }\n };\n function AsciiToString(ptr) {\n var str = \"\";\n while(true){\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n }\n var FSNode = function(parent, name, mode, rdev) {\n if (!parent) parent = this;\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n };\n var readMode = 365;\n var writeMode = 146;\n Object.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n });\n FS.FSNode = FSNode;\n FS.staticInit();\n var wasmImports = {\n \"q\": __asyncjs__emglken_fill_stdin_buffer,\n \"D\": ___syscall_faccessat,\n \"l\": ___syscall_fcntl64,\n \"C\": ___syscall_getcwd,\n \"B\": ___syscall_ioctl,\n \"k\": ___syscall_openat,\n \"A\": ___syscall_stat64,\n \"z\": ___syscall_unlinkat,\n \"x\": __emscripten_get_now_is_monotonic,\n \"w\": __emscripten_throw_longjmp,\n \"v\": __gmtime_js,\n \"u\": __localtime_js,\n \"t\": __mktime_js,\n \"s\": __timegm_js,\n \"r\": __tzset_js,\n \"i\": _emscripten_date_now,\n \"p\": _emscripten_memcpy_big,\n \"o\": _emscripten_resize_heap,\n \"a\": _exit,\n \"c\": _fd_close,\n \"y\": _fd_read,\n \"m\": _fd_seek,\n \"j\": _fd_write,\n \"h\": glk_buffer_canon_decompose_uni,\n \"g\": glk_buffer_canon_normalize_uni,\n \"f\": glk_buffer_to_lower_case_uni,\n \"e\": glk_buffer_to_title_case_uni,\n \"d\": glk_buffer_to_upper_case_uni,\n \"n\": invoke_vi,\n \"b\": invoke_vii\n };\n var asm = createWasm();\n var ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"F\"]).apply(null, arguments);\n };\n var _malloc = function() {\n return (_malloc = Module[\"asm\"][\"G\"]).apply(null, arguments);\n };\n var _free = function() {\n return (_free = Module[\"asm\"][\"H\"]).apply(null, arguments);\n };\n var _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"I\"]).apply(null, arguments);\n };\n var _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"J\"]).apply(null, arguments);\n };\n var _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"K\"]).apply(null, arguments);\n };\n var ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"L\"]).apply(null, arguments);\n };\n var ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"M\"]).apply(null, arguments);\n };\n var _setThrew = function() {\n return (_setThrew = Module[\"asm\"][\"O\"]).apply(null, arguments);\n };\n var _saveSetjmp = function() {\n return (_saveSetjmp = Module[\"asm\"][\"saveSetjmp\"]).apply(null, arguments);\n };\n var _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n };\n var stackSave = function() {\n return (stackSave = Module[\"asm\"][\"P\"]).apply(null, arguments);\n };\n var stackRestore = function() {\n return (stackRestore = Module[\"asm\"][\"Q\"]).apply(null, arguments);\n };\n var stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"R\"]).apply(null, arguments);\n };\n var dynCall_vii = Module[\"dynCall_vii\"] = function() {\n return (dynCall_vii = Module[\"dynCall_vii\"] = Module[\"asm\"][\"S\"]).apply(null, arguments);\n };\n var dynCall_vi = Module[\"dynCall_vi\"] = function() {\n return (dynCall_vi = Module[\"dynCall_vi\"] = Module[\"asm\"][\"T\"]).apply(null, arguments);\n };\n var _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"U\"]).apply(null, arguments);\n };\n var _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"V\"]).apply(null, arguments);\n };\n var _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"W\"]).apply(null, arguments);\n };\n var _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"X\"]).apply(null, arguments);\n };\n var ___start_em_js = Module[\"___start_em_js\"] = 33568;\n var ___stop_em_js = Module[\"___stop_em_js\"] = 36253;\n function invoke_vii(index, a1, a2) {\n var sp = stackSave();\n try {\n dynCall_vii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_vi(index, a1) {\n var sp = stackSave();\n try {\n dynCall_vi(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n Module[\"AsciiToString\"] = AsciiToString;\n Module[\"FS\"] = FS;\n var calledRun;\n dependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n };\n function callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach((arg)=>{\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n }\n function run(args = arguments_) {\n if (runDependencies > 0) return;\n preRun();\n if (runDependencies > 0) return;\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else doRun();\n }\n if (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [\n Module[\"preInit\"]\n ];\n while(Module[\"preInit\"].length > 0)Module[\"preInit\"].pop()();\n }\n var shouldRunNow = true;\n if (Module[\"noInitialRun\"]) shouldRunNow = false;\n run();\n return Module.ready;\n };\n})();\nvar $a5c3b71e8affc86f$export$2e2bcd8739ae039 = $a5c3b71e8affc86f$var$Module;\n\n\nclass $724db3da43d21d57$export$2e2bcd8739ae039 extends (0, $7c4ebf67e8338ec8$export$2e2bcd8739ae039) {\n default_options() {\n return {\n vmcore: (0, $a5c3b71e8affc86f$export$2e2bcd8739ae039)\n };\n }\n}\n\n\n/*\n\nEmglken port of Hugo\n====================\n\nCopyright (c) 2020 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/ \nvar $b4505afa6c4299ab$exports = {};\n\n\n$b4505afa6c4299ab$exports = (parcelRequire(\"6kBsm\")).getBundleURL(\"ejVIo\") + (parcelRequire(\"n9Yfb\")).resolve(\"huVfu\");\n\n\nvar $6b4c486f96eb5551$var$Module = (()=>{\n var _scriptDir = \"file:///node_modules/emglken/build/hugo-core.js\";\n return function(Module = {}) {\n var Module = typeof Module != \"undefined\" ? Module : {};\n var readyPromiseResolve, readyPromiseReject;\n Module[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n });\n var moduleOverrides = Object.assign({}, Module);\n var arguments_ = [];\n var thisProgram = \"./this.program\";\n var quit_ = (status, toThrow)=>{\n throw toThrow;\n };\n var ENVIRONMENT_IS_WEB = true;\n var ENVIRONMENT_IS_WORKER = false;\n var scriptDirectory = \"\";\n function locateFile(path) {\n if (Module[\"locateFile\"]) return Module[\"locateFile\"](path, scriptDirectory);\n return scriptDirectory + path;\n }\n var read_, readAsync, readBinary, setWindowTitle;\n if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) scriptDirectory = self.location.href;\n else if (typeof document != \"undefined\" && document.currentScript) scriptDirectory = document.currentScript.src;\n if (_scriptDir) scriptDirectory = _scriptDir;\n if (scriptDirectory.indexOf(\"blob:\") !== 0) scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n else scriptDirectory = \"\";\n read_ = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) readBinary = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n readAsync = (url, onload, onerror)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = ()=>{\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n setWindowTitle = (title)=>document.title = title;\n }\n var out = Module[\"print\"] || console.log.bind(console);\n var err = Module[\"printErr\"] || console.warn.bind(console);\n Object.assign(Module, moduleOverrides);\n moduleOverrides = null;\n if (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n if (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n if (Module[\"quit\"]) quit_ = Module[\"quit\"];\n var wasmBinary;\n if (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n var noExitRuntime = Module[\"noExitRuntime\"] || false;\n if (typeof WebAssembly != \"object\") abort(\"no native wasm support detected\");\n var wasmMemory;\n var ABORT = false;\n var EXITSTATUS;\n function assert(condition, text) {\n if (!condition) abort(text);\n }\n var UTF8Decoder = new TextDecoder(\"utf8\");\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while(heapOrArray[endPtr] && !(endPtr >= endIdx))++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for(var end = ptr; !(end >= maxPtr) && HEAPU8[end];)++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n }\n function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for(var i = 0; i < str.length; ++i){\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n }\n function stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n }\n function lengthBytesUTF8(str) {\n var len = 0;\n for(var i = 0; i < str.length; ++i){\n var c = str.charCodeAt(i);\n if (c <= 127) len++;\n else if (c <= 2047) len += 2;\n else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else len += 3;\n }\n return len;\n }\n var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n function updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n }\n var wasmTable;\n var __ATPRERUN__ = [];\n var __ATINIT__ = [];\n var __ATMAIN__ = [];\n var __ATEXIT__ = [];\n var __ATPOSTRUN__ = [];\n var runtimeInitialized = false;\n var runtimeExited = false;\n var runtimeKeepaliveCounter = 0;\n function keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n }\n function preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [\n Module[\"preRun\"]\n ];\n while(Module[\"preRun\"].length)addOnPreRun(Module[\"preRun\"].shift());\n }\n callRuntimeCallbacks(__ATPRERUN__);\n }\n function initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n }\n function preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n }\n function exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n }\n function postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [\n Module[\"postRun\"]\n ];\n while(Module[\"postRun\"].length)addOnPostRun(Module[\"postRun\"].shift());\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n }\n function addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n }\n function addOnInit(cb) {\n __ATINIT__.unshift(cb);\n }\n function addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n }\n var runDependencies = 0;\n var runDependencyWatcher = null;\n var dependenciesFulfilled = null;\n function getUniqueRunDependency(id) {\n return id;\n }\n function addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n }\n function removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n }\n function abort(what) {\n if (Module[\"onAbort\"]) Module[\"onAbort\"](what);\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n }\n var dataURIPrefix = \"data:application/octet-stream;base64,\";\n function isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n }\n var wasmBinaryFile;\n if (Module[\"locateFile\"]) {\n wasmBinaryFile = \"hugo-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) wasmBinaryFile = locateFile(wasmBinaryFile);\n } else wasmBinaryFile = new URL($b4505afa6c4299ab$exports).href;\n function getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) return new Uint8Array(wasmBinary);\n if (readBinary) return readBinary(file);\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n }\n function getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n }\n function instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n }\n function instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n else return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n function createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"t\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"C\"];\n addOnInit(Module[\"asm\"][\"u\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n }\n var tempDouble;\n var tempI64;\n function __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async ()=>{\n if (!Module.emglken_stdin_buffers.length) await new Promise((resolve)=>{\n Module.emglken_stdin_ready = resolve;\n });\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) HEAPU8.set(input, buffer);\n else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n }\n function ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n }\n function callRuntimeCallbacks(callbacks) {\n while(callbacks.length > 0)callbacks.shift()(Module);\n }\n var PATH = {\n isAbs: (path)=>path.charAt(0) === \"/\",\n splitPath: (filename)=>{\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot)=>{\n var up = 0;\n for(var i = parts.length - 1; i >= 0; i--){\n var last = parts[i];\n if (last === \".\") parts.splice(i, 1);\n else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) for(; up; up--)parts.unshift(\"..\");\n return parts;\n },\n normalize: (path)=>{\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter((p)=>!!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) path = \".\";\n if (path && trailingSlash) path += \"/\";\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: (path)=>{\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) return \".\";\n if (dir) dir = dir.substr(0, dir.length - 1);\n return root + dir;\n },\n basename: (path)=>{\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r)=>{\n return PATH.normalize(l + \"/\" + r);\n }\n };\n function getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return ()=>{\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return ()=>abort(\"randomDevice\");\n }\n var PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for(var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--){\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") throw new TypeError(\"Arguments to path.resolve must be strings\");\n else if (!path) return \"\";\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter((p)=>!!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to)=>{\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for(; start < arr.length; start++){\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for(; end >= 0; end--){\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for(var i = 0; i < length; i++)if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n var outputParts = [];\n for(var i = samePartsLength; i < fromParts.length; i++)outputParts.push(\"..\");\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n };\n function intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n }\n var TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) throw new FS.ErrnoError(43);\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) throw new FS.ErrnoError(60);\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) throw new FS.ErrnoError(60);\n try {\n for(var i = 0; i < length; i++)stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) result += \"\\n\";\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) result += \"\\n\";\n }\n if (!result) return null;\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n };\n function mmapAlloc(size) {\n abort();\n }\n var MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16895, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) throw new FS.ErrnoError(63);\n if (!MEMFS.ops_table) MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1048576;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) attr.size = 4096;\n else if (FS.isFile(node.mode)) attr.size = node.usedBytes;\n else if (FS.isLink(node.mode)) attr.size = node.link.length;\n else attr.size = 0;\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) node.mode = attr.mode;\n if (attr.timestamp !== undefined) node.timestamp = attr.timestamp;\n if (attr.size !== undefined) MEMFS.resizeFileStorage(node, attr.size);\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for(var i in new_node.contents)throw new FS.ErrnoError(55);\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for(var i in node.contents)throw new FS.ErrnoError(55);\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [\n \".\",\n \"..\"\n ];\n for(var key in node.contents){\n if (!node.contents.hasOwnProperty(key)) continue;\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 41471, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) throw new FS.ErrnoError(28);\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) buffer.set(contents.subarray(position, position + size), offset);\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) canOwn = false;\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position);\n else for(var i = 0; i < length; i++)node.contents[position + i] = buffer[offset + i];\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) position += stream.position;\n else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) position += stream.node.usedBytes;\n }\n if (position < 0) throw new FS.ErrnoError(28);\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) contents = contents.subarray(position, position + length);\n else contents = Array.prototype.slice.call(contents, position, position + length);\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n };\n function asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, (arrayBuffer)=>{\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, (event)=>{\n if (onerror) onerror();\n else throw 'Loading data file \"' + url + '\" failed.';\n });\n if (dep) addRunDependency(dep);\n }\n var FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {})=>{\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) throw new FS.ErrnoError(32);\n var parts = path.split(\"/\").filter((p)=>!!p);\n var current = FS.root;\n var current_path = \"/\";\n for(var i = 0; i < parts.length; i++){\n var islast = i === parts.length - 1;\n if (islast && opts.parent) break;\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) current = current.mounted.root;\n }\n if (!islast || opts.follow) {\n var count = 0;\n while(FS.isLink(current.mode)){\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) throw new FS.ErrnoError(32);\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: (node)=>{\n var path;\n while(true){\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name)=>{\n var hash = 0;\n for(var i = 0; i < name.length; i++)hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) FS.nameTable[hash] = node.name_next;\n else {\n var current = FS.nameTable[hash];\n while(current){\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name)=>{\n var errCode = FS.mayLookup(parent);\n if (errCode) throw new FS.ErrnoError(errCode, parent);\n var hash = FS.hashName(parent.id, name);\n for(var node = FS.nameTable[hash]; node; node = node.name_next){\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) return node;\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev)=>{\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: (node)=>{\n FS.hashRemoveNode(node);\n },\n isRoot: (node)=>{\n return node === node.parent;\n },\n isMountpoint: (node)=>{\n return !!node.mounted;\n },\n isFile: (mode)=>{\n return (mode & 61440) === 32768;\n },\n isDir: (mode)=>{\n return (mode & 61440) === 16384;\n },\n isLink: (mode)=>{\n return (mode & 61440) === 40960;\n },\n isChrdev: (mode)=>{\n return (mode & 61440) === 8192;\n },\n isBlkdev: (mode)=>{\n return (mode & 61440) === 24576;\n },\n isFIFO: (mode)=>{\n return (mode & 61440) === 4096;\n },\n isSocket: (mode)=>{\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: (str)=>{\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") throw new Error(\"Unknown file open mode: \" + str);\n return flags;\n },\n flagsToPermissionString: (flag)=>{\n var perms = [\n \"r\",\n \"w\",\n \"rw\"\n ][flag & 3];\n if (flag & 512) perms += \"w\";\n return perms;\n },\n nodePermissions: (node, perms)=>{\n if (FS.ignorePermissions) return 0;\n if (perms.includes(\"r\") && !(node.mode & 292)) return 2;\n else if (perms.includes(\"w\") && !(node.mode & 146)) return 2;\n else if (perms.includes(\"x\") && !(node.mode & 73)) return 2;\n return 0;\n },\n mayLookup: (dir)=>{\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name)=>{\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir)=>{\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) return errCode;\n if (isdir) {\n if (!FS.isDir(node.mode)) return 54;\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) return 10;\n } else {\n if (FS.isDir(node.mode)) return 31;\n }\n return 0;\n },\n mayOpen: (node, flags)=>{\n if (!node) return 44;\n if (FS.isLink(node.mode)) return 32;\n else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) return 31;\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS)=>{\n for(var fd = fd_start; fd <= fd_end; fd++){\n if (!FS.streams[fd]) return fd;\n }\n throw new FS.ErrnoError(33);\n },\n getStream: (fd)=>FS.streams[fd],\n createStream: (stream, fd_start, fd_end)=>{\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: (fd)=>{\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: (stream)=>{\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n },\n llseek: ()=>{\n throw new FS.ErrnoError(70);\n }\n },\n major: (dev)=>dev >> 8,\n minor: (dev)=>dev & 255,\n makedev: (ma, mi)=>ma << 8 | mi,\n registerDevice: (dev, ops)=>{\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: (dev)=>FS.devices[dev],\n getMounts: (mount)=>{\n var mounts = [];\n var check = [\n mount\n ];\n while(check.length){\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback)=>{\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) doCallback(null);\n }\n mounts.forEach((mount)=>{\n if (!mount.type.syncfs) return done(null);\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint)=>{\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) throw new FS.ErrnoError(10);\n else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n if (!FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) FS.root = mountRoot;\n else if (node) {\n node.mounted = mount;\n if (node.mount) node.mount.mounts.push(mount);\n }\n return mountRoot;\n },\n unmount: (mountpoint)=>{\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) throw new FS.ErrnoError(28);\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach((hash)=>{\n var current = FS.nameTable[hash];\n while(current){\n var next = current.name_next;\n if (mounts.includes(current.mount)) FS.destroyNode(current);\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name)=>{\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") throw new FS.ErrnoError(28);\n var errCode = FS.mayCreate(parent, name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.mknod) throw new FS.ErrnoError(63);\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode)=>{\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode)=>{\n mode = mode !== undefined ? mode : 511;\n mode &= 1023;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode)=>{\n var dirs = path.split(\"/\");\n var d = \"\";\n for(var i = 0; i < dirs.length; ++i){\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev)=>{\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath)=>{\n if (!PATH_FS.resolve(oldpath)) throw new FS.ErrnoError(44);\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.symlink) throw new FS.ErrnoError(63);\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path)=>{\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) throw new FS.ErrnoError(75);\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(28);\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(55);\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) return;\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) throw new FS.ErrnoError(errCode);\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!old_dir.node_ops.rename) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) throw new FS.ErrnoError(10);\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally{\n FS.hashAddNode(old_node);\n }\n },\n rmdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.rmdir) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) throw new FS.ErrnoError(54);\n return node.node_ops.readdir(node);\n },\n unlink: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.unlink) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: (path)=>{\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) throw new FS.ErrnoError(44);\n if (!link.node_ops.readlink) throw new FS.ErrnoError(28);\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow)=>{\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) throw new FS.ErrnoError(44);\n if (!node.node_ops.getattr) throw new FS.ErrnoError(63);\n return node.node_ops.getattr(node);\n },\n lstat: (path)=>{\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & -4096,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode)=>{\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid)=>{\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len)=>{\n if (len < 0) throw new FS.ErrnoError(28);\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n if (FS.isDir(node.mode)) throw new FS.ErrnoError(31);\n if (!FS.isFile(node.mode)) throw new FS.ErrnoError(28);\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(28);\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode)=>{\n if (path === \"\") throw new FS.ErrnoError(44);\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) mode = mode & 4095 | 32768;\n else mode = 0;\n var node;\n if (typeof path == \"object\") node = path;\n else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) throw new FS.ErrnoError(20);\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) throw new FS.ErrnoError(44);\n if (FS.isChrdev(node.mode)) flags &= -513;\n if (flags & 65536 && !FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n if (flags & 512 && !created) FS.truncate(node, 0);\n flags &= -131713;\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) FS.readFiles[path] = 1;\n }\n return stream;\n },\n close: (stream)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) stream.stream_ops.close(stream);\n } catch (e) {\n throw e;\n } finally{\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: (stream)=>{\n return stream.fd === null;\n },\n llseek: (stream, offset, whence)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (!stream.seekable || !stream.stream_ops.llseek) throw new FS.ErrnoError(70);\n if (whence != 0 && whence != 1 && whence != 2) throw new FS.ErrnoError(28);\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.read) throw new FS.ErrnoError(28);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.write) throw new FS.ErrnoError(28);\n if (stream.seekable && stream.flags & 1024) FS.llseek(stream, 0, 2);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (offset < 0 || length <= 0) throw new FS.ErrnoError(28);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) throw new FS.ErrnoError(43);\n if (!stream.stream_ops.allocate) throw new FS.ErrnoError(138);\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags)=>{\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) throw new FS.ErrnoError(2);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(2);\n if (!stream.stream_ops.mmap) throw new FS.ErrnoError(43);\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags)=>{\n if (!stream.stream_ops.msync) return 0;\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: (stream)=>0,\n ioctl: (stream, cmd, arg)=>{\n if (!stream.stream_ops.ioctl) throw new FS.ErrnoError(59);\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {})=>{\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") ret = UTF8ArrayToString(buf, 0);\n else if (opts.encoding === \"binary\") ret = buf;\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {})=>{\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n else throw new Error(\"Unsupported data type\");\n FS.close(stream);\n },\n cwd: ()=>FS.currentPath,\n chdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) throw new FS.ErrnoError(44);\n if (!FS.isDir(lookup.node.mode)) throw new FS.ErrnoError(54);\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) throw new FS.ErrnoError(errCode);\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: ()=>{\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: ()=>{\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: ()=>0,\n write: (stream, buffer, offset, length, pos)=>length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: ()=>{\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: ()=>{\n var node = FS.createNode(proc_self, \"fd\", 16895, 73);\n node.node_ops = {\n lookup: (parent, name)=>{\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: ()=>stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: ()=>{\n if (Module[\"stdin\"]) FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n if (Module[\"stdout\"]) FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n if (Module[\"stderr\"]) FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n else FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: ()=>{\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [\n 44\n ].forEach((code)=>{\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: ()=>{\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error)=>{\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: ()=>{\n FS.init.initialized = false;\n _fflush(0);\n for(var i = 0; i < FS.streams.length; i++){\n var stream = FS.streams[i];\n if (!stream) continue;\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite)=>{\n var mode = 0;\n if (canRead) mode |= 365;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink)=>{\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) return null;\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink)=>{\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite)=>{\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while(parts.length){\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn)=>{\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for(var i = 0, len = data.length; i < len; ++i)arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: (stream)=>{\n stream.seekable = false;\n },\n close: (stream)=>{\n if (output && output.buffer && output.buffer.length) output(10);\n },\n read: (stream, buffer, offset, length, pos)=>{\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos)=>{\n for(var i = 0; i < length; i++)try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: (obj)=>{\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n 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.\");\n else if (read_) try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n else throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n },\n createLazyFile: (parent, name, url, canRead, canWrite)=>{\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) return undefined;\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1048576;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to)=>{\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) return new Uint8Array(xhr.response || []);\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter((chunkNum)=>{\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") lazyArray.chunks[chunkNum] = doXHR(start, end);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else var properties = {\n isDevice: false,\n url: url\n };\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) node.contents = properties.contents;\n else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach((key)=>{\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents.get(position + i);\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position)=>{\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags)=>{\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish)=>{\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, ()=>{\n if (onerror) onerror();\n removeRunDependency(dep);\n })) return;\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") asyncLoad(url, (byteArray)=>processData(byteArray), onerror);\n else processData(url);\n },\n indexedDB: ()=>{\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: ()=>{\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = ()=>{\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = ()=>{\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n try {\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var getRequest = files.get(path);\n getRequest.onsuccess = ()=>{\n if (FS.analyzePath(path).exists) FS.unlink(path);\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n };\n var SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) return path;\n var dir;\n if (dirfd === -100) dir = FS.cwd();\n else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) throw new FS.ErrnoError(44);\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) return -54;\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n tempI64 = [\n stat.size >>> 0,\n (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)\n ], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [\n Math.floor(atime / 1e3) >>> 0,\n (tempDouble = Math.floor(atime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(mtime / 1e3) >>> 0,\n (tempDouble = Math.floor(mtime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(ctime / 1e3) >>> 0,\n (tempDouble = Math.floor(ctime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n tempI64 = [\n stat.ino >>> 0,\n (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)\n ], HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n if (flags & 2) return 0;\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n };\n function ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & -8) return -28;\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) return -44;\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) return -2;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n }\n function ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(cmd){\n case 0:\n var arg = SYSCALLS.get();\n if (arg < 0) return -28;\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n case 1:\n case 2:\n return 0;\n case 3:\n return stream.flags;\n case 4:\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n case 5:\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n case 6:\n case 7:\n return 0;\n case 16:\n case 8:\n return -28;\n case 9:\n setErrNo(28);\n return -1;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(op){\n case 21509:\n case 21505:\n if (!stream.tty) return -59;\n return 0;\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n if (!stream.tty) return -59;\n return 0;\n case 21519:\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n case 21520:\n if (!stream.tty) return -59;\n return -28;\n case 21531:\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n case 21523:\n if (!stream.tty) return -59;\n return 0;\n case 21524:\n if (!stream.tty) return -59;\n return 0;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_stat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n var nowIsMonotonic = true;\n function __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n }\n function readI53FromI64(ptr) {\n return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296;\n }\n function __isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n }\n var __MONTH_DAYS_LEAP_CUMULATIVE = [\n 0,\n 31,\n 60,\n 91,\n 121,\n 152,\n 182,\n 213,\n 244,\n 274,\n 305,\n 335\n ];\n var __MONTH_DAYS_REGULAR_CUMULATIVE = [\n 0,\n 31,\n 59,\n 90,\n 120,\n 151,\n 181,\n 212,\n 243,\n 273,\n 304,\n 334\n ];\n function __yday_from_date(date) {\n var isLeapYear = __isLeapYear(date.getFullYear());\n var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday;\n }\n function __localtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n HEAP32[tmPtr + 32 >> 2] = dst;\n }\n function allocateUTF8(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = _malloc(size);\n if (ret) stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function __tzset_js(timezone, daylight, tzname) {\n var currentYear = new Date().getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;\n HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);\n function extractZone(date) {\n var match = date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return match ? match[1] : \"GMT\";\n }\n var winterName = extractZone(winter);\n var summerName = extractZone(summer);\n var winterNamePtr = allocateUTF8(winterName);\n var summerNamePtr = allocateUTF8(summerName);\n if (summerOffset < winterOffset) {\n HEAPU32[tzname >> 2] = winterNamePtr;\n HEAPU32[tzname + 4 >> 2] = summerNamePtr;\n } else {\n HEAPU32[tzname >> 2] = summerNamePtr;\n HEAPU32[tzname + 4 >> 2] = winterNamePtr;\n }\n }\n function _emscripten_date_now() {\n return Date.now();\n }\n var _emscripten_get_now;\n _emscripten_get_now = ()=>performance.now();\n function _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n }\n function getHeapMax() {\n return 2147483648;\n }\n function emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n }\n function _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) return false;\n let alignUp = (x, multiple)=>x + (multiple - x % multiple) % multiple;\n for(var cutDown = 1; cutDown <= 4; cutDown *= 2){\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) return true;\n }\n return false;\n }\n function _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n }\n function exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) exitRuntime();\n _proc_exit(status);\n }\n var _exit = exitJS;\n function _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n }\n function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n tempI64 = [\n stream.position >>> 0,\n (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)\n ], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function __arraySum(array, index) {\n var sum = 0;\n for(var i = 0; i <= index; sum += array[i++]);\n return sum;\n }\n var __MONTH_DAYS_LEAP = [\n 31,\n 29,\n 31,\n 30,\n 31,\n 30,\n 31,\n 31,\n 30,\n 31,\n 30,\n 31\n ];\n var __MONTH_DAYS_REGULAR = [\n 31,\n 28,\n 31,\n 30,\n 31,\n 30,\n 31,\n 31,\n 30,\n 31,\n 30,\n 31\n ];\n function __addDays(date, days) {\n var newDate = new Date(date.getTime());\n while(days > 0){\n var leap = __isLeapYear(newDate.getFullYear());\n var currentMonth = newDate.getMonth();\n var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];\n if (days > daysInCurrentMonth - newDate.getDate()) {\n days -= daysInCurrentMonth - newDate.getDate() + 1;\n newDate.setDate(1);\n if (currentMonth < 11) newDate.setMonth(currentMonth + 1);\n else {\n newDate.setMonth(0);\n newDate.setFullYear(newDate.getFullYear() + 1);\n }\n } else {\n newDate.setDate(newDate.getDate() + days);\n return newDate;\n }\n }\n return newDate;\n }\n function writeArrayToMemory(array, buffer) {\n HEAP8.set(array, buffer);\n }\n function _strftime(s, maxsize, format, tm) {\n var tm_zone = HEAP32[tm + 40 >> 2];\n var date = {\n tm_sec: HEAP32[tm >> 2],\n tm_min: HEAP32[tm + 4 >> 2],\n tm_hour: HEAP32[tm + 8 >> 2],\n tm_mday: HEAP32[tm + 12 >> 2],\n tm_mon: HEAP32[tm + 16 >> 2],\n tm_year: HEAP32[tm + 20 >> 2],\n tm_wday: HEAP32[tm + 24 >> 2],\n tm_yday: HEAP32[tm + 28 >> 2],\n tm_isdst: HEAP32[tm + 32 >> 2],\n tm_gmtoff: HEAP32[tm + 36 >> 2],\n tm_zone: tm_zone ? UTF8ToString(tm_zone) : \"\"\n };\n var pattern = UTF8ToString(format);\n var EXPANSION_RULES_1 = {\n \"%c\": \"%a %b %d %H:%M:%S %Y\",\n \"%D\": \"%m/%d/%y\",\n \"%F\": \"%Y-%m-%d\",\n \"%h\": \"%b\",\n \"%r\": \"%I:%M:%S %p\",\n \"%R\": \"%H:%M\",\n \"%T\": \"%H:%M:%S\",\n \"%x\": \"%m/%d/%y\",\n \"%X\": \"%H:%M:%S\",\n \"%Ec\": \"%c\",\n \"%EC\": \"%C\",\n \"%Ex\": \"%m/%d/%y\",\n \"%EX\": \"%H:%M:%S\",\n \"%Ey\": \"%y\",\n \"%EY\": \"%Y\",\n \"%Od\": \"%d\",\n \"%Oe\": \"%e\",\n \"%OH\": \"%H\",\n \"%OI\": \"%I\",\n \"%Om\": \"%m\",\n \"%OM\": \"%M\",\n \"%OS\": \"%S\",\n \"%Ou\": \"%u\",\n \"%OU\": \"%U\",\n \"%OV\": \"%V\",\n \"%Ow\": \"%w\",\n \"%OW\": \"%W\",\n \"%Oy\": \"%y\"\n };\n for(var rule in EXPANSION_RULES_1)pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_1[rule]);\n var WEEKDAYS = [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n ];\n var MONTHS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ];\n function leadingSomething(value, digits, character) {\n var str = typeof value == \"number\" ? value.toString() : value || \"\";\n while(str.length < digits)str = character[0] + str;\n return str;\n }\n function leadingNulls(value, digits) {\n return leadingSomething(value, digits, \"0\");\n }\n function compareByDay(date1, date2) {\n function sgn(value) {\n return value < 0 ? -1 : value > 0 ? 1 : 0;\n }\n var compare;\n if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {\n if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) compare = sgn(date1.getDate() - date2.getDate());\n }\n return compare;\n }\n function getFirstWeekStartDate(janFourth) {\n switch(janFourth.getDay()){\n case 0:\n return new Date(janFourth.getFullYear() - 1, 11, 29);\n case 1:\n return janFourth;\n case 2:\n return new Date(janFourth.getFullYear(), 0, 3);\n case 3:\n return new Date(janFourth.getFullYear(), 0, 2);\n case 4:\n return new Date(janFourth.getFullYear(), 0, 1);\n case 5:\n return new Date(janFourth.getFullYear() - 1, 11, 31);\n case 6:\n return new Date(janFourth.getFullYear() - 1, 11, 30);\n }\n }\n function getWeekBasedYear(date) {\n var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);\n var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);\n var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);\n var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);\n var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);\n if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {\n if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) return thisDate.getFullYear() + 1;\n return thisDate.getFullYear();\n }\n return thisDate.getFullYear() - 1;\n }\n var EXPANSION_RULES_2 = {\n \"%a\": function(date) {\n return WEEKDAYS[date.tm_wday].substring(0, 3);\n },\n \"%A\": function(date) {\n return WEEKDAYS[date.tm_wday];\n },\n \"%b\": function(date) {\n return MONTHS[date.tm_mon].substring(0, 3);\n },\n \"%B\": function(date) {\n return MONTHS[date.tm_mon];\n },\n \"%C\": function(date) {\n var year = date.tm_year + 1900;\n return leadingNulls(year / 100 | 0, 2);\n },\n \"%d\": function(date) {\n return leadingNulls(date.tm_mday, 2);\n },\n \"%e\": function(date) {\n return leadingSomething(date.tm_mday, 2, \" \");\n },\n \"%g\": function(date) {\n return getWeekBasedYear(date).toString().substring(2);\n },\n \"%G\": function(date) {\n return getWeekBasedYear(date);\n },\n \"%H\": function(date) {\n return leadingNulls(date.tm_hour, 2);\n },\n \"%I\": function(date) {\n var twelveHour = date.tm_hour;\n if (twelveHour == 0) twelveHour = 12;\n else if (twelveHour > 12) twelveHour -= 12;\n return leadingNulls(twelveHour, 2);\n },\n \"%j\": function(date) {\n return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);\n },\n \"%m\": function(date) {\n return leadingNulls(date.tm_mon + 1, 2);\n },\n \"%M\": function(date) {\n return leadingNulls(date.tm_min, 2);\n },\n \"%n\": function() {\n return \"\\n\";\n },\n \"%p\": function(date) {\n if (date.tm_hour >= 0 && date.tm_hour < 12) return \"AM\";\n return \"PM\";\n },\n \"%S\": function(date) {\n return leadingNulls(date.tm_sec, 2);\n },\n \"%t\": function() {\n return \"\t\";\n },\n \"%u\": function(date) {\n return date.tm_wday || 7;\n },\n \"%U\": function(date) {\n var days = date.tm_yday + 7 - date.tm_wday;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%V\": function(date) {\n var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7) / 7);\n if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) val++;\n if (!val) {\n val = 52;\n var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;\n if (dec31 == 4 || dec31 == 5 && __isLeapYear(date.tm_year % 400 - 1)) val++;\n } else if (val == 53) {\n var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;\n if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) val = 1;\n }\n return leadingNulls(val, 2);\n },\n \"%w\": function(date) {\n return date.tm_wday;\n },\n \"%W\": function(date) {\n var days = date.tm_yday + 7 - (date.tm_wday + 6) % 7;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%y\": function(date) {\n return (date.tm_year + 1900).toString().substring(2);\n },\n \"%Y\": function(date) {\n return date.tm_year + 1900;\n },\n \"%z\": function(date) {\n var off = date.tm_gmtoff;\n var ahead = off >= 0;\n off = Math.abs(off) / 60;\n off = off / 60 * 100 + off % 60;\n return (ahead ? \"+\" : \"-\") + String(\"0000\" + off).slice(-4);\n },\n \"%Z\": function(date) {\n return date.tm_zone;\n },\n \"%%\": function() {\n return \"%\";\n }\n };\n pattern = pattern.replace(/%%/g, \"\\x00\\x00\");\n for(var rule in EXPANSION_RULES_2)if (pattern.includes(rule)) pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_2[rule](date));\n pattern = pattern.replace(/\\0\\0/g, \"%\");\n var bytes = intArrayFromString(pattern, false);\n if (bytes.length > maxsize) return 0;\n writeArrayToMemory(bytes, s);\n return bytes.length - 1;\n }\n function handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") return EXITSTATUS;\n quit_(1, e);\n }\n function allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n }\n function maybeExit() {\n if (!keepRuntimeAlive()) try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n function callUserCallback(func) {\n if (runtimeExited || ABORT) return;\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n }\n function runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n }\n function runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n }\n var Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [\n \"emscripten_sleep\",\n \"emscripten_wget\",\n \"emscripten_wget_data\",\n \"emscripten_idb_load\",\n \"emscripten_idb_store\",\n \"emscripten_idb_delete\",\n \"emscripten_idb_exists\",\n \"emscripten_idb_load_blob\",\n \"emscripten_idb_store_blob\",\n \"SDL_Delay\",\n \"emscripten_scan_registers\",\n \"emscripten_lazy_load_code\",\n \"emscripten_fiber_swap\",\n \"__load_secondary_module\",\n \"fd_sync\",\n \"__wasi_fd_sync\",\n \"_emval_await\",\n \"_dlopen_js\",\n \"__asyncjs__*\"\n ];\n for(var x in imports)(function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n })(x);\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for(var x in exports)(function(x) {\n var original = exports[x];\n if (typeof original == \"function\") ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally{\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n else ret[x] = original;\n })(x);\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") Fibers.trampoline();\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject)=>{\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0)=>{\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) return;\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.resume();\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) throw asyncWasmReturnValue;\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.pause();\n runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach((func)=>callUserCallback(func));\n } else abort(\"invalid state: \" + Asyncify.state);\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep((wakeUp)=>{\n startAsync().then(wakeUp);\n });\n }\n };\n function AsciiToString(ptr) {\n var str = \"\";\n while(true){\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n }\n var FSNode = function(parent, name, mode, rdev) {\n if (!parent) parent = this;\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n };\n var readMode = 365;\n var writeMode = 146;\n Object.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n });\n FS.FSNode = FSNode;\n FS.staticInit();\n var wasmImports = {\n \"j\": __asyncjs__emglken_fill_stdin_buffer,\n \"s\": ___syscall_faccessat,\n \"e\": ___syscall_fcntl64,\n \"r\": ___syscall_getcwd,\n \"q\": ___syscall_ioctl,\n \"p\": ___syscall_openat,\n \"o\": ___syscall_stat64,\n \"m\": __emscripten_get_now_is_monotonic,\n \"l\": __localtime_js,\n \"k\": __tzset_js,\n \"b\": _emscripten_date_now,\n \"i\": _emscripten_memcpy_big,\n \"h\": _emscripten_resize_heap,\n \"a\": _exit,\n \"d\": _fd_close,\n \"n\": _fd_read,\n \"g\": _fd_seek,\n \"c\": _fd_write,\n \"f\": _strftime\n };\n var asm = createWasm();\n var ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"u\"]).apply(null, arguments);\n };\n var _malloc = function() {\n return (_malloc = Module[\"asm\"][\"v\"]).apply(null, arguments);\n };\n var _free = function() {\n return (_free = Module[\"asm\"][\"w\"]).apply(null, arguments);\n };\n var _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"x\"]).apply(null, arguments);\n };\n var _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"y\"]).apply(null, arguments);\n };\n var _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"z\"]).apply(null, arguments);\n };\n var ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"A\"]).apply(null, arguments);\n };\n var ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"B\"]).apply(null, arguments);\n };\n var _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n };\n var stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"D\"]).apply(null, arguments);\n };\n var _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"E\"]).apply(null, arguments);\n };\n var _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"F\"]).apply(null, arguments);\n };\n var _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"G\"]).apply(null, arguments);\n };\n var _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"H\"]).apply(null, arguments);\n };\n var ___start_em_js = Module[\"___start_em_js\"] = 18128;\n var ___stop_em_js = Module[\"___stop_em_js\"] = 20813;\n Module[\"AsciiToString\"] = AsciiToString;\n Module[\"FS\"] = FS;\n var calledRun;\n dependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n };\n function callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach((arg)=>{\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n }\n function run(args = arguments_) {\n if (runDependencies > 0) return;\n preRun();\n if (runDependencies > 0) return;\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else doRun();\n }\n if (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [\n Module[\"preInit\"]\n ];\n while(Module[\"preInit\"].length > 0)Module[\"preInit\"].pop()();\n }\n var shouldRunNow = true;\n if (Module[\"noInitialRun\"]) shouldRunNow = false;\n run();\n return Module.ready;\n };\n})();\nvar $6b4c486f96eb5551$export$2e2bcd8739ae039 = $6b4c486f96eb5551$var$Module;\n\n\nclass $93f872a37763fb75$export$2e2bcd8739ae039 extends (0, $7c4ebf67e8338ec8$export$2e2bcd8739ae039) {\n default_options() {\n return {\n vmcore: (0, $6b4c486f96eb5551$export$2e2bcd8739ae039)\n };\n }\n}\n\n\n/*\n\nEmglken port of TADS\n====================\n\nCopyright (c) 2020 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/ \nvar $56d7e4ab31bcd78a$exports = {};\n\n\n$56d7e4ab31bcd78a$exports = (parcelRequire(\"6kBsm\")).getBundleURL(\"ejVIo\") + (parcelRequire(\"n9Yfb\")).resolve(\"b8QSH\");\n\n\nvar $5da5b9828ec10744$var$Module = (()=>{\n var _scriptDir = \"file:///node_modules/emglken/build/tads-core.js\";\n return function(Module = {}) {\n var Module = typeof Module != \"undefined\" ? Module : {};\n var readyPromiseResolve, readyPromiseReject;\n Module[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n });\n var moduleOverrides = Object.assign({}, Module);\n var arguments_ = [];\n var thisProgram = \"./this.program\";\n var quit_ = (status, toThrow)=>{\n throw toThrow;\n };\n var ENVIRONMENT_IS_WEB = true;\n var ENVIRONMENT_IS_WORKER = false;\n var scriptDirectory = \"\";\n function locateFile(path) {\n if (Module[\"locateFile\"]) return Module[\"locateFile\"](path, scriptDirectory);\n return scriptDirectory + path;\n }\n var read_, readAsync, readBinary, setWindowTitle;\n if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) scriptDirectory = self.location.href;\n else if (typeof document != \"undefined\" && document.currentScript) scriptDirectory = document.currentScript.src;\n if (_scriptDir) scriptDirectory = _scriptDir;\n if (scriptDirectory.indexOf(\"blob:\") !== 0) scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n else scriptDirectory = \"\";\n read_ = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) readBinary = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n readAsync = (url, onload, onerror)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = ()=>{\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n setWindowTitle = (title)=>document.title = title;\n }\n var out = Module[\"print\"] || console.log.bind(console);\n var err = Module[\"printErr\"] || console.warn.bind(console);\n Object.assign(Module, moduleOverrides);\n moduleOverrides = null;\n if (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n if (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n if (Module[\"quit\"]) quit_ = Module[\"quit\"];\n var wasmBinary;\n if (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n var noExitRuntime = Module[\"noExitRuntime\"] || false;\n if (typeof WebAssembly != \"object\") abort(\"no native wasm support detected\");\n var wasmMemory;\n var ABORT = false;\n var EXITSTATUS;\n function assert(condition, text) {\n if (!condition) abort(text);\n }\n var UTF8Decoder = new TextDecoder(\"utf8\");\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while(heapOrArray[endPtr] && !(endPtr >= endIdx))++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for(var end = ptr; !(end >= maxPtr) && HEAPU8[end];)++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n }\n function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for(var i = 0; i < str.length; ++i){\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n }\n function stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n }\n function lengthBytesUTF8(str) {\n var len = 0;\n for(var i = 0; i < str.length; ++i){\n var c = str.charCodeAt(i);\n if (c <= 127) len++;\n else if (c <= 2047) len += 2;\n else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else len += 3;\n }\n return len;\n }\n var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n function updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n }\n var wasmTable;\n var __ATPRERUN__ = [];\n var __ATINIT__ = [];\n var __ATMAIN__ = [];\n var __ATEXIT__ = [];\n var __ATPOSTRUN__ = [];\n var runtimeInitialized = false;\n var runtimeExited = false;\n var runtimeKeepaliveCounter = 0;\n function keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n }\n function preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [\n Module[\"preRun\"]\n ];\n while(Module[\"preRun\"].length)addOnPreRun(Module[\"preRun\"].shift());\n }\n callRuntimeCallbacks(__ATPRERUN__);\n }\n function initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n }\n function preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n }\n function exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n }\n function postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [\n Module[\"postRun\"]\n ];\n while(Module[\"postRun\"].length)addOnPostRun(Module[\"postRun\"].shift());\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n }\n function addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n }\n function addOnInit(cb) {\n __ATINIT__.unshift(cb);\n }\n function addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n }\n var runDependencies = 0;\n var runDependencyWatcher = null;\n var dependenciesFulfilled = null;\n function getUniqueRunDependency(id) {\n return id;\n }\n function addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n }\n function removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n }\n function abort(what) {\n if (Module[\"onAbort\"]) Module[\"onAbort\"](what);\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n }\n var dataURIPrefix = \"data:application/octet-stream;base64,\";\n function isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n }\n var wasmBinaryFile;\n if (Module[\"locateFile\"]) {\n wasmBinaryFile = \"tads-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) wasmBinaryFile = locateFile(wasmBinaryFile);\n } else wasmBinaryFile = new URL($56d7e4ab31bcd78a$exports).href;\n function getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) return new Uint8Array(wasmBinary);\n if (readBinary) return readBinary(file);\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n }\n function getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n }\n function instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n }\n function instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n else return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n function createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"ha\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"qa\"];\n addOnInit(Module[\"asm\"][\"ia\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n }\n var tempDouble;\n var tempI64;\n function __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async ()=>{\n if (!Module.emglken_stdin_buffers.length) await new Promise((resolve)=>{\n Module.emglken_stdin_ready = resolve;\n });\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) HEAPU8.set(input, buffer);\n else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n }\n function ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n }\n function callRuntimeCallbacks(callbacks) {\n while(callbacks.length > 0)callbacks.shift()(Module);\n }\n var PATH = {\n isAbs: (path)=>path.charAt(0) === \"/\",\n splitPath: (filename)=>{\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot)=>{\n var up = 0;\n for(var i = parts.length - 1; i >= 0; i--){\n var last = parts[i];\n if (last === \".\") parts.splice(i, 1);\n else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) for(; up; up--)parts.unshift(\"..\");\n return parts;\n },\n normalize: (path)=>{\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter((p)=>!!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) path = \".\";\n if (path && trailingSlash) path += \"/\";\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: (path)=>{\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) return \".\";\n if (dir) dir = dir.substr(0, dir.length - 1);\n return root + dir;\n },\n basename: (path)=>{\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r)=>{\n return PATH.normalize(l + \"/\" + r);\n }\n };\n function getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return ()=>{\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return ()=>abort(\"randomDevice\");\n }\n var PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for(var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--){\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") throw new TypeError(\"Arguments to path.resolve must be strings\");\n else if (!path) return \"\";\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter((p)=>!!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to)=>{\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for(; start < arr.length; start++){\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for(; end >= 0; end--){\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for(var i = 0; i < length; i++)if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n var outputParts = [];\n for(var i = samePartsLength; i < fromParts.length; i++)outputParts.push(\"..\");\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n };\n function intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n }\n var TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) throw new FS.ErrnoError(43);\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) throw new FS.ErrnoError(60);\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) throw new FS.ErrnoError(60);\n try {\n for(var i = 0; i < length; i++)stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) result += \"\\n\";\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) result += \"\\n\";\n }\n if (!result) return null;\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n };\n function mmapAlloc(size) {\n abort();\n }\n var MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16895, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) throw new FS.ErrnoError(63);\n if (!MEMFS.ops_table) MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1048576;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) attr.size = 4096;\n else if (FS.isFile(node.mode)) attr.size = node.usedBytes;\n else if (FS.isLink(node.mode)) attr.size = node.link.length;\n else attr.size = 0;\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) node.mode = attr.mode;\n if (attr.timestamp !== undefined) node.timestamp = attr.timestamp;\n if (attr.size !== undefined) MEMFS.resizeFileStorage(node, attr.size);\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for(var i in new_node.contents)throw new FS.ErrnoError(55);\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for(var i in node.contents)throw new FS.ErrnoError(55);\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [\n \".\",\n \"..\"\n ];\n for(var key in node.contents){\n if (!node.contents.hasOwnProperty(key)) continue;\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 41471, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) throw new FS.ErrnoError(28);\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) buffer.set(contents.subarray(position, position + size), offset);\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) canOwn = false;\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position);\n else for(var i = 0; i < length; i++)node.contents[position + i] = buffer[offset + i];\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) position += stream.position;\n else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) position += stream.node.usedBytes;\n }\n if (position < 0) throw new FS.ErrnoError(28);\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) contents = contents.subarray(position, position + length);\n else contents = Array.prototype.slice.call(contents, position, position + length);\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n };\n function asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, (arrayBuffer)=>{\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, (event)=>{\n if (onerror) onerror();\n else throw 'Loading data file \"' + url + '\" failed.';\n });\n if (dep) addRunDependency(dep);\n }\n var FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {})=>{\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) throw new FS.ErrnoError(32);\n var parts = path.split(\"/\").filter((p)=>!!p);\n var current = FS.root;\n var current_path = \"/\";\n for(var i = 0; i < parts.length; i++){\n var islast = i === parts.length - 1;\n if (islast && opts.parent) break;\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) current = current.mounted.root;\n }\n if (!islast || opts.follow) {\n var count = 0;\n while(FS.isLink(current.mode)){\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) throw new FS.ErrnoError(32);\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: (node)=>{\n var path;\n while(true){\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name)=>{\n var hash = 0;\n for(var i = 0; i < name.length; i++)hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) FS.nameTable[hash] = node.name_next;\n else {\n var current = FS.nameTable[hash];\n while(current){\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name)=>{\n var errCode = FS.mayLookup(parent);\n if (errCode) throw new FS.ErrnoError(errCode, parent);\n var hash = FS.hashName(parent.id, name);\n for(var node = FS.nameTable[hash]; node; node = node.name_next){\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) return node;\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev)=>{\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: (node)=>{\n FS.hashRemoveNode(node);\n },\n isRoot: (node)=>{\n return node === node.parent;\n },\n isMountpoint: (node)=>{\n return !!node.mounted;\n },\n isFile: (mode)=>{\n return (mode & 61440) === 32768;\n },\n isDir: (mode)=>{\n return (mode & 61440) === 16384;\n },\n isLink: (mode)=>{\n return (mode & 61440) === 40960;\n },\n isChrdev: (mode)=>{\n return (mode & 61440) === 8192;\n },\n isBlkdev: (mode)=>{\n return (mode & 61440) === 24576;\n },\n isFIFO: (mode)=>{\n return (mode & 61440) === 4096;\n },\n isSocket: (mode)=>{\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: (str)=>{\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") throw new Error(\"Unknown file open mode: \" + str);\n return flags;\n },\n flagsToPermissionString: (flag)=>{\n var perms = [\n \"r\",\n \"w\",\n \"rw\"\n ][flag & 3];\n if (flag & 512) perms += \"w\";\n return perms;\n },\n nodePermissions: (node, perms)=>{\n if (FS.ignorePermissions) return 0;\n if (perms.includes(\"r\") && !(node.mode & 292)) return 2;\n else if (perms.includes(\"w\") && !(node.mode & 146)) return 2;\n else if (perms.includes(\"x\") && !(node.mode & 73)) return 2;\n return 0;\n },\n mayLookup: (dir)=>{\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name)=>{\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir)=>{\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) return errCode;\n if (isdir) {\n if (!FS.isDir(node.mode)) return 54;\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) return 10;\n } else {\n if (FS.isDir(node.mode)) return 31;\n }\n return 0;\n },\n mayOpen: (node, flags)=>{\n if (!node) return 44;\n if (FS.isLink(node.mode)) return 32;\n else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) return 31;\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS)=>{\n for(var fd = fd_start; fd <= fd_end; fd++){\n if (!FS.streams[fd]) return fd;\n }\n throw new FS.ErrnoError(33);\n },\n getStream: (fd)=>FS.streams[fd],\n createStream: (stream, fd_start, fd_end)=>{\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: (fd)=>{\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: (stream)=>{\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n },\n llseek: ()=>{\n throw new FS.ErrnoError(70);\n }\n },\n major: (dev)=>dev >> 8,\n minor: (dev)=>dev & 255,\n makedev: (ma, mi)=>ma << 8 | mi,\n registerDevice: (dev, ops)=>{\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: (dev)=>FS.devices[dev],\n getMounts: (mount)=>{\n var mounts = [];\n var check = [\n mount\n ];\n while(check.length){\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback)=>{\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) doCallback(null);\n }\n mounts.forEach((mount)=>{\n if (!mount.type.syncfs) return done(null);\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint)=>{\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) throw new FS.ErrnoError(10);\n else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n if (!FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) FS.root = mountRoot;\n else if (node) {\n node.mounted = mount;\n if (node.mount) node.mount.mounts.push(mount);\n }\n return mountRoot;\n },\n unmount: (mountpoint)=>{\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) throw new FS.ErrnoError(28);\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach((hash)=>{\n var current = FS.nameTable[hash];\n while(current){\n var next = current.name_next;\n if (mounts.includes(current.mount)) FS.destroyNode(current);\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name)=>{\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") throw new FS.ErrnoError(28);\n var errCode = FS.mayCreate(parent, name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.mknod) throw new FS.ErrnoError(63);\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode)=>{\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode)=>{\n mode = mode !== undefined ? mode : 511;\n mode &= 1023;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode)=>{\n var dirs = path.split(\"/\");\n var d = \"\";\n for(var i = 0; i < dirs.length; ++i){\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev)=>{\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath)=>{\n if (!PATH_FS.resolve(oldpath)) throw new FS.ErrnoError(44);\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.symlink) throw new FS.ErrnoError(63);\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path)=>{\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) throw new FS.ErrnoError(75);\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(28);\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(55);\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) return;\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) throw new FS.ErrnoError(errCode);\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!old_dir.node_ops.rename) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) throw new FS.ErrnoError(10);\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally{\n FS.hashAddNode(old_node);\n }\n },\n rmdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.rmdir) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) throw new FS.ErrnoError(54);\n return node.node_ops.readdir(node);\n },\n unlink: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.unlink) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: (path)=>{\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) throw new FS.ErrnoError(44);\n if (!link.node_ops.readlink) throw new FS.ErrnoError(28);\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow)=>{\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) throw new FS.ErrnoError(44);\n if (!node.node_ops.getattr) throw new FS.ErrnoError(63);\n return node.node_ops.getattr(node);\n },\n lstat: (path)=>{\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & -4096,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode)=>{\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid)=>{\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len)=>{\n if (len < 0) throw new FS.ErrnoError(28);\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n if (FS.isDir(node.mode)) throw new FS.ErrnoError(31);\n if (!FS.isFile(node.mode)) throw new FS.ErrnoError(28);\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(28);\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode)=>{\n if (path === \"\") throw new FS.ErrnoError(44);\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) mode = mode & 4095 | 32768;\n else mode = 0;\n var node;\n if (typeof path == \"object\") node = path;\n else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) throw new FS.ErrnoError(20);\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) throw new FS.ErrnoError(44);\n if (FS.isChrdev(node.mode)) flags &= -513;\n if (flags & 65536 && !FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n if (flags & 512 && !created) FS.truncate(node, 0);\n flags &= -131713;\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) FS.readFiles[path] = 1;\n }\n return stream;\n },\n close: (stream)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) stream.stream_ops.close(stream);\n } catch (e) {\n throw e;\n } finally{\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: (stream)=>{\n return stream.fd === null;\n },\n llseek: (stream, offset, whence)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (!stream.seekable || !stream.stream_ops.llseek) throw new FS.ErrnoError(70);\n if (whence != 0 && whence != 1 && whence != 2) throw new FS.ErrnoError(28);\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.read) throw new FS.ErrnoError(28);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.write) throw new FS.ErrnoError(28);\n if (stream.seekable && stream.flags & 1024) FS.llseek(stream, 0, 2);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (offset < 0 || length <= 0) throw new FS.ErrnoError(28);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) throw new FS.ErrnoError(43);\n if (!stream.stream_ops.allocate) throw new FS.ErrnoError(138);\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags)=>{\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) throw new FS.ErrnoError(2);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(2);\n if (!stream.stream_ops.mmap) throw new FS.ErrnoError(43);\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags)=>{\n if (!stream.stream_ops.msync) return 0;\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: (stream)=>0,\n ioctl: (stream, cmd, arg)=>{\n if (!stream.stream_ops.ioctl) throw new FS.ErrnoError(59);\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {})=>{\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") ret = UTF8ArrayToString(buf, 0);\n else if (opts.encoding === \"binary\") ret = buf;\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {})=>{\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n else throw new Error(\"Unsupported data type\");\n FS.close(stream);\n },\n cwd: ()=>FS.currentPath,\n chdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) throw new FS.ErrnoError(44);\n if (!FS.isDir(lookup.node.mode)) throw new FS.ErrnoError(54);\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) throw new FS.ErrnoError(errCode);\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: ()=>{\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: ()=>{\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: ()=>0,\n write: (stream, buffer, offset, length, pos)=>length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: ()=>{\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: ()=>{\n var node = FS.createNode(proc_self, \"fd\", 16895, 73);\n node.node_ops = {\n lookup: (parent, name)=>{\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: ()=>stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: ()=>{\n if (Module[\"stdin\"]) FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n if (Module[\"stdout\"]) FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n if (Module[\"stderr\"]) FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n else FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: ()=>{\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [\n 44\n ].forEach((code)=>{\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: ()=>{\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error)=>{\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: ()=>{\n FS.init.initialized = false;\n _fflush(0);\n for(var i = 0; i < FS.streams.length; i++){\n var stream = FS.streams[i];\n if (!stream) continue;\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite)=>{\n var mode = 0;\n if (canRead) mode |= 365;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink)=>{\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) return null;\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink)=>{\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite)=>{\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while(parts.length){\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn)=>{\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for(var i = 0, len = data.length; i < len; ++i)arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: (stream)=>{\n stream.seekable = false;\n },\n close: (stream)=>{\n if (output && output.buffer && output.buffer.length) output(10);\n },\n read: (stream, buffer, offset, length, pos)=>{\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos)=>{\n for(var i = 0; i < length; i++)try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: (obj)=>{\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n 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.\");\n else if (read_) try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n else throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n },\n createLazyFile: (parent, name, url, canRead, canWrite)=>{\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) return undefined;\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1048576;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to)=>{\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) return new Uint8Array(xhr.response || []);\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter((chunkNum)=>{\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") lazyArray.chunks[chunkNum] = doXHR(start, end);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else var properties = {\n isDevice: false,\n url: url\n };\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) node.contents = properties.contents;\n else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach((key)=>{\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents.get(position + i);\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position)=>{\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags)=>{\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish)=>{\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, ()=>{\n if (onerror) onerror();\n removeRunDependency(dep);\n })) return;\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") asyncLoad(url, (byteArray)=>processData(byteArray), onerror);\n else processData(url);\n },\n indexedDB: ()=>{\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: ()=>{\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = ()=>{\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = ()=>{\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n try {\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var getRequest = files.get(path);\n getRequest.onsuccess = ()=>{\n if (FS.analyzePath(path).exists) FS.unlink(path);\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n };\n var SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) return path;\n var dir;\n if (dirfd === -100) dir = FS.cwd();\n else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) throw new FS.ErrnoError(44);\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) return -54;\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n tempI64 = [\n stat.size >>> 0,\n (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)\n ], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [\n Math.floor(atime / 1e3) >>> 0,\n (tempDouble = Math.floor(atime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(mtime / 1e3) >>> 0,\n (tempDouble = Math.floor(mtime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(ctime / 1e3) >>> 0,\n (tempDouble = Math.floor(ctime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n tempI64 = [\n stat.ino >>> 0,\n (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)\n ], HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n if (flags & 2) return 0;\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n };\n function ___syscall_dup(fd) {\n try {\n var old = SYSCALLS.getStreamFromFD(fd);\n return FS.createStream(old, 0).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & -8) return -28;\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) return -44;\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) return -2;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n }\n function ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(cmd){\n case 0:\n var arg = SYSCALLS.get();\n if (arg < 0) return -28;\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n case 1:\n case 2:\n return 0;\n case 3:\n return stream.flags;\n case 4:\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n case 5:\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n case 6:\n case 7:\n return 0;\n case 16:\n case 8:\n return -28;\n case 9:\n setErrNo(28);\n return -1;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_getdents64(fd, dirp, count) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n if (!stream.getdents) stream.getdents = FS.readdir(stream.path);\n var struct_size = 280;\n var pos = 0;\n var off = FS.llseek(stream, 0, 1);\n var idx = Math.floor(off / struct_size);\n while(idx < stream.getdents.length && pos + struct_size <= count){\n var id;\n var type;\n var name = stream.getdents[idx];\n if (name === \".\") {\n id = stream.node.id;\n type = 4;\n } else if (name === \"..\") {\n var lookup = FS.lookupPath(stream.path, {\n parent: true\n });\n id = lookup.node.id;\n type = 4;\n } else {\n var child = FS.lookupNode(stream.node, name);\n id = child.id;\n type = FS.isChrdev(child.mode) ? 2 : FS.isDir(child.mode) ? 4 : FS.isLink(child.mode) ? 10 : 8;\n }\n tempI64 = [\n id >>> 0,\n (tempDouble = id, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[dirp + pos >> 2] = tempI64[0], HEAP32[dirp + pos + 4 >> 2] = tempI64[1];\n tempI64 = [\n (idx + 1) * struct_size >>> 0,\n (tempDouble = (idx + 1) * struct_size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[dirp + pos + 8 >> 2] = tempI64[0], HEAP32[dirp + pos + 12 >> 2] = tempI64[1];\n HEAP16[dirp + pos + 16 >> 1] = 280;\n HEAP8[dirp + pos + 18 >> 0] = type;\n stringToUTF8(name, dirp + pos + 19, 256);\n pos += struct_size;\n idx += 1;\n }\n FS.llseek(stream, idx * struct_size, 0);\n return pos;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(op){\n case 21509:\n case 21505:\n if (!stream.tty) return -59;\n return 0;\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n if (!stream.tty) return -59;\n return 0;\n case 21519:\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n case 21520:\n if (!stream.tty) return -59;\n return -28;\n case 21531:\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n case 21523:\n if (!stream.tty) return -59;\n return 0;\n case 21524:\n if (!stream.tty) return -59;\n return 0;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_lstat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.lstat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_mkdirat(dirfd, path, mode) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n path = PATH.normalize(path);\n if (path[path.length - 1] === \"/\") path = path.substr(0, path.length - 1);\n FS.mkdir(path, mode, 0);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_newfstatat(dirfd, path, buf, flags) {\n try {\n path = SYSCALLS.getStr(path);\n var nofollow = flags & 256;\n var allowEmpty = flags & 4096;\n flags = flags & -6401;\n path = SYSCALLS.calculateAt(dirfd, path, allowEmpty);\n return SYSCALLS.doStat(nofollow ? FS.lstat : FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_readlinkat(dirfd, path, buf, bufsize) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (bufsize <= 0) return -28;\n var ret = FS.readlink(path);\n var len = Math.min(bufsize, lengthBytesUTF8(ret));\n var endChar = HEAP8[buf + len];\n stringToUTF8(ret, buf, bufsize + 1);\n HEAP8[buf + len] = endChar;\n return len;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_renameat(olddirfd, oldpath, newdirfd, newpath) {\n try {\n oldpath = SYSCALLS.getStr(oldpath);\n newpath = SYSCALLS.getStr(newpath);\n oldpath = SYSCALLS.calculateAt(olddirfd, oldpath);\n newpath = SYSCALLS.calculateAt(newdirfd, newpath);\n FS.rename(oldpath, newpath);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_rmdir(path) {\n try {\n path = SYSCALLS.getStr(path);\n FS.rmdir(path);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_stat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_unlinkat(dirfd, path, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (flags === 0) FS.unlink(path);\n else if (flags === 512) FS.rmdir(path);\n else abort(\"Invalid flags passed to unlinkat\");\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n var nowIsMonotonic = true;\n function __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n }\n function __emscripten_throw_longjmp() {\n throw Infinity;\n }\n function readI53FromI64(ptr) {\n return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296;\n }\n function __gmtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getUTCSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getUTCHours();\n HEAP32[tmPtr + 12 >> 2] = date.getUTCDate();\n HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();\n var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);\n var yday = (date.getTime() - start) / 86400000 | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n }\n function __isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n }\n var __MONTH_DAYS_LEAP_CUMULATIVE = [\n 0,\n 31,\n 60,\n 91,\n 121,\n 152,\n 182,\n 213,\n 244,\n 274,\n 305,\n 335\n ];\n var __MONTH_DAYS_REGULAR_CUMULATIVE = [\n 0,\n 31,\n 59,\n 90,\n 120,\n 151,\n 181,\n 212,\n 243,\n 273,\n 304,\n 334\n ];\n function __yday_from_date(date) {\n var isLeapYear = __isLeapYear(date.getFullYear());\n var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday;\n }\n function __localtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n HEAP32[tmPtr + 32 >> 2] = dst;\n }\n function allocateUTF8(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = _malloc(size);\n if (ret) stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function __tzset_js(timezone, daylight, tzname) {\n var currentYear = new Date().getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;\n HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);\n function extractZone(date) {\n var match = date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return match ? match[1] : \"GMT\";\n }\n var winterName = extractZone(winter);\n var summerName = extractZone(summer);\n var winterNamePtr = allocateUTF8(winterName);\n var summerNamePtr = allocateUTF8(summerName);\n if (summerOffset < winterOffset) {\n HEAPU32[tzname >> 2] = winterNamePtr;\n HEAPU32[tzname + 4 >> 2] = summerNamePtr;\n } else {\n HEAPU32[tzname >> 2] = summerNamePtr;\n HEAPU32[tzname + 4 >> 2] = winterNamePtr;\n }\n }\n function _abort() {\n abort(\"\");\n }\n function _emscripten_date_now() {\n return Date.now();\n }\n var _emscripten_get_now;\n _emscripten_get_now = ()=>performance.now();\n function _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n }\n function getHeapMax() {\n return 2147483648;\n }\n function emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n }\n function _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) return false;\n let alignUp = (x, multiple)=>x + (multiple - x % multiple) % multiple;\n for(var cutDown = 1; cutDown <= 4; cutDown *= 2){\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) return true;\n }\n return false;\n }\n var ENV = {};\n function getExecutableName() {\n return thisProgram || \"./this.program\";\n }\n function getEnvStrings() {\n if (!getEnvStrings.strings) {\n var lang = (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\";\n var env = {\n \"USER\": \"web_user\",\n \"LOGNAME\": \"web_user\",\n \"PATH\": \"/\",\n \"PWD\": \"/\",\n \"HOME\": \"/home/web_user\",\n \"LANG\": lang,\n \"_\": getExecutableName()\n };\n for(var x in ENV)if (ENV[x] === undefined) delete env[x];\n else env[x] = ENV[x];\n var strings = [];\n for(var x in env)strings.push(x + \"=\" + env[x]);\n getEnvStrings.strings = strings;\n }\n return getEnvStrings.strings;\n }\n function writeAsciiToMemory(str, buffer, dontAddNull) {\n for(var i = 0; i < str.length; ++i)HEAP8[buffer++ >> 0] = str.charCodeAt(i);\n if (!dontAddNull) HEAP8[buffer >> 0] = 0;\n }\n function _environ_get(__environ, environ_buf) {\n var bufSize = 0;\n getEnvStrings().forEach(function(string, i) {\n var ptr = environ_buf + bufSize;\n HEAPU32[__environ + i * 4 >> 2] = ptr;\n writeAsciiToMemory(string, ptr);\n bufSize += string.length + 1;\n });\n return 0;\n }\n function _environ_sizes_get(penviron_count, penviron_buf_size) {\n var strings = getEnvStrings();\n HEAPU32[penviron_count >> 2] = strings.length;\n var bufSize = 0;\n strings.forEach(function(string) {\n bufSize += string.length + 1;\n });\n HEAPU32[penviron_buf_size >> 2] = bufSize;\n return 0;\n }\n function _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n }\n function exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) exitRuntime();\n _proc_exit(status);\n }\n var _exit = exitJS;\n function _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n }\n function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n tempI64 = [\n stream.position >>> 0,\n (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)\n ], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function __arraySum(array, index) {\n var sum = 0;\n for(var i = 0; i <= index; sum += array[i++]);\n return sum;\n }\n var __MONTH_DAYS_LEAP = [\n 31,\n 29,\n 31,\n 30,\n 31,\n 30,\n 31,\n 31,\n 30,\n 31,\n 30,\n 31\n ];\n var __MONTH_DAYS_REGULAR = [\n 31,\n 28,\n 31,\n 30,\n 31,\n 30,\n 31,\n 31,\n 30,\n 31,\n 30,\n 31\n ];\n function __addDays(date, days) {\n var newDate = new Date(date.getTime());\n while(days > 0){\n var leap = __isLeapYear(newDate.getFullYear());\n var currentMonth = newDate.getMonth();\n var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];\n if (days > daysInCurrentMonth - newDate.getDate()) {\n days -= daysInCurrentMonth - newDate.getDate() + 1;\n newDate.setDate(1);\n if (currentMonth < 11) newDate.setMonth(currentMonth + 1);\n else {\n newDate.setMonth(0);\n newDate.setFullYear(newDate.getFullYear() + 1);\n }\n } else {\n newDate.setDate(newDate.getDate() + days);\n return newDate;\n }\n }\n return newDate;\n }\n function writeArrayToMemory(array, buffer) {\n HEAP8.set(array, buffer);\n }\n function _strftime(s, maxsize, format, tm) {\n var tm_zone = HEAP32[tm + 40 >> 2];\n var date = {\n tm_sec: HEAP32[tm >> 2],\n tm_min: HEAP32[tm + 4 >> 2],\n tm_hour: HEAP32[tm + 8 >> 2],\n tm_mday: HEAP32[tm + 12 >> 2],\n tm_mon: HEAP32[tm + 16 >> 2],\n tm_year: HEAP32[tm + 20 >> 2],\n tm_wday: HEAP32[tm + 24 >> 2],\n tm_yday: HEAP32[tm + 28 >> 2],\n tm_isdst: HEAP32[tm + 32 >> 2],\n tm_gmtoff: HEAP32[tm + 36 >> 2],\n tm_zone: tm_zone ? UTF8ToString(tm_zone) : \"\"\n };\n var pattern = UTF8ToString(format);\n var EXPANSION_RULES_1 = {\n \"%c\": \"%a %b %d %H:%M:%S %Y\",\n \"%D\": \"%m/%d/%y\",\n \"%F\": \"%Y-%m-%d\",\n \"%h\": \"%b\",\n \"%r\": \"%I:%M:%S %p\",\n \"%R\": \"%H:%M\",\n \"%T\": \"%H:%M:%S\",\n \"%x\": \"%m/%d/%y\",\n \"%X\": \"%H:%M:%S\",\n \"%Ec\": \"%c\",\n \"%EC\": \"%C\",\n \"%Ex\": \"%m/%d/%y\",\n \"%EX\": \"%H:%M:%S\",\n \"%Ey\": \"%y\",\n \"%EY\": \"%Y\",\n \"%Od\": \"%d\",\n \"%Oe\": \"%e\",\n \"%OH\": \"%H\",\n \"%OI\": \"%I\",\n \"%Om\": \"%m\",\n \"%OM\": \"%M\",\n \"%OS\": \"%S\",\n \"%Ou\": \"%u\",\n \"%OU\": \"%U\",\n \"%OV\": \"%V\",\n \"%Ow\": \"%w\",\n \"%OW\": \"%W\",\n \"%Oy\": \"%y\"\n };\n for(var rule in EXPANSION_RULES_1)pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_1[rule]);\n var WEEKDAYS = [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n ];\n var MONTHS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ];\n function leadingSomething(value, digits, character) {\n var str = typeof value == \"number\" ? value.toString() : value || \"\";\n while(str.length < digits)str = character[0] + str;\n return str;\n }\n function leadingNulls(value, digits) {\n return leadingSomething(value, digits, \"0\");\n }\n function compareByDay(date1, date2) {\n function sgn(value) {\n return value < 0 ? -1 : value > 0 ? 1 : 0;\n }\n var compare;\n if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {\n if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) compare = sgn(date1.getDate() - date2.getDate());\n }\n return compare;\n }\n function getFirstWeekStartDate(janFourth) {\n switch(janFourth.getDay()){\n case 0:\n return new Date(janFourth.getFullYear() - 1, 11, 29);\n case 1:\n return janFourth;\n case 2:\n return new Date(janFourth.getFullYear(), 0, 3);\n case 3:\n return new Date(janFourth.getFullYear(), 0, 2);\n case 4:\n return new Date(janFourth.getFullYear(), 0, 1);\n case 5:\n return new Date(janFourth.getFullYear() - 1, 11, 31);\n case 6:\n return new Date(janFourth.getFullYear() - 1, 11, 30);\n }\n }\n function getWeekBasedYear(date) {\n var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);\n var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);\n var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);\n var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);\n var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);\n if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {\n if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) return thisDate.getFullYear() + 1;\n return thisDate.getFullYear();\n }\n return thisDate.getFullYear() - 1;\n }\n var EXPANSION_RULES_2 = {\n \"%a\": function(date) {\n return WEEKDAYS[date.tm_wday].substring(0, 3);\n },\n \"%A\": function(date) {\n return WEEKDAYS[date.tm_wday];\n },\n \"%b\": function(date) {\n return MONTHS[date.tm_mon].substring(0, 3);\n },\n \"%B\": function(date) {\n return MONTHS[date.tm_mon];\n },\n \"%C\": function(date) {\n var year = date.tm_year + 1900;\n return leadingNulls(year / 100 | 0, 2);\n },\n \"%d\": function(date) {\n return leadingNulls(date.tm_mday, 2);\n },\n \"%e\": function(date) {\n return leadingSomething(date.tm_mday, 2, \" \");\n },\n \"%g\": function(date) {\n return getWeekBasedYear(date).toString().substring(2);\n },\n \"%G\": function(date) {\n return getWeekBasedYear(date);\n },\n \"%H\": function(date) {\n return leadingNulls(date.tm_hour, 2);\n },\n \"%I\": function(date) {\n var twelveHour = date.tm_hour;\n if (twelveHour == 0) twelveHour = 12;\n else if (twelveHour > 12) twelveHour -= 12;\n return leadingNulls(twelveHour, 2);\n },\n \"%j\": function(date) {\n return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);\n },\n \"%m\": function(date) {\n return leadingNulls(date.tm_mon + 1, 2);\n },\n \"%M\": function(date) {\n return leadingNulls(date.tm_min, 2);\n },\n \"%n\": function() {\n return \"\\n\";\n },\n \"%p\": function(date) {\n if (date.tm_hour >= 0 && date.tm_hour < 12) return \"AM\";\n return \"PM\";\n },\n \"%S\": function(date) {\n return leadingNulls(date.tm_sec, 2);\n },\n \"%t\": function() {\n return \"\t\";\n },\n \"%u\": function(date) {\n return date.tm_wday || 7;\n },\n \"%U\": function(date) {\n var days = date.tm_yday + 7 - date.tm_wday;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%V\": function(date) {\n var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7) / 7);\n if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) val++;\n if (!val) {\n val = 52;\n var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;\n if (dec31 == 4 || dec31 == 5 && __isLeapYear(date.tm_year % 400 - 1)) val++;\n } else if (val == 53) {\n var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;\n if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) val = 1;\n }\n return leadingNulls(val, 2);\n },\n \"%w\": function(date) {\n return date.tm_wday;\n },\n \"%W\": function(date) {\n var days = date.tm_yday + 7 - (date.tm_wday + 6) % 7;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%y\": function(date) {\n return (date.tm_year + 1900).toString().substring(2);\n },\n \"%Y\": function(date) {\n return date.tm_year + 1900;\n },\n \"%z\": function(date) {\n var off = date.tm_gmtoff;\n var ahead = off >= 0;\n off = Math.abs(off) / 60;\n off = off / 60 * 100 + off % 60;\n return (ahead ? \"+\" : \"-\") + String(\"0000\" + off).slice(-4);\n },\n \"%Z\": function(date) {\n return date.tm_zone;\n },\n \"%%\": function() {\n return \"%\";\n }\n };\n pattern = pattern.replace(/%%/g, \"\\x00\\x00\");\n for(var rule in EXPANSION_RULES_2)if (pattern.includes(rule)) pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_2[rule](date));\n pattern = pattern.replace(/\\0\\0/g, \"%\");\n var bytes = intArrayFromString(pattern, false);\n if (bytes.length > maxsize) return 0;\n writeArrayToMemory(bytes, s);\n return bytes.length - 1;\n }\n function handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") return EXITSTATUS;\n quit_(1, e);\n }\n function allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n }\n function maybeExit() {\n if (!keepRuntimeAlive()) try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n function callUserCallback(func) {\n if (runtimeExited || ABORT) return;\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n }\n function runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n }\n function runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n }\n var Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [\n \"invoke_*\",\n \"emscripten_sleep\",\n \"emscripten_wget\",\n \"emscripten_wget_data\",\n \"emscripten_idb_load\",\n \"emscripten_idb_store\",\n \"emscripten_idb_delete\",\n \"emscripten_idb_exists\",\n \"emscripten_idb_load_blob\",\n \"emscripten_idb_store_blob\",\n \"SDL_Delay\",\n \"emscripten_scan_registers\",\n \"emscripten_lazy_load_code\",\n \"emscripten_fiber_swap\",\n \"__load_secondary_module\",\n \"fd_sync\",\n \"__wasi_fd_sync\",\n \"_emval_await\",\n \"_dlopen_js\",\n \"__asyncjs__*\"\n ];\n for(var x in imports)(function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n })(x);\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for(var x in exports)(function(x) {\n var original = exports[x];\n if (typeof original == \"function\") ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally{\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n else ret[x] = original;\n })(x);\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") Fibers.trampoline();\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject)=>{\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0)=>{\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) return;\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.resume();\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) throw asyncWasmReturnValue;\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.pause();\n runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach((func)=>callUserCallback(func));\n } else abort(\"invalid state: \" + Asyncify.state);\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep((wakeUp)=>{\n startAsync().then(wakeUp);\n });\n }\n };\n function AsciiToString(ptr) {\n var str = \"\";\n while(true){\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n }\n var FSNode = function(parent, name, mode, rdev) {\n if (!parent) parent = this;\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n };\n var readMode = 365;\n var writeMode = 146;\n Object.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n });\n FS.FSNode = FSNode;\n FS.staticInit();\n var wasmImports = {\n \"O\": __asyncjs__emglken_fill_stdin_buffer,\n \"ga\": ___syscall_dup,\n \"fa\": ___syscall_faccessat,\n \"G\": ___syscall_fcntl64,\n \"ea\": ___syscall_getcwd,\n \"da\": ___syscall_getdents64,\n \"ca\": ___syscall_ioctl,\n \"ba\": ___syscall_lstat64,\n \"aa\": ___syscall_mkdirat,\n \"$\": ___syscall_newfstatat,\n \"F\": ___syscall_openat,\n \"_\": ___syscall_readlinkat,\n \"Z\": ___syscall_renameat,\n \"E\": ___syscall_rmdir,\n \"Y\": ___syscall_stat64,\n \"X\": ___syscall_unlinkat,\n \"T\": __emscripten_get_now_is_monotonic,\n \"S\": __emscripten_throw_longjmp,\n \"R\": __gmtime_js,\n \"Q\": __localtime_js,\n \"P\": __tzset_js,\n \"C\": _abort,\n \"B\": _emscripten_date_now,\n \"A\": _emscripten_get_now,\n \"N\": _emscripten_memcpy_big,\n \"M\": _emscripten_resize_heap,\n \"W\": _environ_get,\n \"V\": _environ_sizes_get,\n \"y\": _exit,\n \"w\": _fd_close,\n \"U\": _fd_read,\n \"I\": _fd_seek,\n \"D\": _fd_write,\n \"L\": invoke_i,\n \"b\": invoke_ii,\n \"f\": invoke_iii,\n \"e\": invoke_iiii,\n \"c\": invoke_iiiii,\n \"j\": invoke_iiiiii,\n \"l\": invoke_iiiiiii,\n \"m\": invoke_iiiiiiii,\n \"s\": invoke_iiiiiiiii,\n \"t\": invoke_iiiiiiiiii,\n \"p\": invoke_iiiiiiiiiii,\n \"x\": invoke_iiiiiiiiiiii,\n \"q\": invoke_iiiiiiiiiiiiii,\n \"z\": invoke_iiiiiiiiiiiiiiii,\n \"v\": invoke_iiiiiiiiiiiiiiiiii,\n \"i\": invoke_v,\n \"h\": invoke_vi,\n \"d\": invoke_vii,\n \"a\": invoke_viii,\n \"g\": invoke_viiii,\n \"o\": invoke_viiiii,\n \"n\": invoke_viiiiii,\n \"K\": invoke_viiiiiii,\n \"r\": invoke_viiiiiiii,\n \"k\": invoke_viiiiiiiii,\n \"u\": invoke_viiiiiiiiiii,\n \"J\": invoke_viiiiiiiiiiiiiii,\n \"H\": _strftime\n };\n var asm = createWasm();\n var ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"ia\"]).apply(null, arguments);\n };\n var _malloc = function() {\n return (_malloc = Module[\"asm\"][\"ja\"]).apply(null, arguments);\n };\n var _free = function() {\n return (_free = Module[\"asm\"][\"ka\"]).apply(null, arguments);\n };\n var _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"la\"]).apply(null, arguments);\n };\n var _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"ma\"]).apply(null, arguments);\n };\n var _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"na\"]).apply(null, arguments);\n };\n var ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"oa\"]).apply(null, arguments);\n };\n var ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"pa\"]).apply(null, arguments);\n };\n var _setThrew = function() {\n return (_setThrew = Module[\"asm\"][\"ra\"]).apply(null, arguments);\n };\n var _saveSetjmp = function() {\n return (_saveSetjmp = Module[\"asm\"][\"saveSetjmp\"]).apply(null, arguments);\n };\n var _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n };\n var stackSave = function() {\n return (stackSave = Module[\"asm\"][\"sa\"]).apply(null, arguments);\n };\n var stackRestore = function() {\n return (stackRestore = Module[\"asm\"][\"ta\"]).apply(null, arguments);\n };\n var stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"ua\"]).apply(null, arguments);\n };\n var dynCall_iiiii = Module[\"dynCall_iiiii\"] = function() {\n return (dynCall_iiiii = Module[\"dynCall_iiiii\"] = Module[\"asm\"][\"va\"]).apply(null, arguments);\n };\n var dynCall_ii = Module[\"dynCall_ii\"] = function() {\n return (dynCall_ii = Module[\"dynCall_ii\"] = Module[\"asm\"][\"wa\"]).apply(null, arguments);\n };\n var dynCall_vi = Module[\"dynCall_vi\"] = function() {\n return (dynCall_vi = Module[\"dynCall_vi\"] = Module[\"asm\"][\"xa\"]).apply(null, arguments);\n };\n var dynCall_iii = Module[\"dynCall_iii\"] = function() {\n return (dynCall_iii = Module[\"dynCall_iii\"] = Module[\"asm\"][\"ya\"]).apply(null, arguments);\n };\n var dynCall_viii = Module[\"dynCall_viii\"] = function() {\n return (dynCall_viii = Module[\"dynCall_viii\"] = Module[\"asm\"][\"za\"]).apply(null, arguments);\n };\n var dynCall_viiiiiiii = Module[\"dynCall_viiiiiiii\"] = function() {\n return (dynCall_viiiiiiii = Module[\"dynCall_viiiiiiii\"] = Module[\"asm\"][\"Aa\"]).apply(null, arguments);\n };\n var dynCall_vii = Module[\"dynCall_vii\"] = function() {\n return (dynCall_vii = Module[\"dynCall_vii\"] = Module[\"asm\"][\"Ba\"]).apply(null, arguments);\n };\n var dynCall_viiiii = Module[\"dynCall_viiiii\"] = function() {\n return (dynCall_viiiii = Module[\"dynCall_viiiii\"] = Module[\"asm\"][\"Ca\"]).apply(null, arguments);\n };\n var dynCall_iiiiii = Module[\"dynCall_iiiiii\"] = function() {\n return (dynCall_iiiiii = Module[\"dynCall_iiiiii\"] = Module[\"asm\"][\"Da\"]).apply(null, arguments);\n };\n var dynCall_viiiiii = Module[\"dynCall_viiiiii\"] = function() {\n return (dynCall_viiiiii = Module[\"dynCall_viiiiii\"] = Module[\"asm\"][\"Ea\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiiii = Module[\"dynCall_iiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiii = Module[\"dynCall_iiiiiiiii\"] = Module[\"asm\"][\"Fa\"]).apply(null, arguments);\n };\n var dynCall_iiii = Module[\"dynCall_iiii\"] = function() {\n return (dynCall_iiii = Module[\"dynCall_iiii\"] = Module[\"asm\"][\"Ga\"]).apply(null, arguments);\n };\n var dynCall_viiiiiiiii = Module[\"dynCall_viiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiii = Module[\"dynCall_viiiiiiiii\"] = Module[\"asm\"][\"Ha\"]).apply(null, arguments);\n };\n var dynCall_viiii = Module[\"dynCall_viiii\"] = function() {\n return (dynCall_viiii = Module[\"dynCall_viiii\"] = Module[\"asm\"][\"Ia\"]).apply(null, arguments);\n };\n var dynCall_iiiiiii = Module[\"dynCall_iiiiiii\"] = function() {\n return (dynCall_iiiiiii = Module[\"dynCall_iiiiiii\"] = Module[\"asm\"][\"Ja\"]).apply(null, arguments);\n };\n var dynCall_viiiiiiiiiii = Module[\"dynCall_viiiiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiiiii = Module[\"dynCall_viiiiiiiiiii\"] = Module[\"asm\"][\"Ka\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiiiii = Module[\"dynCall_iiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiii = Module[\"dynCall_iiiiiiiiii\"] = Module[\"asm\"][\"La\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiii = Module[\"dynCall_iiiiiiii\"] = function() {\n return (dynCall_iiiiiiii = Module[\"dynCall_iiiiiiii\"] = Module[\"asm\"][\"Ma\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiiiiii = Module[\"dynCall_iiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiii = Module[\"dynCall_iiiiiiiiiii\"] = Module[\"asm\"][\"Na\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiii\"] = Module[\"asm\"][\"Oa\"]).apply(null, arguments);\n };\n var dynCall_v = Module[\"dynCall_v\"] = function() {\n return (dynCall_v = Module[\"dynCall_v\"] = Module[\"asm\"][\"Pa\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiiiiiii\"] = Module[\"asm\"][\"Qa\"]).apply(null, arguments);\n };\n var dynCall_viiiiiii = Module[\"dynCall_viiiiiii\"] = function() {\n return (dynCall_viiiiiii = Module[\"dynCall_viiiiiii\"] = Module[\"asm\"][\"Ra\"]).apply(null, arguments);\n };\n var dynCall_viiiiiiiiiiiiiii = Module[\"dynCall_viiiiiiiiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiiiiiiiii = Module[\"dynCall_viiiiiiiiiiiiiii\"] = Module[\"asm\"][\"Sa\"]).apply(null, arguments);\n };\n var dynCall_i = Module[\"dynCall_i\"] = function() {\n return (dynCall_i = Module[\"dynCall_i\"] = Module[\"asm\"][\"Ta\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiii\"] = Module[\"asm\"][\"Ua\"]).apply(null, arguments);\n };\n var dynCall_iiiiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiiiii\"] = Module[\"asm\"][\"Va\"]).apply(null, arguments);\n };\n var _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"Wa\"]).apply(null, arguments);\n };\n var _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"Xa\"]).apply(null, arguments);\n };\n var _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"Ya\"]).apply(null, arguments);\n };\n var _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"Za\"]).apply(null, arguments);\n };\n var ___start_em_js = Module[\"___start_em_js\"] = 356528;\n var ___stop_em_js = Module[\"___stop_em_js\"] = 359213;\n function invoke_viii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n dynCall_viii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_vii(index, a1, a2) {\n var sp = stackSave();\n try {\n dynCall_vii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiii(index, a1, a2, a3, a4, a5) {\n var sp = stackSave();\n try {\n return dynCall_iiiiii(index, a1, a2, a3, a4, a5);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iii(index, a1, a2) {\n var sp = stackSave();\n try {\n return dynCall_iii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) {\n var sp = stackSave();\n try {\n dynCall_viiiiii(index, a1, a2, a3, a4, a5, a6);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_iiii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_vi(index, a1) {\n var sp = stackSave();\n try {\n dynCall_vi(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n dynCall_viiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_ii(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ii(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiii(index, a1, a2, a3, a4, a5, a6);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiii(index, a1, a2, a3, a4, a5) {\n var sp = stackSave();\n try {\n dynCall_viiiii(index, a1, a2, a3, a4, a5);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n return dynCall_iiiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_v(index) {\n var sp = stackSave();\n try {\n dynCall_v(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n var sp = stackSave();\n try {\n dynCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_i(index) {\n var sp = stackSave();\n try {\n return dynCall_i(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n Module[\"AsciiToString\"] = AsciiToString;\n Module[\"FS\"] = FS;\n var calledRun;\n dependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n };\n function callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach((arg)=>{\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n }\n function run(args = arguments_) {\n if (runDependencies > 0) return;\n preRun();\n if (runDependencies > 0) return;\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else doRun();\n }\n if (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [\n Module[\"preInit\"]\n ];\n while(Module[\"preInit\"].length > 0)Module[\"preInit\"].pop()();\n }\n var shouldRunNow = true;\n if (Module[\"noInitialRun\"]) shouldRunNow = false;\n run();\n return Module.ready;\n };\n})();\nvar $5da5b9828ec10744$export$2e2bcd8739ae039 = $5da5b9828ec10744$var$Module;\n\n\nclass $fe7c55ec16cd7a3a$export$2e2bcd8739ae039 extends (0, $7c4ebf67e8338ec8$export$2e2bcd8739ae039) {\n default_options() {\n return {\n vmcore: (0, $5da5b9828ec10744$export$2e2bcd8739ae039)\n };\n }\n}\n\n\n/*\n\nEmglken port of Scare\n=====================\n\nCopyright (c) 2023 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/ \nvar $9057ad164b194cd9$exports = {};\n\n\n$9057ad164b194cd9$exports = (parcelRequire(\"6kBsm\")).getBundleURL(\"ejVIo\") + (parcelRequire(\"n9Yfb\")).resolve(\"iM1SU\");\n\n\nvar $504b148d08d37416$var$Module = (()=>{\n var _scriptDir = \"file:///node_modules/emglken/build/scare-core.js\";\n return function(Module = {}) {\n var Module = typeof Module != \"undefined\" ? Module : {};\n var readyPromiseResolve, readyPromiseReject;\n Module[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n });\n var moduleOverrides = Object.assign({}, Module);\n var arguments_ = [];\n var thisProgram = \"./this.program\";\n var quit_ = (status, toThrow)=>{\n throw toThrow;\n };\n var ENVIRONMENT_IS_WEB = true;\n var ENVIRONMENT_IS_WORKER = false;\n var scriptDirectory = \"\";\n function locateFile(path) {\n if (Module[\"locateFile\"]) return Module[\"locateFile\"](path, scriptDirectory);\n return scriptDirectory + path;\n }\n var read_, readAsync, readBinary, setWindowTitle;\n if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) scriptDirectory = self.location.href;\n else if (typeof document != \"undefined\" && document.currentScript) scriptDirectory = document.currentScript.src;\n if (_scriptDir) scriptDirectory = _scriptDir;\n if (scriptDirectory.indexOf(\"blob:\") !== 0) scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n else scriptDirectory = \"\";\n read_ = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) readBinary = (url)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n readAsync = (url, onload, onerror)=>{\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = ()=>{\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n setWindowTitle = (title)=>document.title = title;\n }\n var out = Module[\"print\"] || console.log.bind(console);\n var err = Module[\"printErr\"] || console.warn.bind(console);\n Object.assign(Module, moduleOverrides);\n moduleOverrides = null;\n if (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n if (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n if (Module[\"quit\"]) quit_ = Module[\"quit\"];\n var wasmBinary;\n if (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n var noExitRuntime = Module[\"noExitRuntime\"] || false;\n if (typeof WebAssembly != \"object\") abort(\"no native wasm support detected\");\n var wasmMemory;\n var ABORT = false;\n var EXITSTATUS;\n function assert(condition, text) {\n if (!condition) abort(text);\n }\n var UTF8Decoder = new TextDecoder(\"utf8\");\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while(heapOrArray[endPtr] && !(endPtr >= endIdx))++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for(var end = ptr; !(end >= maxPtr) && HEAPU8[end];)++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n }\n function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for(var i = 0; i < str.length; ++i){\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n }\n function stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n }\n function lengthBytesUTF8(str) {\n var len = 0;\n for(var i = 0; i < str.length; ++i){\n var c = str.charCodeAt(i);\n if (c <= 127) len++;\n else if (c <= 2047) len += 2;\n else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else len += 3;\n }\n return len;\n }\n var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n function updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n }\n var wasmTable;\n var __ATPRERUN__ = [];\n var __ATINIT__ = [];\n var __ATMAIN__ = [];\n var __ATEXIT__ = [];\n var __ATPOSTRUN__ = [];\n var runtimeInitialized = false;\n var runtimeExited = false;\n var runtimeKeepaliveCounter = 0;\n function keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n }\n function preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [\n Module[\"preRun\"]\n ];\n while(Module[\"preRun\"].length)addOnPreRun(Module[\"preRun\"].shift());\n }\n callRuntimeCallbacks(__ATPRERUN__);\n }\n function initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n }\n function preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n }\n function exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n }\n function postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [\n Module[\"postRun\"]\n ];\n while(Module[\"postRun\"].length)addOnPostRun(Module[\"postRun\"].shift());\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n }\n function addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n }\n function addOnInit(cb) {\n __ATINIT__.unshift(cb);\n }\n function addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n }\n var runDependencies = 0;\n var runDependencyWatcher = null;\n var dependenciesFulfilled = null;\n function getUniqueRunDependency(id) {\n return id;\n }\n function addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n }\n function removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) Module[\"monitorRunDependencies\"](runDependencies);\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n }\n function abort(what) {\n if (Module[\"onAbort\"]) Module[\"onAbort\"](what);\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n }\n var dataURIPrefix = \"data:application/octet-stream;base64,\";\n function isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n }\n var wasmBinaryFile;\n if (Module[\"locateFile\"]) {\n wasmBinaryFile = \"scare-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) wasmBinaryFile = locateFile(wasmBinaryFile);\n } else wasmBinaryFile = new URL($9057ad164b194cd9$exports).href;\n function getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) return new Uint8Array(wasmBinary);\n if (readBinary) return readBinary(file);\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n }\n function getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n }\n function instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n }\n function instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n else return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n function createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"E\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"N\"];\n addOnInit(Module[\"asm\"][\"F\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n }\n var tempDouble;\n var tempI64;\n function __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async ()=>{\n if (!Module.emglken_stdin_buffers.length) await new Promise((resolve)=>{\n Module.emglken_stdin_ready = resolve;\n });\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) HEAPU8.set(input, buffer);\n else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n }\n function ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n }\n function callRuntimeCallbacks(callbacks) {\n while(callbacks.length > 0)callbacks.shift()(Module);\n }\n var PATH = {\n isAbs: (path)=>path.charAt(0) === \"/\",\n splitPath: (filename)=>{\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot)=>{\n var up = 0;\n for(var i = parts.length - 1; i >= 0; i--){\n var last = parts[i];\n if (last === \".\") parts.splice(i, 1);\n else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) for(; up; up--)parts.unshift(\"..\");\n return parts;\n },\n normalize: (path)=>{\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter((p)=>!!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) path = \".\";\n if (path && trailingSlash) path += \"/\";\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: (path)=>{\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) return \".\";\n if (dir) dir = dir.substr(0, dir.length - 1);\n return root + dir;\n },\n basename: (path)=>{\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r)=>{\n return PATH.normalize(l + \"/\" + r);\n }\n };\n function getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return ()=>{\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return ()=>abort(\"randomDevice\");\n }\n var PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for(var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--){\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") throw new TypeError(\"Arguments to path.resolve must be strings\");\n else if (!path) return \"\";\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter((p)=>!!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to)=>{\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for(; start < arr.length; start++){\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for(; end >= 0; end--){\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for(var i = 0; i < length; i++)if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n var outputParts = [];\n for(var i = samePartsLength; i < fromParts.length; i++)outputParts.push(\"..\");\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n };\n function intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n }\n var TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) throw new FS.ErrnoError(43);\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) throw new FS.ErrnoError(60);\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) throw new FS.ErrnoError(60);\n try {\n for(var i = 0; i < length; i++)stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) result += \"\\n\";\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) result += \"\\n\";\n }\n if (!result) return null;\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else if (val != 0) tty.output.push(val);\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n };\n function mmapAlloc(size) {\n abort();\n }\n var MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16895, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) throw new FS.ErrnoError(63);\n if (!MEMFS.ops_table) MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1048576;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) attr.size = 4096;\n else if (FS.isFile(node.mode)) attr.size = node.usedBytes;\n else if (FS.isLink(node.mode)) attr.size = node.link.length;\n else attr.size = 0;\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) node.mode = attr.mode;\n if (attr.timestamp !== undefined) node.timestamp = attr.timestamp;\n if (attr.size !== undefined) MEMFS.resizeFileStorage(node, attr.size);\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for(var i in new_node.contents)throw new FS.ErrnoError(55);\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for(var i in node.contents)throw new FS.ErrnoError(55);\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [\n \".\",\n \"..\"\n ];\n for(var key in node.contents){\n if (!node.contents.hasOwnProperty(key)) continue;\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 41471, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) throw new FS.ErrnoError(28);\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) buffer.set(contents.subarray(position, position + size), offset);\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) canOwn = false;\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position);\n else for(var i = 0; i < length; i++)node.contents[position + i] = buffer[offset + i];\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) position += stream.position;\n else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) position += stream.node.usedBytes;\n }\n if (position < 0) throw new FS.ErrnoError(28);\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) contents = contents.subarray(position, position + length);\n else contents = Array.prototype.slice.call(contents, position, position + length);\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n };\n function asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, (arrayBuffer)=>{\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, (event)=>{\n if (onerror) onerror();\n else throw 'Loading data file \"' + url + '\" failed.';\n });\n if (dep) addRunDependency(dep);\n }\n var FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {})=>{\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) throw new FS.ErrnoError(32);\n var parts = path.split(\"/\").filter((p)=>!!p);\n var current = FS.root;\n var current_path = \"/\";\n for(var i = 0; i < parts.length; i++){\n var islast = i === parts.length - 1;\n if (islast && opts.parent) break;\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) current = current.mounted.root;\n }\n if (!islast || opts.follow) {\n var count = 0;\n while(FS.isLink(current.mode)){\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) throw new FS.ErrnoError(32);\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: (node)=>{\n var path;\n while(true){\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name)=>{\n var hash = 0;\n for(var i = 0; i < name.length; i++)hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: (node)=>{\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) FS.nameTable[hash] = node.name_next;\n else {\n var current = FS.nameTable[hash];\n while(current){\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name)=>{\n var errCode = FS.mayLookup(parent);\n if (errCode) throw new FS.ErrnoError(errCode, parent);\n var hash = FS.hashName(parent.id, name);\n for(var node = FS.nameTable[hash]; node; node = node.name_next){\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) return node;\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev)=>{\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: (node)=>{\n FS.hashRemoveNode(node);\n },\n isRoot: (node)=>{\n return node === node.parent;\n },\n isMountpoint: (node)=>{\n return !!node.mounted;\n },\n isFile: (mode)=>{\n return (mode & 61440) === 32768;\n },\n isDir: (mode)=>{\n return (mode & 61440) === 16384;\n },\n isLink: (mode)=>{\n return (mode & 61440) === 40960;\n },\n isChrdev: (mode)=>{\n return (mode & 61440) === 8192;\n },\n isBlkdev: (mode)=>{\n return (mode & 61440) === 24576;\n },\n isFIFO: (mode)=>{\n return (mode & 61440) === 4096;\n },\n isSocket: (mode)=>{\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: (str)=>{\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") throw new Error(\"Unknown file open mode: \" + str);\n return flags;\n },\n flagsToPermissionString: (flag)=>{\n var perms = [\n \"r\",\n \"w\",\n \"rw\"\n ][flag & 3];\n if (flag & 512) perms += \"w\";\n return perms;\n },\n nodePermissions: (node, perms)=>{\n if (FS.ignorePermissions) return 0;\n if (perms.includes(\"r\") && !(node.mode & 292)) return 2;\n else if (perms.includes(\"w\") && !(node.mode & 146)) return 2;\n else if (perms.includes(\"x\") && !(node.mode & 73)) return 2;\n return 0;\n },\n mayLookup: (dir)=>{\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name)=>{\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir)=>{\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) return errCode;\n if (isdir) {\n if (!FS.isDir(node.mode)) return 54;\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) return 10;\n } else {\n if (FS.isDir(node.mode)) return 31;\n }\n return 0;\n },\n mayOpen: (node, flags)=>{\n if (!node) return 44;\n if (FS.isLink(node.mode)) return 32;\n else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) return 31;\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS)=>{\n for(var fd = fd_start; fd <= fd_end; fd++){\n if (!FS.streams[fd]) return fd;\n }\n throw new FS.ErrnoError(33);\n },\n getStream: (fd)=>FS.streams[fd],\n createStream: (stream, fd_start, fd_end)=>{\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: (fd)=>{\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: (stream)=>{\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n },\n llseek: ()=>{\n throw new FS.ErrnoError(70);\n }\n },\n major: (dev)=>dev >> 8,\n minor: (dev)=>dev & 255,\n makedev: (ma, mi)=>ma << 8 | mi,\n registerDevice: (dev, ops)=>{\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: (dev)=>FS.devices[dev],\n getMounts: (mount)=>{\n var mounts = [];\n var check = [\n mount\n ];\n while(check.length){\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback)=>{\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) doCallback(null);\n }\n mounts.forEach((mount)=>{\n if (!mount.type.syncfs) return done(null);\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint)=>{\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) throw new FS.ErrnoError(10);\n else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n if (!FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) FS.root = mountRoot;\n else if (node) {\n node.mounted = mount;\n if (node.mount) node.mount.mounts.push(mount);\n }\n return mountRoot;\n },\n unmount: (mountpoint)=>{\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) throw new FS.ErrnoError(28);\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach((hash)=>{\n var current = FS.nameTable[hash];\n while(current){\n var next = current.name_next;\n if (mounts.includes(current.mount)) FS.destroyNode(current);\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name)=>{\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") throw new FS.ErrnoError(28);\n var errCode = FS.mayCreate(parent, name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.mknod) throw new FS.ErrnoError(63);\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode)=>{\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode)=>{\n mode = mode !== undefined ? mode : 511;\n mode &= 1023;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode)=>{\n var dirs = path.split(\"/\");\n var d = \"\";\n for(var i = 0; i < dirs.length; ++i){\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev)=>{\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath)=>{\n if (!PATH_FS.resolve(oldpath)) throw new FS.ErrnoError(44);\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.symlink) throw new FS.ErrnoError(63);\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path)=>{\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) throw new FS.ErrnoError(75);\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(28);\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") throw new FS.ErrnoError(55);\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) return;\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) throw new FS.ErrnoError(errCode);\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!old_dir.node_ops.rename) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) throw new FS.ErrnoError(10);\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally{\n FS.hashAddNode(old_node);\n }\n },\n rmdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.rmdir) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) throw new FS.ErrnoError(54);\n return node.node_ops.readdir(node);\n },\n unlink: (path)=>{\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) throw new FS.ErrnoError(44);\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) throw new FS.ErrnoError(errCode);\n if (!parent.node_ops.unlink) throw new FS.ErrnoError(63);\n if (FS.isMountpoint(node)) throw new FS.ErrnoError(10);\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: (path)=>{\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) throw new FS.ErrnoError(44);\n if (!link.node_ops.readlink) throw new FS.ErrnoError(28);\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow)=>{\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) throw new FS.ErrnoError(44);\n if (!node.node_ops.getattr) throw new FS.ErrnoError(63);\n return node.node_ops.getattr(node);\n },\n lstat: (path)=>{\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & -4096,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode)=>{\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow)=>{\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid)=>{\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len)=>{\n if (len < 0) throw new FS.ErrnoError(28);\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else node = path;\n if (!node.node_ops.setattr) throw new FS.ErrnoError(63);\n if (FS.isDir(node.mode)) throw new FS.ErrnoError(31);\n if (!FS.isFile(node.mode)) throw new FS.ErrnoError(28);\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) throw new FS.ErrnoError(errCode);\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len)=>{\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(28);\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode)=>{\n if (path === \"\") throw new FS.ErrnoError(44);\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) mode = mode & 4095 | 32768;\n else mode = 0;\n var node;\n if (typeof path == \"object\") node = path;\n else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) throw new FS.ErrnoError(20);\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) throw new FS.ErrnoError(44);\n if (FS.isChrdev(node.mode)) flags &= -513;\n if (flags & 65536 && !FS.isDir(node.mode)) throw new FS.ErrnoError(54);\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) throw new FS.ErrnoError(errCode);\n }\n if (flags & 512 && !created) FS.truncate(node, 0);\n flags &= -131713;\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) stream.stream_ops.open(stream);\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) FS.readFiles[path] = 1;\n }\n return stream;\n },\n close: (stream)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) stream.stream_ops.close(stream);\n } catch (e) {\n throw e;\n } finally{\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: (stream)=>{\n return stream.fd === null;\n },\n llseek: (stream, offset, whence)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (!stream.seekable || !stream.stream_ops.llseek) throw new FS.ErrnoError(70);\n if (whence != 0 && whence != 1 && whence != 2) throw new FS.ErrnoError(28);\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.read) throw new FS.ErrnoError(28);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn)=>{\n if (length < 0 || position < 0) throw new FS.ErrnoError(28);\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (FS.isDir(stream.node.mode)) throw new FS.ErrnoError(31);\n if (!stream.stream_ops.write) throw new FS.ErrnoError(28);\n if (stream.seekable && stream.flags & 1024) FS.llseek(stream, 0, 2);\n var seeking = typeof position != \"undefined\";\n if (!seeking) position = stream.position;\n else if (!stream.seekable) throw new FS.ErrnoError(70);\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length)=>{\n if (FS.isClosed(stream)) throw new FS.ErrnoError(8);\n if (offset < 0 || length <= 0) throw new FS.ErrnoError(28);\n if ((stream.flags & 2097155) === 0) throw new FS.ErrnoError(8);\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) throw new FS.ErrnoError(43);\n if (!stream.stream_ops.allocate) throw new FS.ErrnoError(138);\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags)=>{\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) throw new FS.ErrnoError(2);\n if ((stream.flags & 2097155) === 1) throw new FS.ErrnoError(2);\n if (!stream.stream_ops.mmap) throw new FS.ErrnoError(43);\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags)=>{\n if (!stream.stream_ops.msync) return 0;\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: (stream)=>0,\n ioctl: (stream, cmd, arg)=>{\n if (!stream.stream_ops.ioctl) throw new FS.ErrnoError(59);\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {})=>{\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") ret = UTF8ArrayToString(buf, 0);\n else if (opts.encoding === \"binary\") ret = buf;\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {})=>{\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n else throw new Error(\"Unsupported data type\");\n FS.close(stream);\n },\n cwd: ()=>FS.currentPath,\n chdir: (path)=>{\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) throw new FS.ErrnoError(44);\n if (!FS.isDir(lookup.node.mode)) throw new FS.ErrnoError(54);\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) throw new FS.ErrnoError(errCode);\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: ()=>{\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: ()=>{\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: ()=>0,\n write: (stream, buffer, offset, length, pos)=>length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: ()=>{\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: ()=>{\n var node = FS.createNode(proc_self, \"fd\", 16895, 73);\n node.node_ops = {\n lookup: (parent, name)=>{\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: ()=>stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: ()=>{\n if (Module[\"stdin\"]) FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n if (Module[\"stdout\"]) FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n else FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n if (Module[\"stderr\"]) FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n else FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: ()=>{\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [\n 44\n ].forEach((code)=>{\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: ()=>{\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error)=>{\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: ()=>{\n FS.init.initialized = false;\n _fflush(0);\n for(var i = 0; i < FS.streams.length; i++){\n var stream = FS.streams[i];\n if (!stream) continue;\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite)=>{\n var mode = 0;\n if (canRead) mode |= 365;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink)=>{\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) return null;\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink)=>{\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite)=>{\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while(parts.length){\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn)=>{\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for(var i = 0, len = data.length; i < len; ++i)arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output)=>{\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: (stream)=>{\n stream.seekable = false;\n },\n close: (stream)=>{\n if (output && output.buffer && output.buffer.length) output(10);\n },\n read: (stream, buffer, offset, length, pos)=>{\n var bytesRead = 0;\n for(var i = 0; i < length; i++){\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) throw new FS.ErrnoError(6);\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) stream.node.timestamp = Date.now();\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos)=>{\n for(var i = 0; i < length; i++)try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) stream.node.timestamp = Date.now();\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: (obj)=>{\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n 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.\");\n else if (read_) try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n else throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n },\n createLazyFile: (parent, name, url, canRead, canWrite)=>{\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) return undefined;\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1048576;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to)=>{\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) return new Uint8Array(xhr.response || []);\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter((chunkNum)=>{\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") lazyArray.chunks[chunkNum] = doXHR(start, end);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) this.cacheLength();\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else var properties = {\n isDevice: false,\n url: url\n };\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) node.contents = properties.contents;\n else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach((key)=>{\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) for(var i = 0; i < size; i++)buffer[offset + i] = contents[position + i];\n else for(var i = 0; i < size; i++)buffer[offset + i] = contents.get(position + i);\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position)=>{\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags)=>{\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) throw new FS.ErrnoError(48);\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish)=>{\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, ()=>{\n if (onerror) onerror();\n removeRunDependency(dep);\n })) return;\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") asyncLoad(url, (byteArray)=>processData(byteArray), onerror);\n else processData(url);\n },\n indexedDB: ()=>{\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: ()=>{\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = ()=>{\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = ()=>{\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = ()=>{}, onerror = ()=>{})=>{\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = ()=>{\n var db = openRequest.result;\n try {\n var transaction = db.transaction([\n FS.DB_STORE_NAME\n ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach((path)=>{\n var getRequest = files.get(path);\n getRequest.onsuccess = ()=>{\n if (FS.analyzePath(path).exists) FS.unlink(path);\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = ()=>{\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n };\n var SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) return path;\n var dir;\n if (dirfd === -100) dir = FS.cwd();\n else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) throw new FS.ErrnoError(44);\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) return -54;\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n tempI64 = [\n stat.size >>> 0,\n (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)\n ], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [\n Math.floor(atime / 1e3) >>> 0,\n (tempDouble = Math.floor(atime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(mtime / 1e3) >>> 0,\n (tempDouble = Math.floor(mtime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [\n Math.floor(ctime / 1e3) >>> 0,\n (tempDouble = Math.floor(ctime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)\n ], HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n tempI64 = [\n stat.ino >>> 0,\n (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)\n ], HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) throw new FS.ErrnoError(43);\n if (flags & 2) return 0;\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n };\n function ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & -8) return -28;\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) return -44;\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) return -2;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n }\n function ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(cmd){\n case 0:\n var arg = SYSCALLS.get();\n if (arg < 0) return -28;\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n case 1:\n case 2:\n return 0;\n case 3:\n return stream.flags;\n case 4:\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n case 5:\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n case 6:\n case 7:\n return 0;\n case 16:\n case 8:\n return -28;\n case 9:\n setErrNo(28);\n return -1;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch(op){\n case 21509:\n case 21505:\n if (!stream.tty) return -59;\n return 0;\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n if (!stream.tty) return -59;\n return 0;\n case 21519:\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n case 21520:\n if (!stream.tty) return -59;\n return -28;\n case 21531:\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n case 21523:\n if (!stream.tty) return -59;\n return 0;\n case 21524:\n if (!stream.tty) return -59;\n return 0;\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n function ___syscall_stat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n }\n var nowIsMonotonic = true;\n function __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n }\n function __emscripten_throw_longjmp() {\n throw Infinity;\n }\n function _abort() {\n abort(\"\");\n }\n function _emscripten_date_now() {\n return Date.now();\n }\n var _emscripten_get_now;\n _emscripten_get_now = ()=>performance.now();\n function _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n }\n function getHeapMax() {\n return 2147483648;\n }\n function emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n }\n function _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) return false;\n let alignUp = (x, multiple)=>x + (multiple - x % multiple) % multiple;\n for(var cutDown = 1; cutDown <= 4; cutDown *= 2){\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) return true;\n }\n return false;\n }\n var ENV = {};\n function getExecutableName() {\n return thisProgram || \"./this.program\";\n }\n function getEnvStrings() {\n if (!getEnvStrings.strings) {\n var lang = (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\";\n var env = {\n \"USER\": \"web_user\",\n \"LOGNAME\": \"web_user\",\n \"PATH\": \"/\",\n \"PWD\": \"/\",\n \"HOME\": \"/home/web_user\",\n \"LANG\": lang,\n \"_\": getExecutableName()\n };\n for(var x in ENV)if (ENV[x] === undefined) delete env[x];\n else env[x] = ENV[x];\n var strings = [];\n for(var x in env)strings.push(x + \"=\" + env[x]);\n getEnvStrings.strings = strings;\n }\n return getEnvStrings.strings;\n }\n function writeAsciiToMemory(str, buffer, dontAddNull) {\n for(var i = 0; i < str.length; ++i)HEAP8[buffer++ >> 0] = str.charCodeAt(i);\n if (!dontAddNull) HEAP8[buffer >> 0] = 0;\n }\n function _environ_get(__environ, environ_buf) {\n var bufSize = 0;\n getEnvStrings().forEach(function(string, i) {\n var ptr = environ_buf + bufSize;\n HEAPU32[__environ + i * 4 >> 2] = ptr;\n writeAsciiToMemory(string, ptr);\n bufSize += string.length + 1;\n });\n return 0;\n }\n function _environ_sizes_get(penviron_count, penviron_buf_size) {\n var strings = getEnvStrings();\n HEAPU32[penviron_count >> 2] = strings.length;\n var bufSize = 0;\n strings.forEach(function(string) {\n bufSize += string.length + 1;\n });\n HEAPU32[penviron_buf_size >> 2] = bufSize;\n return 0;\n }\n function _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n }\n function exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) exitRuntime();\n _proc_exit(status);\n }\n var _exit = exitJS;\n function _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n }\n function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n tempI64 = [\n stream.position >>> 0,\n (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)\n ], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for(var i = 0; i < iovcnt; i++){\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") offset += curr;\n }\n return ret;\n }\n function _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n }\n function handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") return EXITSTATUS;\n quit_(1, e);\n }\n function allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n }\n function runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n }\n function maybeExit() {\n if (!keepRuntimeAlive()) try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n function callUserCallback(func) {\n if (runtimeExited || ABORT) return;\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n }\n function runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n }\n function runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n }\n var Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [\n \"invoke_*\",\n \"emscripten_sleep\",\n \"emscripten_wget\",\n \"emscripten_wget_data\",\n \"emscripten_idb_load\",\n \"emscripten_idb_store\",\n \"emscripten_idb_delete\",\n \"emscripten_idb_exists\",\n \"emscripten_idb_load_blob\",\n \"emscripten_idb_store_blob\",\n \"SDL_Delay\",\n \"emscripten_scan_registers\",\n \"emscripten_lazy_load_code\",\n \"emscripten_fiber_swap\",\n \"__load_secondary_module\",\n \"fd_sync\",\n \"__wasi_fd_sync\",\n \"_emval_await\",\n \"_dlopen_js\",\n \"__asyncjs__*\"\n ];\n for(var x in imports)(function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n })(x);\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for(var x in exports)(function(x) {\n var original = exports[x];\n if (typeof original == \"function\") ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally{\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n else ret[x] = original;\n })(x);\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") Fibers.trampoline();\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject)=>{\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0)=>{\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) return;\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.resume();\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) throw asyncWasmReturnValue;\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) Browser.mainLoop.pause();\n runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach((func)=>callUserCallback(func));\n } else abort(\"invalid state: \" + Asyncify.state);\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep((wakeUp)=>{\n startAsync().then(wakeUp);\n });\n }\n };\n function AsciiToString(ptr) {\n var str = \"\";\n while(true){\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n }\n var FSNode = function(parent, name, mode, rdev) {\n if (!parent) parent = this;\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n };\n var readMode = 365;\n var writeMode = 146;\n Object.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n });\n FS.FSNode = FSNode;\n FS.staticInit();\n var wasmImports = {\n \"s\": __asyncjs__emglken_fill_stdin_buffer,\n \"D\": ___syscall_faccessat,\n \"n\": ___syscall_fcntl64,\n \"C\": ___syscall_getcwd,\n \"B\": ___syscall_ioctl,\n \"A\": ___syscall_openat,\n \"z\": ___syscall_stat64,\n \"v\": __emscripten_get_now_is_monotonic,\n \"u\": __emscripten_throw_longjmp,\n \"t\": _abort,\n \"k\": _emscripten_date_now,\n \"r\": _emscripten_memcpy_big,\n \"q\": _emscripten_resize_heap,\n \"y\": _environ_get,\n \"x\": _environ_sizes_get,\n \"i\": _exit,\n \"m\": _fd_close,\n \"w\": _fd_read,\n \"p\": _fd_seek,\n \"l\": _fd_write,\n \"c\": invoke_i,\n \"g\": invoke_ii,\n \"f\": invoke_iiii,\n \"d\": invoke_iiiii,\n \"o\": invoke_ji,\n \"j\": invoke_v,\n \"b\": invoke_vi,\n \"a\": invoke_vii,\n \"h\": invoke_viii,\n \"e\": invoke_viiii\n };\n var asm = createWasm();\n var ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"F\"]).apply(null, arguments);\n };\n var _free = function() {\n return (_free = Module[\"asm\"][\"G\"]).apply(null, arguments);\n };\n var _malloc = function() {\n return (_malloc = Module[\"asm\"][\"H\"]).apply(null, arguments);\n };\n var _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"I\"]).apply(null, arguments);\n };\n var _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"J\"]).apply(null, arguments);\n };\n var _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"K\"]).apply(null, arguments);\n };\n var ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"L\"]).apply(null, arguments);\n };\n var ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"M\"]).apply(null, arguments);\n };\n var _setThrew = function() {\n return (_setThrew = Module[\"asm\"][\"O\"]).apply(null, arguments);\n };\n var _saveSetjmp = function() {\n return (_saveSetjmp = Module[\"asm\"][\"saveSetjmp\"]).apply(null, arguments);\n };\n var _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n };\n var _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n };\n var stackSave = function() {\n return (stackSave = Module[\"asm\"][\"P\"]).apply(null, arguments);\n };\n var stackRestore = function() {\n return (stackRestore = Module[\"asm\"][\"Q\"]).apply(null, arguments);\n };\n var stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"R\"]).apply(null, arguments);\n };\n var dynCall_vi = Module[\"dynCall_vi\"] = function() {\n return (dynCall_vi = Module[\"dynCall_vi\"] = Module[\"asm\"][\"S\"]).apply(null, arguments);\n };\n var dynCall_iiii = Module[\"dynCall_iiii\"] = function() {\n return (dynCall_iiii = Module[\"dynCall_iiii\"] = Module[\"asm\"][\"T\"]).apply(null, arguments);\n };\n var dynCall_ii = Module[\"dynCall_ii\"] = function() {\n return (dynCall_ii = Module[\"dynCall_ii\"] = Module[\"asm\"][\"U\"]).apply(null, arguments);\n };\n var dynCall_vii = Module[\"dynCall_vii\"] = function() {\n return (dynCall_vii = Module[\"dynCall_vii\"] = Module[\"asm\"][\"V\"]).apply(null, arguments);\n };\n var dynCall_i = Module[\"dynCall_i\"] = function() {\n return (dynCall_i = Module[\"dynCall_i\"] = Module[\"asm\"][\"W\"]).apply(null, arguments);\n };\n var dynCall_v = Module[\"dynCall_v\"] = function() {\n return (dynCall_v = Module[\"dynCall_v\"] = Module[\"asm\"][\"X\"]).apply(null, arguments);\n };\n var dynCall_iiiii = Module[\"dynCall_iiiii\"] = function() {\n return (dynCall_iiiii = Module[\"dynCall_iiiii\"] = Module[\"asm\"][\"Y\"]).apply(null, arguments);\n };\n var dynCall_viii = Module[\"dynCall_viii\"] = function() {\n return (dynCall_viii = Module[\"dynCall_viii\"] = Module[\"asm\"][\"Z\"]).apply(null, arguments);\n };\n var dynCall_viiii = Module[\"dynCall_viiii\"] = function() {\n return (dynCall_viiii = Module[\"dynCall_viiii\"] = Module[\"asm\"][\"_\"]).apply(null, arguments);\n };\n var dynCall_ji = Module[\"dynCall_ji\"] = function() {\n return (dynCall_ji = Module[\"dynCall_ji\"] = Module[\"asm\"][\"$\"]).apply(null, arguments);\n };\n var _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"aa\"]).apply(null, arguments);\n };\n var _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"ba\"]).apply(null, arguments);\n };\n var _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"ca\"]).apply(null, arguments);\n };\n var _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"da\"]).apply(null, arguments);\n };\n var ___start_em_js = Module[\"___start_em_js\"] = 107504;\n var ___stop_em_js = Module[\"___stop_em_js\"] = 110189;\n function invoke_ii(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ii(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_vii(index, a1, a2) {\n var sp = stackSave();\n try {\n dynCall_vii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_i(index) {\n var sp = stackSave();\n try {\n return dynCall_i(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_v(index) {\n var sp = stackSave();\n try {\n dynCall_v(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_vi(index, a1) {\n var sp = stackSave();\n try {\n dynCall_vi(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n return dynCall_iiiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n dynCall_viii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_iiii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_iiii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_viiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n dynCall_viiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n function invoke_ji(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ji(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n }\n Module[\"AsciiToString\"] = AsciiToString;\n Module[\"FS\"] = FS;\n var calledRun;\n dependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n };\n function callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach((arg)=>{\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n }\n function run(args = arguments_) {\n if (runDependencies > 0) return;\n preRun();\n if (runDependencies > 0) return;\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else doRun();\n }\n if (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [\n Module[\"preInit\"]\n ];\n while(Module[\"preInit\"].length > 0)Module[\"preInit\"].pop()();\n }\n var shouldRunNow = true;\n if (Module[\"noInitialRun\"]) shouldRunNow = false;\n run();\n return Module.ready;\n };\n})();\nvar $504b148d08d37416$export$2e2bcd8739ae039 = $504b148d08d37416$var$Module;\n\n\nclass $707ef77e10663475$export$2e2bcd8739ae039 extends (0, $7c4ebf67e8338ec8$export$2e2bcd8739ae039) {\n default_options() {\n return {\n vmcore: (0, $504b148d08d37416$export$2e2bcd8739ae039)\n };\n }\n}\n\n\nconst $11084da5888c7d7e$var$formats = [\n {\n id: \"bocfel\",\n extensions: /z([3458]|blorb)$/,\n engine: (0, $cc564b5c889ac118$export$2e2bcd8739ae039)\n },\n {\n id: \"git\",\n extensions: /(gblorb|ulx)$/,\n engine: (0, $724db3da43d21d57$export$2e2bcd8739ae039)\n },\n {\n id: \"hugo\",\n extensions: /hex$/,\n engine: (0, $93f872a37763fb75$export$2e2bcd8739ae039)\n },\n {\n id: \"scare\",\n extensions: /taf$/,\n engine: (0, $707ef77e10663475$export$2e2bcd8739ae039)\n },\n {\n id: \"tads\",\n extensions: /(gam|t3)$/,\n engine: (0, $fe7c55ec16cd7a3a$export$2e2bcd8739ae039)\n }\n];\nconst $11084da5888c7d7e$export$1784a1ff765207b7 = (filename)=>{\n const format = $11084da5888c7d7e$var$formats.find((x)=>x.extensions.test(filename));\n if (format) return {\n ...format,\n /* @see staticFiles in package.json */ wasmBinaryName: `emglken/${format.id}-core.wasm`\n };\n throw new Error(\"Unsupported file type\");\n};\n\n\n\n\n/**\n * @see: https://github.com/curiousdannii/glkote-term/blob/master/src/glkote-dumb.js\n * @see: https://github.com/curiousdannii/glkote-term/blob/master/src/electrofs.js\n */ class $5e25d1360d04c823$var$FakeDialog {\n constructor(handlers, loggers){\n this.streaming = false;\n this.handlers = handlers;\n this.loggers = loggers;\n }\n file_ref_exists({ usage: usage }) {\n return usage === \"save\" ? true : false;\n }\n file_remove_ref() {\n return true;\n }\n file_construct_ref(filename, usage) {\n return {\n filename: filename,\n usage: usage || \"\"\n };\n }\n file_read(dirent, israw) {\n return this.handlers.onFileRead(dirent, israw);\n }\n file_write(dirent, content, israw) {\n if (content.length === 0) return void 0;\n this.handlers.onFileWrite(dirent, content, israw);\n }\n open(tosave, usage, gameid, callback) {\n this.handlers.onFileNameRequest(tosave, usage, gameid, callback);\n }\n log(message) {\n this.loggers.log(message);\n }\n warning(message) {\n this.loggers.warn(message);\n }\n error(message) {\n this.loggers.error(message);\n }\n}\nvar $5e25d1360d04c823$export$2e2bcd8739ae039 = $5e25d1360d04c823$var$FakeDialog;\n\n\n/**\n * @see: https://github.com/curiousdannii/glkote-term/blob/master/src/glkote-dumb.js\n */ /**\n * @see: https://github.com/curiousdannii/glkote-term/blob/master/src/glkote-term.js\n */ class $640511b266482529$var$GlkOte {\n constructor({ width: width, height: height }){\n this.width = width;\n this.height = height;\n this.current_metrics = null;\n this.disabled = false;\n this.generation = 0;\n this.interface = null;\n this.version = \"0.5.1\";\n }\n measure_window() {\n return {\n width: this.width,\n height: this.height,\n buffercharheight: 1,\n buffercharwidth: 1,\n buffermarginx: 0,\n buffermarginy: 0,\n graphicsmarginx: 0,\n graphicsmarginy: 0,\n gridcharheight: 1,\n gridcharwidth: 1,\n gridmarginx: 0,\n gridmarginy: 0,\n inspacingx: 0,\n inspacingy: 0,\n outspacingx: 0,\n outspacingy: 0\n };\n }\n getinterface() {\n return this.interface;\n }\n init(iface) {\n if (!iface) this.error(\"No game interface object has been provided.\");\n if (!iface.accept) this.error(\"The game interface object must have an accept() function.\");\n this.interface = iface;\n this.current_metrics = this.measure_window();\n this.send_response(\"init\", null, this.current_metrics);\n }\n update(data) {\n if (data.type === \"error\") this.error(data.message);\n if (data.type === \"pass\") return;\n if (data.type !== \"update\" && data.type !== \"exit\") {\n this.log(`Ignoring unknown message type: ${data.type}`);\n return;\n }\n if (data.gen === this.generation) {\n this.log(`Ignoring repeated generation number: ${data.gen}`);\n return;\n }\n if (data.gen < this.generation) {\n this.log(`Ignoring out-of-order generation number: got ${data.gen}, currently at ${this.generation}`);\n return;\n }\n this.generation = data.gen;\n if (this.disabled) this.disable(false);\n /* Handle the update */ if (data.input != null) this.cancel_inputs(data.input);\n if (data.windows != null) this.update_windows(data.windows);\n if (data.content != null && data.content.length) this.update_content(data.content);\n if (data.input != null) this.update_inputs(data.input);\n /* Disable everything if requested */ this.disabled = false;\n if (data.disabled || data.specialinput) this.disable(true);\n if (data.specialinput != null) this.accept_specialinput(data.specialinput);\n /* Detach all handlers and exit */ if (data.type === \"exit\") this.exit();\n }\n send_response(type, win, val, val2) {\n const res = {\n type: type,\n gen: this.generation\n };\n if (win) res.window = win.id;\n if (type === \"init\" || type === \"arrange\") res.metrics = val;\n if (type === \"init\") res.support = this.support();\n if (type === \"char\") res.value = val;\n if (type === \"line\") res.value = val;\n if (type === \"specialresponse\") {\n res.response = val;\n res.value = val2;\n }\n this.interface.accept(res);\n }\n support() {\n return [];\n }\n}\nvar $640511b266482529$export$2e2bcd8739ae039 = $640511b266482529$var$GlkOte;\n\n\nclass $25e930408cddd3f8$var$CheapGlkOte extends (0, $640511b266482529$export$2e2bcd8739ae039) {\n constructor(handlers, loggers, size){\n super(size);\n this.handlers = handlers;\n this.loggers = loggers;\n }\n sendFn(message, type, window) {\n this.send_response(type, window, message);\n }\n init(iface) {\n this.handlers.onInit();\n super.init(iface);\n }\n update_inputs(data) {\n if (!data.length) return [];\n this.handlers.onUpdateInputs(data);\n }\n accept_specialinput(data) {\n if (data.type === \"fileref_prompt\") {\n const callback = (ref)=>this.send_response(\"specialresponse\", null, \"fileref_prompt\", ref);\n this.interface.Dialog.open(data.filemode !== \"read\", data.filetype, data.gameid, callback);\n } else this.error(\"Request for unknown special input type: \" + data.type);\n }\n update_content(messages) {\n this.handlers.onUpdateContent(messages);\n }\n exit() {\n this.handlers.onExit();\n super.exit();\n }\n cancel_inputs(data) {\n this.handlers.onUpdateInputs(data);\n }\n disable(data) {\n this.handlers.onDisable(data);\n }\n update_windows(windows) {\n this.handlers.onUpdateWindows(windows);\n }\n log(message) {\n this.loggers.log(message);\n }\n warning(message) {\n this.loggers.warn(message);\n }\n error(message) {\n this.loggers.error(message);\n }\n}\nvar $25e930408cddd3f8$export$2e2bcd8739ae039 = $25e930408cddd3f8$var$CheapGlkOte;\n\n\nconst $db6ac6276ae4f3e4$var$noop = ()=>void 0;\nconst $db6ac6276ae4f3e4$var$defaultHandlers = [\n \"onInit\",\n \"onUpdateWindows\",\n \"onUpdateInputs\",\n \"onUpdateContent\",\n \"onDisable\",\n \"onFileNameRequest\",\n \"onFileRead\",\n \"onFileWrite\",\n \"onExit\"\n].reduce((acc, x)=>(acc[x] = $db6ac6276ae4f3e4$var$noop, acc), {});\nconst $db6ac6276ae4f3e4$var$defaultLoggers = {\n log: console.log,\n warning: console.warn,\n error: console.error\n};\nconst $db6ac6276ae4f3e4$var$defaultSize = {\n width: 80,\n height: 25\n};\nvar $db6ac6276ae4f3e4$export$2e2bcd8739ae039 = (handlers_, { loggers: loggers_, size: size_ } = {})=>{\n const handlers = Object.assign({}, $db6ac6276ae4f3e4$var$defaultHandlers, handlers_);\n const loggers = Object.assign({}, $db6ac6276ae4f3e4$var$defaultLoggers, loggers_);\n const size = Object.assign({}, $db6ac6276ae4f3e4$var$defaultSize, size_);\n const Dialog = new (0, $5e25d1360d04c823$export$2e2bcd8739ae039)(handlers, loggers);\n const GlkOte = new (0, $25e930408cddd3f8$export$2e2bcd8739ae039)(handlers, loggers, size);\n const send = GlkOte.sendFn.bind(GlkOte);\n return {\n Dialog: Dialog,\n GlkOte: GlkOte,\n send: send\n };\n};\n\n\n\n\n\nvar $7742cff3645aa0b6$exports = {};\n\n$parcel$export($7742cff3645aa0b6$exports, \"emphasized\", function () { return $7742cff3645aa0b6$export$1ee2ee71de083e4d; }, function (v) { return $7742cff3645aa0b6$export$1ee2ee71de083e4d = v; });\n$parcel$export($7742cff3645aa0b6$exports, \"input\", function () { return $7742cff3645aa0b6$export$b7e3ae3d7c15e42e; }, function (v) { return $7742cff3645aa0b6$export$b7e3ae3d7c15e42e = v; });\n$parcel$export($7742cff3645aa0b6$exports, \"message\", function () { return $7742cff3645aa0b6$export$a8ecead220dd38a6; }, function (v) { return $7742cff3645aa0b6$export$a8ecead220dd38a6 = v; });\n$parcel$export($7742cff3645aa0b6$exports, \"scrollTarget\", function () { return $7742cff3645aa0b6$export$64cbebf88d5f7b08; }, function (v) { return $7742cff3645aa0b6$export$64cbebf88d5f7b08 = v; });\n$parcel$export($7742cff3645aa0b6$exports, \"subheader\", function () { return $7742cff3645aa0b6$export$d61e5f8e032e1547; }, function (v) { return $7742cff3645aa0b6$export$d61e5f8e032e1547 = v; });\nvar $7742cff3645aa0b6$export$1ee2ee71de083e4d;\nvar $7742cff3645aa0b6$export$b7e3ae3d7c15e42e;\nvar $7742cff3645aa0b6$export$a8ecead220dd38a6;\nvar $7742cff3645aa0b6$export$64cbebf88d5f7b08;\nvar $7742cff3645aa0b6$export$d61e5f8e032e1547;\n$7742cff3645aa0b6$export$1ee2ee71de083e4d = `hBGgUq_emphasized`;\n$7742cff3645aa0b6$export$b7e3ae3d7c15e42e = `hBGgUq_input`;\n$7742cff3645aa0b6$export$a8ecead220dd38a6 = `hBGgUq_message`;\n$7742cff3645aa0b6$export$64cbebf88d5f7b08 = `hBGgUq_scrollTarget`;\n$7742cff3645aa0b6$export$d61e5f8e032e1547 = `hBGgUq_subheader`;\n\n\nfunction $0f82f0e8d6bc47f2$export$2e2bcd8739ae039({ style: style, text: text }) {\n const defaultContent = /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"span\", {\n className: [\n $7742cff3645aa0b6$exports.message,\n $7742cff3645aa0b6$exports[style]\n ].join(\" \"),\n children: text\n });\n return ({\n grid: text?.length > 0 ? /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n children: text\n }) : /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"br\", {}),\n input: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"span\", {\n className: [\n $7742cff3645aa0b6$exports.message,\n $7742cff3645aa0b6$exports.input\n ].join(\" \"),\n children: [\n \"> \",\n text\n ]\n }),\n subheader: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"strong\", {\n className: [\n $7742cff3645aa0b6$exports.message,\n $7742cff3645aa0b6$exports.subheader\n ].join(\" \"),\n children: text\n }),\n emphasized: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"em\", {\n className: [\n $7742cff3645aa0b6$exports.message,\n $7742cff3645aa0b6$exports.emphasized\n ].join(\" \"),\n children: text\n }),\n scrollTarget: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n className: [\n $7742cff3645aa0b6$exports.scrollTarget,\n style\n ].join(\" \")\n }),\n endOfLine: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"br\", {})\n })[style] || defaultContent;\n}\n\n\nvar $7264401512871bae$export$ab1029bcae9ddb4a;\nvar $7264401512871bae$export$d7f0ba9e5e132b36;\nvar $7264401512871bae$export$347a3a46df242257;\nvar $7264401512871bae$export$c789db2c85949867;\nvar $7264401512871bae$export$6181eef8f2dfdf3c;\n$7264401512871bae$export$ab1029bcae9ddb4a = `PwGQsW_buffer`;\n$7264401512871bae$export$d7f0ba9e5e132b36 = `PwGQsW_elseifplayer`;\n$7264401512871bae$export$347a3a46df242257 = `PwGQsW_gridBuffer`;\n$7264401512871bae$export$c789db2c85949867 = `PwGQsW_output`;\n$7264401512871bae$export$6181eef8f2dfdf3c = `PwGQsW_textBuffer`;\n\n\nconst $c5dda773199830f0$var$eol = {\n style: \"endOfLine\"\n};\nconst $c5dda773199830f0$var$scrollTarget = {\n style: \"scrollTarget\"\n};\nconst $c5dda773199830f0$var$isFakeStatus = (w)=>w.height < 5;\nconst $c5dda773199830f0$var$trimInputPrompt = (messages)=>messages.length < 1 ? messages : messages.slice(-1)[0].text === \">\" ? messages.slice(0, messages.length - 1) : messages;\nconst $c5dda773199830f0$var$parseInbox = (inbox, currentWindow)=>{\n const currentInbox = inbox.find(({ id: id })=>id === currentWindow.id);\n if (!currentInbox) return {\n clear: false,\n incoming: [\n $c5dda773199830f0$var$scrollTarget\n ]\n };\n const { text: inboxMessagesRaw } = currentInbox;\n const incoming = inboxMessagesRaw/* Normalize. */ .map(({ content: content })=>content ? [\n ...$c5dda773199830f0$var$trimInputPrompt(content),\n $c5dda773199830f0$var$eol\n ] : [\n $c5dda773199830f0$var$eol\n ])/* Flatten. */ .reduce((acc, x)=>acc.concat(x), [\n $c5dda773199830f0$var$scrollTarget\n ]);\n return {\n incoming: incoming,\n clear: $c5dda773199830f0$var$isFakeStatus(currentWindow) ? true : currentInbox.clear\n };\n};\nfunction $c5dda773199830f0$export$2e2bcd8739ae039({ inbox: inbox, currentWindow: currentWindow }) {\n const [messages, setMessages] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)([]);\n const textBufferEl = (0, $5c5fa90583e4b8e8$export$b8f5890fc79d6aca)(null);\n (0, $5c5fa90583e4b8e8$export$6d9c69b0de29b591)(()=>{\n const { incoming: incoming, clear: clear } = $c5dda773199830f0$var$parseInbox(inbox, currentWindow);\n setMessages((messages)=>clear ? incoming : messages.concat(incoming));\n setTimeout(()=>{\n const scrollTargets = textBufferEl.current.querySelectorAll(`.${$c5dda773199830f0$var$scrollTarget.style}`);\n const freshScrollTarget = scrollTargets[scrollTargets.length - 1];\n freshScrollTarget ? freshScrollTarget.scrollIntoView() : textBufferEl.current.scrollTo({\n top: textBufferEl.current.scrollHeight,\n behavior: \"smooth\"\n });\n }, 0);\n }, [\n currentWindow,\n inbox\n ]);\n const classes = ()=>[\n $7264401512871bae$export$ab1029bcae9ddb4a,\n $c5dda773199830f0$var$isFakeStatus(currentWindow) ? $7264401512871bae$export$347a3a46df242257 : $7264401512871bae$export$6181eef8f2dfdf3c\n ].join(\" \");\n return /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"section\", {\n tabindex: \"0\",\n ref: textBufferEl,\n className: classes(),\n children: messages.map((0, $0f82f0e8d6bc47f2$export$2e2bcd8739ae039))\n });\n}\n\n\n\n\n\n\nfunction $272a9a66be55229e$export$2e2bcd8739ae039({ inbox: inbox, currentWindow: currentWindow }) {\n const [prevMessages, setPrevMessages] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)([]);\n const [messages, setMessages] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)([]);\n (0, $5c5fa90583e4b8e8$export$6d9c69b0de29b591)(()=>{\n const currentInboxObj = inbox.find(({ id: id })=>id === currentWindow.id);\n const currentInbox = currentInboxObj?.lines ?? [];\n const newOrPrev = (cur, prev)=>(i)=>{\n const byId = (list, i)=>list.find(({ line: line })=>line === i);\n return byId(cur, i) || byId(prev, i);\n };\n const rawMessages = Array(currentWindow.gridheight).fill(null).map((_, i)=>i).map(newOrPrev(currentInbox, prevMessages));\n /* */ const shouldUpdatePrev = (rawMessages, prevMessages)=>{\n const serialize = JSON.stringify;\n return serialize(rawMessages) !== serialize(prevMessages);\n };\n if (shouldUpdatePrev(rawMessages, prevMessages)) setPrevMessages(rawMessages);\n /* */ const rawMessagesContent = rawMessages.map((x)=>x.content).flat().map((message)=>({\n ...message,\n text: message.text.trim()\n }));\n const isEmpty = rawMessagesContent.map(({ text: text })=>text.length).every((l)=>l === 0);\n const getGridStyle = ({ style: style })=>{\n if ([\n \"alert\",\n \"normal\"\n ].includes(style)) return \"grid\";\n return style || \"grid\";\n };\n const messages = rawMessagesContent.map((message)=>({\n style: getGridStyle(message),\n text: message.text.replace(\" \", \" / \")\n }));\n setMessages(isEmpty ? [] : messages);\n }, [\n inbox,\n currentWindow,\n prevMessages\n ]);\n return /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"section\", {\n className: [\n $7264401512871bae$export$ab1029bcae9ddb4a,\n $7264401512871bae$export$347a3a46df242257\n ].join(\" \"),\n children: messages.map((0, $0f82f0e8d6bc47f2$export$2e2bcd8739ae039))\n });\n}\n\n\n\n\n\nvar $fd5fe8e2ac9eacb0$export$2bacab2130704b28;\nvar $fd5fe8e2ac9eacb0$export$8439e0443b88eae;\n$fd5fe8e2ac9eacb0$export$2bacab2130704b28 = `gUkI1a_menuButton`;\n$fd5fe8e2ac9eacb0$export$8439e0443b88eae = `gUkI1a_menuIcon`;\n\n\nfunction $1aca019851cc147a$export$2e2bcd8739ae039({ onClick: onClick }) {\n return /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"button\", {\n \"aria-label\": \"Menu\",\n className: $fd5fe8e2ac9eacb0$export$2bacab2130704b28,\n onClick: onClick,\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"svg\", {\n class: $fd5fe8e2ac9eacb0$export$8439e0443b88eae,\n viewBox: \"0 0 28 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"rect\", {\n x: \"12\",\n y: \"4\",\n width: \"4\",\n height: \"4\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"rect\", {\n x: \"12\",\n y: \"14\",\n width: \"4\",\n height: \"4\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"rect\", {\n x: \"12\",\n y: \"24\",\n width: \"4\",\n height: \"4\"\n })\n ]\n })\n });\n}\n\n\nvar $3193ce97b05087f7$export$1d6e32fec5a4f082;\nvar $3193ce97b05087f7$export$4a36d31092c0d718;\n$3193ce97b05087f7$export$1d6e32fec5a4f082 = `LdLucW_inputBox`;\n$3193ce97b05087f7$export$4a36d31092c0d718 = `LdLucW_inputControls`;\n\n\n/* eslint-disable */ const $6ceab6f7d9d9af03$var$keyCodes = {\n KEY_BACKSPACE: 8,\n KEY_TAB: 9,\n KEY_RETURN: 13,\n KEY_ESC: 27,\n KEY_PAGEUP: 33,\n KEY_PAGEDOWN: 34,\n KEY_END: 35,\n KEY_HOME: 36,\n KEY_LEFT: 37,\n KEY_UP: 38,\n KEY_RIGHT: 39,\n KEY_DOWN: 40\n};\nconst $6ceab6f7d9d9af03$var$keyNames = {\n [$6ceab6f7d9d9af03$var$keyCodes.KEY_BACKSPACE]: \"delete\",\n [$6ceab6f7d9d9af03$var$keyCodes.KEY_TAB]: \"tab\",\n [$6ceab6f7d9d9af03$var$keyCodes.KEY_RETURN]: \"return\",\n [$6ceab6f7d9d9af03$var$keyCodes.KEY_ESC]: \"escape\",\n [$6ceab6f7d9d9af03$var$keyCodes.KEY_PAGEUP]: \"pageup\",\n [$6ceab6f7d9d9af03$var$keyCodes.KEY_PAGEDOWN]: \"pagedown\",\n [$6ceab6f7d9d9af03$var$keyCodes.KEY_END]: \"end\",\n [$6ceab6f7d9d9af03$var$keyCodes.KEY_HOME]: \"home\",\n [$6ceab6f7d9d9af03$var$keyCodes.KEY_LEFT]: \"left\",\n [$6ceab6f7d9d9af03$var$keyCodes.KEY_UP]: \"up\",\n [$6ceab6f7d9d9af03$var$keyCodes.KEY_RIGHT]: \"right\",\n [$6ceab6f7d9d9af03$var$keyCodes.KEY_DOWN]: \"down\"\n};\n/* eslint-enable */ const $6ceab6f7d9d9af03$var$hasModifier = (event)=>{\n const modifiers = [\n event.altKey,\n event.ctrlKey,\n event.metaKey,\n event.shiftKey\n ];\n return modifiers.some((modifier)=>modifier === true);\n};\nfunction $6ceab6f7d9d9af03$export$2e2bcd8739ae039({ inputType: inputType, windows: windows, currentWindowId: currentWindowId, sendMessage: sendMessage, onFullscreenRequest: onFullscreenRequest, setMenuOpen: setMenuOpen }) {\n const [targetWindow, setTargetWindow] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)(null);\n const [inputText, setInputText] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)(\"\");\n const [lastInput, setLastInput] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)(\"\");\n const inputEl = (0, $5c5fa90583e4b8e8$export$b8f5890fc79d6aca)(null);\n (0, $5c5fa90583e4b8e8$export$6d9c69b0de29b591)(()=>{\n let setFocus = ()=>{\n inputEl.current && inputEl.current.focus();\n };\n setInputText(\"\");\n setFocus();\n document.addEventListener(\"fullscreenchange\", setFocus);\n return ()=>document.removeEventListener(\"fullscreenchange\", setFocus);\n }, [\n inputType\n ]);\n (0, $5c5fa90583e4b8e8$export$6d9c69b0de29b591)(()=>{\n setTargetWindow(windows.find(({ id: id })=>id === currentWindowId));\n }, [\n currentWindowId,\n windows\n ]);\n const send = (message)=>{\n sendMessage(message, inputType, targetWindow);\n setLastInput(message);\n setInputText(\"\");\n };\n const charHandler = (event)=>(event.keyCode === 229 ? charHandlerMobile : charHandlerDefault)(event);\n const charHandlerDefault = (event)=>{\n if ($6ceab6f7d9d9af03$var$hasModifier(event)) return undefined;\n event.preventDefault();\n const key = $6ceab6f7d9d9af03$var$keyNames[event.keyCode] || event.key;\n send(key);\n };\n const charHandlerMobile = (event)=>setTimeout(()=>{\n send(event.target.value.slice(-1).toUpperCase());\n setInputText(\"\");\n });\n const lineHandler = ({ keyCode: keyCode, target: { value: value } })=>{\n if (keyCode === $6ceab6f7d9d9af03$var$keyCodes.KEY_RETURN) send(value);\n };\n const lineArrowHandler = ({ keyCode: keyCode })=>{\n if (keyCode === $6ceab6f7d9d9af03$var$keyCodes.KEY_UP) {\n setInputText(lastInput);\n setTimeout(()=>{\n const end = lastInput.length;\n inputEl.current.setSelectionRange(end, end);\n }, 0);\n }\n if (keyCode === $6ceab6f7d9d9af03$var$keyCodes.KEY_DOWN) setInputText(\"\");\n };\n const inputHandlers = {\n char: {\n maxlength: \"1\",\n placeholder: \"Press any key here\",\n onKeyDown: charHandler\n },\n line: {\n placeholder: \" > \",\n onKeyDown: lineArrowHandler,\n onKeyPress: lineHandler\n },\n finished: {\n placeholder: \"The program has finished\",\n disabled: true\n }\n };\n return /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"section\", {\n className: $3193ce97b05087f7$export$4a36d31092c0d718,\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"input\", {\n ...inputHandlers[inputType],\n className: $3193ce97b05087f7$export$1d6e32fec5a4f082,\n ref: inputEl,\n value: inputText,\n autofocus: true,\n autocomplete: \"off\",\n spellCheck: \"false\",\n autocapitalize: \"off\",\n autocorrect: \"off\",\n onDblClick: onFullscreenRequest,\n onInput: ({ target: { value: value } })=>setInputText(value),\n type: \"search\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $1aca019851cc147a$export$2e2bcd8739ae039), {\n onClick: ()=>setMenuOpen(true)\n })\n ]\n });\n}\n\n\n\n\nvar $d7f5f88be915a221$export$cef8ff1a2814f0d7;\nvar $d7f5f88be915a221$export$46c1c92549715335;\nvar $d7f5f88be915a221$export$471f7ae5c4103ae1;\n$d7f5f88be915a221$export$cef8ff1a2814f0d7 = `zi213q_dots0123`;\n$d7f5f88be915a221$export$cef8ff1a2814f0d7;\n$d7f5f88be915a221$export$46c1c92549715335 = `zi213q_loading`;\n$d7f5f88be915a221$export$471f7ae5c4103ae1 = `zi213q_status`;\n\n\nconst $1068788a6b5bd866$var$fail = (details)=>/*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n className: [\n $d7f5f88be915a221$export$471f7ae5c4103ae1\n ].join(\" \"),\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"h1\", {\n children: \"Error\"\n }),\n details.map((x)=>/*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"p\", {\n children: x\n }, x)),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"hr\", {}),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bf49b3b08868bbb1$export$a6c7ac8248d6e38a), {\n href: \"/\",\n children: \"Home\"\n }),\n \"|\",\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: \"https://github.com/He4eT/elseifplayer/issues\",\n children: \"Report bug\"\n })\n ]\n });\nconst $1068788a6b5bd866$var$loading = (details)=>/*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n className: [\n $d7f5f88be915a221$export$471f7ae5c4103ae1,\n $d7f5f88be915a221$export$46c1c92549715335\n ].join(\" \"),\n children: details.map((x)=>/*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n children: x\n }, x))\n });\nvar $1068788a6b5bd866$export$2e2bcd8739ae039 = ({ stage: stage, details: details })=>({\n fail: $1068788a6b5bd866$var$fail,\n loading: $1068788a6b5bd866$var$loading\n })[stage](details);\n\n\n/**\r\n Base32768 is a binary-to-text encoding optimised for UTF-16-encoded text.\r\n (e.g. Windows, Java, JavaScript)\r\n*/ // Z is a number, usually a uint15 but sometimes a uint7\nconst $a3e838a981d9102e$var$BITS_PER_CHAR = 15 // Base32768 is a 15-bit encoding\n;\nconst $a3e838a981d9102e$var$BITS_PER_BYTE = 8;\nconst $a3e838a981d9102e$var$pairStrings = [\n \"ҠҿԀԟڀڿݠޟ߀ߟကဟႠႿᄀᅟᆀᆟᇠሿበቿዠዿጠጿᎠᏟᐠᙟᚠᛟកសᠠᡟᣀᣟᦀᦟ᧠᧿ᨠᨿᯀᯟᰀᰟᴀᴟ⇠⇿⋀⋟⍀⏟␀␟─❟➀➿⠀⥿⦠⦿⨠⩟⪀⪿⫠⭟ⰀⰟⲀⳟⴀⴟⵀⵟ⺠⻟㇀㇟㐀䶟䷀龿ꀀꑿ꒠꒿ꔀꗿꙀꙟꚠꛟ꜀ꝟꞀꞟꡀꡟ\",\n \"ƀƟɀʟ\"\n];\nconst $a3e838a981d9102e$var$lookupE = {};\nconst $a3e838a981d9102e$var$lookupD = {};\n$a3e838a981d9102e$var$pairStrings.forEach((pairString, r)=>{\n // Decompression\n const encodeRepertoire = [];\n pairString.match(/../gu).forEach((pair)=>{\n const first = pair.codePointAt(0);\n const last = pair.codePointAt(1);\n for(let codePoint = first; codePoint <= last; codePoint++)encodeRepertoire.push(String.fromCodePoint(codePoint));\n });\n const numZBits = $a3e838a981d9102e$var$BITS_PER_CHAR - $a3e838a981d9102e$var$BITS_PER_BYTE * r // 0 -> 15, 1 -> 7\n ;\n $a3e838a981d9102e$var$lookupE[numZBits] = encodeRepertoire;\n encodeRepertoire.forEach((chr, z)=>{\n $a3e838a981d9102e$var$lookupD[chr] = [\n numZBits,\n z\n ];\n });\n});\nconst $a3e838a981d9102e$export$c564cdbbe6da493 = (uint8Array)=>{\n const length = uint8Array.length;\n let str = \"\";\n let z = 0;\n let numZBits = 0;\n for(let i = 0; i < length; i++){\n const uint8 = uint8Array[i];\n // Take most significant bit first\n for(let j = $a3e838a981d9102e$var$BITS_PER_BYTE - 1; j >= 0; j--){\n const bit = uint8 >> j & 1;\n z = (z << 1) + bit;\n numZBits++;\n if (numZBits === $a3e838a981d9102e$var$BITS_PER_CHAR) {\n str += $a3e838a981d9102e$var$lookupE[numZBits][z];\n z = 0;\n numZBits = 0;\n }\n }\n }\n if (numZBits !== 0) {\n // Final bits require special treatment.\n // z = bbbbbbcccccccc, numZBits = 14, padBits = 1\n // z = bbbbbcccccccc, numZBits = 13, padBits = 2\n // z = bbbbcccccccc, numZBits = 12, padBits = 3\n // z = bbbcccccccc, numZBits = 11, padBits = 4\n // z = bbcccccccc, numZBits = 10, padBits = 5\n // z = bcccccccc, numZBits = 9, padBits = 6\n // z = cccccccc, numZBits = 8, padBits = 7\n // => Pad `z` out to 15 bits using 1s, then encode as normal (r = 0)\n // z = ccccccc, numZBits = 7, padBits = 0\n // z = cccccc, numZBits = 6, padBits = 1\n // z = ccccc, numZBits = 5, padBits = 2\n // z = cccc, numZBits = 4, padBits = 3\n // z = ccc, numZBits = 3, padBits = 4\n // z = cc, numZBits = 2, padBits = 5\n // z = c, numZBits = 1, padBits = 6\n // => Pad `z` out to 7 bits using 1s, then encode specially (r = 1)\n while(!(numZBits in $a3e838a981d9102e$var$lookupE)){\n z = (z << 1) + 1;\n numZBits++;\n }\n str += $a3e838a981d9102e$var$lookupE[numZBits][z];\n }\n return str;\n};\nconst $a3e838a981d9102e$export$2f872c0f2117be69 = (str)=>{\n const length = str.length;\n // This length is a guess. There's a chance we allocate one more byte here\n // than we actually need. But we can count and slice it off later\n const uint8Array = new Uint8Array(Math.floor(length * $a3e838a981d9102e$var$BITS_PER_CHAR / $a3e838a981d9102e$var$BITS_PER_BYTE));\n let numUint8s = 0;\n let uint8 = 0;\n let numUint8Bits = 0;\n for(let i = 0; i < length; i++){\n const chr = str.charAt(i);\n if (!(chr in $a3e838a981d9102e$var$lookupD)) throw new Error(`Unrecognised Base32768 character: ${chr}`);\n const [numZBits, z] = $a3e838a981d9102e$var$lookupD[chr];\n if (numZBits !== $a3e838a981d9102e$var$BITS_PER_CHAR && i !== length - 1) throw new Error(\"Secondary character found before end of input at position \" + String(i));\n // Take most significant bit first\n for(let j = numZBits - 1; j >= 0; j--){\n const bit = z >> j & 1;\n uint8 = (uint8 << 1) + bit;\n numUint8Bits++;\n if (numUint8Bits === $a3e838a981d9102e$var$BITS_PER_BYTE) {\n uint8Array[numUint8s] = uint8;\n numUint8s++;\n uint8 = 0;\n numUint8Bits = 0;\n }\n }\n }\n // Final padding bits! Requires special consideration!\n // Remember how we always pad with 1s?\n // Note: there could be 0 such bits, check still works though\n if (uint8 !== (1 << numUint8Bits) - 1) throw new Error(\"Padding mismatch\");\n return new Uint8Array(uint8Array.buffer, 0, numUint8s);\n};\n\n\nconst $55fe02cc0e361ca1$export$fe1040197752eb59 = ({ setStatus: setStatus, setWindows: setWindows, setCurrentWindowId: setCurrentWindowId, setInputType: setInputType, setInbox: setInbox })=>({\n onInit: ()=>{\n setStatus({\n stage: \"ready\"\n });\n },\n /* */ onUpdateWindows: (windows)=>{\n setWindows(windows);\n },\n onUpdateInputs: (data)=>{\n if (data.length === 0) return null;\n const { type: type, id: id } = data[0];\n setCurrentWindowId(id);\n setInputType(type);\n },\n onUpdateContent: (inbox)=>{\n setInbox(inbox);\n },\n onDisable: ()=>{\n setInputType(null);\n },\n /* */ onFileNameRequest: (_tosave, usage, _gameId, setFileName)=>{\n setFileName({\n usage: usage,\n filename: prompt(\"Enter the filename\")\n });\n },\n onFileRead: ({ filename: filename })=>{\n const content = localStorage.getItem(`fake-fs/${filename}`);\n return (0, $a3e838a981d9102e$export$2f872c0f2117be69)(content);\n },\n onFileWrite: ({ filename: filename }, content)=>{\n localStorage.setItem(`fake-fs/${filename}`, (0, $a3e838a981d9102e$export$c564cdbbe6da493)(content));\n },\n /* */ onExit: ()=>{\n setInputType(\"finished\");\n }\n });\nconst $55fe02cc0e361ca1$export$877ebb39146e6928 = (onExit)=>(event)=>{\n if (event.reason.name === \"ExitStatus\" || event.reason.message === \"Program terminated with exit(0)\") onExit();\n else console.error(\"Unhandled rejection (promise: \", event.promise, \", reason: \", event.reason, \").\");\n event.preventDefault();\n };\n\n\n\nconst $d1e73e56b58e412e$var$INITIAL_STATUS = {\n stage: \"loading\",\n details: [\n \"Preparing\"\n ]\n};\nconst $d1e73e56b58e412e$var$runMachine = ({ engine: Engine, wasmBinary: wasmBinary, storyfile: storyfile, handlers: handlers })=>{\n const { Dialog: Dialog, GlkOte: GlkOte, send: send } = (0, $db6ac6276ae4f3e4$export$2e2bcd8739ae039)(handlers);\n const instance = new Engine();\n instance.init(storyfile, {\n Dialog: Dialog,\n GlkOte: GlkOte,\n Glk: {},\n wasmBinary: wasmBinary,\n arguments: [\n \"storyfile\"\n ]\n });\n instance.start();\n return {\n send: send,\n instance: instance\n };\n};\nfunction $d1e73e56b58e412e$export$2e2bcd8739ae039({ vmParts: { storyfile: storyfile, engine: engine, wasmBinary: wasmBinary }, onFullscreenRequest: onFullscreenRequest, setMenuOpen: setMenuOpen, singleWindow: singleWindow }) {\n const [status, setStatus] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)($d1e73e56b58e412e$var$INITIAL_STATUS);\n const [windows, setWindows] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)([]);\n const [currentWindowId, setCurrentWindowId] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)(null);\n const [inputType, setInputType] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)(null);\n const [inbox, setInbox] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)([]);\n const [vm, setVm] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)(null);\n const [sendMessage, setSendMessage] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)(null);\n (0, $5c5fa90583e4b8e8$export$6d9c69b0de29b591)(()=>{\n const handlers = (0, $55fe02cc0e361ca1$export$fe1040197752eb59)({\n setStatus: setStatus,\n setWindows: setWindows,\n setCurrentWindowId: setCurrentWindowId,\n setInputType: setInputType,\n setInbox: setInbox\n });\n setVm($d1e73e56b58e412e$var$runMachine({\n engine: engine,\n wasmBinary: wasmBinary,\n storyfile: storyfile,\n handlers: handlers\n }));\n const rejectionHandler = (0, $55fe02cc0e361ca1$export$877ebb39146e6928)(handlers.onExit);\n window.addEventListener(\"unhandledrejection\", rejectionHandler);\n return ()=>{\n setVm(null);\n window.removeEventListener(\"unhandledrejection\", rejectionHandler);\n };\n }, [\n storyfile,\n engine,\n wasmBinary\n ]);\n (0, $5c5fa90583e4b8e8$export$6d9c69b0de29b591)(()=>{\n setSendMessage(()=>vm ? vm.send : null);\n return ()=>setSendMessage(null);\n }, [\n vm\n ]);\n const textWindow = (inbox)=>(currentWindow)=>{\n const props = {\n inbox: inbox,\n currentWindow: currentWindow\n };\n return ({\n buffer: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $c5dda773199830f0$export$2e2bcd8739ae039), {\n ...props\n }),\n grid: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $272a9a66be55229e$export$2e2bcd8739ae039), {\n ...props\n })\n })[currentWindow.type];\n };\n const byTop = (a, b)=>a.top - b.top;\n return status.stage !== \"ready\" ? /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $1068788a6b5bd866$export$2e2bcd8739ae039), {\n ...status\n }) : /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"section\", {\n className: $7264401512871bae$export$d7f0ba9e5e132b36,\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"section\", {\n className: $7264401512871bae$export$c789db2c85949867,\n children: windows.sort(byTop).filter(singleWindow ? ({ id: id })=>id === currentWindowId : ()=>true).map(textWindow(inbox))\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $6ceab6f7d9d9af03$export$2e2bcd8739ae039), {\n inputType: inputType,\n windows: windows,\n currentWindowId: currentWindowId,\n sendMessage: sendMessage,\n onFullscreenRequest: onFullscreenRequest,\n setMenuOpen: setMenuOpen\n })\n ]\n });\n}\n\n\n\nconst $cc5481a01a7ff6bc$var$INITIAL_STATUS = {\n stage: \"loading\",\n details: [\n \"Loading\"\n ]\n};\nconst $cc5481a01a7ff6bc$var$prepareVM = ({ url: url, setStatus: setStatus, setParts: setParts })=>{\n const st = (stage, details)=>(args)=>{\n setStatus({\n stage: stage,\n details: [\n details\n ]\n });\n return args;\n };\n const cleanUrl = (url)=>url.startsWith(\"blob:\") ? url.replace(/#(.*)$/g, \"\") : url;\n const fetchWasm = (wasmBinaryName)=>fetch(wasmBinaryName).then((response)=>response.arrayBuffer());\n const checkResponse = (response)=>{\n if (response.ok) return response;\n throw new Error(response.statusText);\n };\n return Promise.resolve(url).then(st(\"loading\", \"Downloading file\")).then(cleanUrl).then(fetch).then(checkResponse).then(st(\"loading\", \"Processing file\")).then((response)=>response.arrayBuffer()).then((arrayBuffer)=>new Uint8Array(arrayBuffer)).then(st(\"loading\", \"Downloading engine\")).then((storyfile)=>{\n let parts = (0, $11084da5888c7d7e$export$1784a1ff765207b7)(url);\n return [\n storyfile,\n parts.engine,\n parts.wasmBinaryName\n ];\n }).then(([storyfile, engine, wasmBinaryName])=>Promise.all([\n storyfile,\n engine,\n fetchWasm(wasmBinaryName)\n ])).then(([storyfile, engine, wasmBinary])=>setParts({\n storyfile: storyfile,\n engine: engine,\n wasmBinary: wasmBinary\n })).then(st(\"loading\", \"Running\")).catch((e)=>{\n console.error(e);\n setStatus({\n stage: \"fail\",\n details: [\n e.message,\n url\n ]\n });\n });\n};\nfunction $cc5481a01a7ff6bc$export$2e2bcd8739ae039({ url: url, singleWindow: singleWindow, onFullscreenRequest: onFullscreenRequest, setMenuOpen: setMenuOpen }) {\n const [status, setStatus] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)($cc5481a01a7ff6bc$var$INITIAL_STATUS);\n const [vmParts, setParts] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)(null);\n (0, $5c5fa90583e4b8e8$export$6d9c69b0de29b591)(()=>{\n setStatus($cc5481a01a7ff6bc$var$INITIAL_STATUS);\n setParts(null);\n $cc5481a01a7ff6bc$var$prepareVM({\n url: url,\n setStatus: setStatus,\n setParts: setParts\n });\n return ()=>setParts(null);\n }, [\n url\n ]);\n return vmParts ? /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $d1e73e56b58e412e$export$2e2bcd8739ae039), {\n vmParts: vmParts,\n onFullscreenRequest: onFullscreenRequest,\n setMenuOpen: setMenuOpen,\n singleWindow: singleWindow\n }) : /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $1068788a6b5bd866$export$2e2bcd8739ae039), {\n ...status\n });\n}\n\n\n\n\n\n\nvar $0c7160f142d5c9c6$export$d90360df408c8ceb;\nvar $0c7160f142d5c9c6$export$b1e5508a851be14d;\nvar $0c7160f142d5c9c6$export$428e7c787d57587d;\n$0c7160f142d5c9c6$export$d90360df408c8ceb = `J9zJZG_appearance`;\n$0c7160f142d5c9c6$export$b1e5508a851be14d = `J9zJZG_menu`;\n$0c7160f142d5c9c6$export$428e7c787d57587d = `J9zJZG_navigation`;\n\n\nfunction $dcf9cc7c30fac7fa$export$2e2bcd8739ae039({ themeEngine: themeEngine, onFullscreenRequest: onFullscreenRequest, menuOpen: menuOpen, setMenuOpen: setMenuOpen }) {\n const dialog = (0, $5c5fa90583e4b8e8$export$b8f5890fc79d6aca)(null);\n (0, $5c5fa90583e4b8e8$export$6d9c69b0de29b591)(()=>{\n const dialogOpen = dialog.current.open;\n if (menuOpen && !dialogOpen) dialog.current.showModal();\n if (!menuOpen && dialogOpen) dialog.current.close();\n }, [\n menuOpen\n ]);\n (0, $5c5fa90583e4b8e8$export$6d9c69b0de29b591)(()=>{\n const currentDialog = dialog.current;\n const closeHandler = ()=>{\n setMenuOpen(false);\n };\n currentDialog.addEventListener(\"close\", closeHandler);\n return ()=>currentDialog.removeEventListener(\"close\", closeHandler);\n }, [\n dialog,\n setMenuOpen\n ]);\n return /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"dialog\", {\n ref: dialog,\n className: $0c7160f142d5c9c6$export$b1e5508a851be14d,\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"section\", {\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"button\", {\n tabIndex: 0,\n onClick: ()=>dialog.current.close(),\n children: \"Close this menu\"\n })\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n className: $0c7160f142d5c9c6$export$d90360df408c8ceb,\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"button\", {\n onClick: ()=>{\n dialog.current.close();\n onFullscreenRequest();\n },\n children: \"Full screen\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"button\", {\n onClick: ()=>themeEngine.setRandomTheme(),\n children: \"Set a random theme\"\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"label\", {\n children: [\n \"Current theme:\",\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $7c39639b64b564e0$export$2e2bcd8739ae039), {\n themeEngine: themeEngine\n })\n ]\n })\n ]\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n className: $0c7160f142d5c9c6$export$428e7c787d57587d,\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bf49b3b08868bbb1$export$a6c7ac8248d6e38a), {\n href: \"/\",\n tabIndex: 0,\n children: \"ElseIfPlayer\"\n })\n })\n ]\n })\n });\n}\n\n\nconst $b5ee9fb5e8b4f417$var$decode = (encodedUrl)=>decodeURIComponent(encodedUrl);\nfunction $b5ee9fb5e8b4f417$export$2e2bcd8739ae039({ theme: theme, themeEngine: themeEngine, encodedUrl: encodedUrl, singleWindow: singleWindow }) {\n (0, $5c5fa90583e4b8e8$export$6d9c69b0de29b591)(()=>{\n themeEngine.setTheme(theme);\n }, [\n theme,\n themeEngine\n ]);\n const [targetUrl, setTargetUrl] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)($b5ee9fb5e8b4f417$var$decode(encodedUrl));\n (0, $5c5fa90583e4b8e8$export$6d9c69b0de29b591)(()=>{\n setTargetUrl($b5ee9fb5e8b4f417$var$decode(encodedUrl));\n }, [\n encodedUrl\n ]);\n const [menuOpen, setMenuOpen] = (0, $5c5fa90583e4b8e8$export$60241385465d0a34)(false);\n const onFullscreenRequest = ()=>{\n document.documentElement.requestFullscreen();\n };\n return /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"main\", {\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $dcf9cc7c30fac7fa$export$2e2bcd8739ae039), {\n themeEngine: themeEngine,\n onFullscreenRequest: onFullscreenRequest,\n menuOpen: menuOpen,\n setMenuOpen: setMenuOpen\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $cc5481a01a7ff6bc$export$2e2bcd8739ae039), {\n url: targetUrl,\n onFullscreenRequest: onFullscreenRequest,\n setMenuOpen: setMenuOpen,\n singleWindow: singleWindow\n })\n ]\n });\n}\n\n\n\n\nfunction $1425950ba2693d8f$export$2e2bcd8739ae039() {\n return /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"main\", {\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $1068788a6b5bd866$export$2e2bcd8739ae039), {\n stage: \"fail\",\n details: [\n \"404\",\n \"Page Not Found\"\n ]\n })\n });\n}\n\n\nvar $6003de219045a58b$exports = {};\n\n$parcel$export($6003de219045a58b$exports, \"app\", function () { return $6003de219045a58b$export$729c8b7179294ba; }, function (v) { return $6003de219045a58b$export$729c8b7179294ba = v; });\n$parcel$export($6003de219045a58b$exports, \"focus\", function () { return $6003de219045a58b$export$d7ddd398f22d79ef; }, function (v) { return $6003de219045a58b$export$d7ddd398f22d79ef = v; });\n$parcel$export($6003de219045a58b$exports, \"games\", function () { return $6003de219045a58b$export$79863f625c4e57; }, function (v) { return $6003de219045a58b$export$79863f625c4e57 = v; });\n$parcel$export($6003de219045a58b$exports, \"home\", function () { return $6003de219045a58b$export$d12a05a2da93ee73; }, function (v) { return $6003de219045a58b$export$d12a05a2da93ee73 = v; });\n$parcel$export($6003de219045a58b$exports, \"play\", function () { return $6003de219045a58b$export$899fbdb5fa08b653; }, function (v) { return $6003de219045a58b$export$899fbdb5fa08b653 = v; });\n$parcel$export($6003de219045a58b$exports, \"themes\", function () { return $6003de219045a58b$export$d9a33280f07116d9; }, function (v) { return $6003de219045a58b$export$d9a33280f07116d9 = v; });\nvar $6003de219045a58b$export$729c8b7179294ba;\nvar $6003de219045a58b$export$d7ddd398f22d79ef;\nvar $6003de219045a58b$export$79863f625c4e57;\nvar $6003de219045a58b$export$d12a05a2da93ee73;\nvar $6003de219045a58b$export$899fbdb5fa08b653;\nvar $6003de219045a58b$export$d9a33280f07116d9;\n$6003de219045a58b$export$729c8b7179294ba = `X8uEDW_app`;\n$6003de219045a58b$export$d7ddd398f22d79ef = `X8uEDW_focus`;\n$6003de219045a58b$export$79863f625c4e57 = `X8uEDW_games`;\n$6003de219045a58b$export$d12a05a2da93ee73 = `X8uEDW_home`;\n$6003de219045a58b$export$899fbdb5fa08b653 = `X8uEDW_play`;\n$6003de219045a58b$export$d9a33280f07116d9 = `X8uEDW_themes`;\n\n\nfunction $0cf2ca330b15cac0$export$2e2bcd8739ae039() {\n const themeEngine = (0, $1e789317f11755fe$export$818080cba8053148)();\n const [currentLocation] = (0, $66f2da609d6d9bfe$export$b37f3f4c9f6562f7)();\n const playerView = (themeEngine, singleWindow)=>function view(params) {\n return /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $b5ee9fb5e8b4f417$export$2e2bcd8739ae039), {\n themeEngine: themeEngine,\n singleWindow: singleWindow,\n ...params\n });\n };\n return /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bf49b3b08868bbb1$export$55185c17a0fcbe46), {\n hook: (0, $66f2da609d6d9bfe$export$b37f3f4c9f6562f7),\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)(\"div\", {\n className: [\n $6003de219045a58b$exports.app,\n $6003de219045a58b$exports[(0, $66f2da609d6d9bfe$export$4fac2eeccfa4a8ca)(currentLocation)],\n themeEngine.currentTheme\n ].join(\" \"),\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bf49b3b08868bbb1$export$b5d5cf8927ab7262), {\n children: [\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bf49b3b08868bbb1$export$e7b0ac011bb776c6), {\n path: \"/\",\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $85078130a8d7a0de$export$2e2bcd8739ae039), {\n themeEngine: themeEngine\n })\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bf49b3b08868bbb1$export$e7b0ac011bb776c6), {\n path: \"/games/\",\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $a9795ef4044b2e22$export$2e2bcd8739ae039), {})\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bf49b3b08868bbb1$export$e7b0ac011bb776c6), {\n path: \"/themes/\",\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $d21b3c63351f5932$export$2e2bcd8739ae039), {\n themeEngine: themeEngine\n })\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bf49b3b08868bbb1$export$e7b0ac011bb776c6), {\n path: \"/play/:encodedUrl\",\n children: playerView(themeEngine, false)\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bf49b3b08868bbb1$export$e7b0ac011bb776c6), {\n path: \"/play/:encodedUrl/:theme\",\n children: playerView(themeEngine, false)\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bf49b3b08868bbb1$export$e7b0ac011bb776c6), {\n path: \"/focus/:encodedUrl\",\n children: playerView(themeEngine, true)\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bf49b3b08868bbb1$export$e7b0ac011bb776c6), {\n path: \"/focus/:encodedUrl/:theme\",\n children: playerView(themeEngine, true)\n }),\n /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $bf49b3b08868bbb1$export$e7b0ac011bb776c6), {\n children: /*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $1425950ba2693d8f$export$2e2bcd8739ae039), {})\n })\n ]\n })\n })\n });\n}\n\n\n(0, $551174e99d8c5924$export$b3890eb0ae9dca99)(/*#__PURE__*/ (0, $8161a3c5d316e860$export$34b9dba7ce09269b)((0, $0cf2ca330b15cac0$export$2e2bcd8739ae039), {}), document.getElementById(\"root\"));\n\n})();\n//# sourceMappingURL=index.7852e909.js.map\n","\"use strict\";\n\nvar bundleURL = {};\nfunction getBundleURLCached(id) {\n var value = bundleURL[id];\n if (!value) {\n value = getBundleURL();\n bundleURL[id] = value;\n }\n return value;\n}\nfunction getBundleURL() {\n try {\n throw new Error();\n } catch (err) {\n var matches = ('' + err.stack).match(/(https?|file|ftp|(chrome|moz|safari-web)-extension):\\/\\/[^)\\n]+/g);\n if (matches) {\n // The first two stack frames will be this function and getBundleURLCached.\n // Use the 3rd one, which will be a runtime in the original bundle.\n return getBaseURL(matches[2]);\n }\n }\n return '/';\n}\nfunction getBaseURL(url) {\n return ('' + url).replace(/^((?:https?|file|ftp|(chrome|moz|safari-web)-extension):\\/\\/.+)\\/[^/]+$/, '$1') + '/';\n}\n\n// TODO: Replace uses with `new URL(url).origin` when ie11 is no longer supported.\nfunction getOrigin(url) {\n var matches = ('' + url).match(/(https?|file|ftp|(chrome|moz|safari-web)-extension):\\/\\/[^/]+/);\n if (!matches) {\n throw new Error('Origin not found');\n }\n return matches[0];\n}\nexports.getBundleURL = getBundleURLCached;\nexports.getBaseURL = getBaseURL;\nexports.getOrigin = getOrigin;","import { render } from 'preact'\n\nimport '@fontsource/open-sans'\n\nimport './style/base.scss'\nimport './style/controls.scss'\n\nimport App from './App'\n\nrender(, document.getElementById('root'))\n","import{options as r}from\"preact\";export{Fragment}from\"preact\";var _=0;function o(o,e,n,t,f,l){var s,u,a={};for(u in e)\"ref\"==u?s=e[u]:a[u]=e[u];var i={type:o,props:a,key:n,ref:s,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--_,__source:f,__self:l};if(\"function\"==typeof o&&(s=o.defaultProps))for(u in s)void 0===a[u]&&(a[u]=s[u]);return r.vnode&&r.vnode(i),i}export{o as jsx,o as jsxDEV,o as jsxs};\n//# sourceMappingURL=jsxRuntime.module.js.map\n","import { options, Fragment } from 'preact';\n\n/** @typedef {import('preact').VNode} VNode */\n\nlet vnodeId = 0;\n\n/**\n * @fileoverview\n * This file exports various methods that implement Babel's \"automatic\" JSX runtime API:\n * - jsx(type, props, key)\n * - jsxs(type, props, key)\n * - jsxDEV(type, props, key, __source, __self)\n *\n * The implementation of createVNode here is optimized for performance.\n * Benchmarks: https://esbench.com/bench/5f6b54a0b4632100a7dcd2b3\n */\n\n/**\n * JSX.Element factory used by Babel's {runtime:\"automatic\"} JSX transform\n * @param {VNode['type']} type\n * @param {VNode['props']} props\n * @param {VNode['key']} [key]\n * @param {unknown} [isStaticChildren]\n * @param {unknown} [__source]\n * @param {unknown} [__self]\n */\nfunction createVNode(type, props, key, isStaticChildren, __source, __self) {\n\t// We'll want to preserve `ref` in props to get rid of the need for\n\t// forwardRef components in the future, but that should happen via\n\t// a separate PR.\n\tlet normalizedProps = {},\n\t\tref,\n\t\ti;\n\tfor (i in props) {\n\t\tif (i == 'ref') {\n\t\t\tref = props[i];\n\t\t} else {\n\t\t\tnormalizedProps[i] = props[i];\n\t\t}\n\t}\n\n\tconst vnode = {\n\t\ttype,\n\t\tprops: normalizedProps,\n\t\tkey,\n\t\tref,\n\t\t_children: null,\n\t\t_parent: null,\n\t\t_depth: 0,\n\t\t_dom: null,\n\t\t_nextDom: undefined,\n\t\t_component: null,\n\t\t_hydrating: null,\n\t\tconstructor: undefined,\n\t\t_original: --vnodeId,\n\t\t__source,\n\t\t__self\n\t};\n\n\t// If a Component VNode, check for and apply defaultProps.\n\t// Note: `type` is often a String, and can be `undefined` in development.\n\tif (typeof type === 'function' && (ref = type.defaultProps)) {\n\t\tfor (i in ref)\n\t\t\tif (typeof normalizedProps[i] === 'undefined') {\n\t\t\t\tnormalizedProps[i] = ref[i];\n\t\t\t}\n\t}\n\n\tif (options.vnode) options.vnode(vnode);\n\treturn vnode;\n}\n\nexport {\n\tcreateVNode as jsx,\n\tcreateVNode as jsxs,\n\tcreateVNode as jsxDEV,\n\tFragment\n};\n","var n,l,u,i,t,o,r,f,e,c={},s=[],a=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,v=Array.isArray;function h(n,l){for(var u in l)n[u]=l[u];return n}function p(n){var l=n.parentNode;l&&l.removeChild(n)}function y(l,u,i){var t,o,r,f={};for(r in u)\"key\"==r?t=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return d(l,f,t,o,null)}function d(n,i,t,o,r){var f={type:n,props:i,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null==r&&null!=l.vnode&&l.vnode(f),f}function _(){return{current:null}}function k(n){return n.children}function b(n,l){this.props=n,this.context=l}function g(n,l){if(null==l)return n.__?g(n.__,n.__.__k.indexOf(n)+1):null;for(var u;ll&&t.sort(f));x.__r=0}function P(n,l,u,i,t,o,r,f,e,a){var h,p,y,_,b,m,w,x=i&&i.__k||s,P=x.length;for(u.__k=[],h=0;h0?d(_.type,_.props,_.key,_.ref?_.ref:null,_.__v):_)){if(_.__=u,_.__b=u.__b+1,null===(y=x[h])||y&&_.key==y.key&&_.type===y.type)x[h]=void 0;else for(p=0;p=0;l--)if((u=n.__k[l])&&(i=A(u)))return i;return null}function H(n,l,u,i,t){var o;for(o in u)\"children\"===o||\"key\"===o||o in l||T(n,o,null,u[o],i);for(o in l)t&&\"function\"!=typeof l[o]||\"children\"===o||\"key\"===o||\"value\"===o||\"checked\"===o||u[o]===l[o]||T(n,o,l[o],u[o],i)}function I(n,l,u){\"-\"===l[0]?n.setProperty(l,null==u?\"\":u):n[l]=null==u?\"\":\"number\"!=typeof u||a.test(l)?u:u+\"px\"}function T(n,l,u,i,t){var o;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof i&&(n.style.cssText=i=\"\"),i)for(l in i)u&&l in u||I(n.style,l,\"\");if(u)for(l in u)i&&u[l]===i[l]||I(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])o=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?i||n.addEventListener(l,o?z:j,o):n.removeEventListener(l,o?z:j,o);else if(\"dangerouslySetInnerHTML\"!==l){if(t)l=l.replace(/xlink(H|:h)/,\"h\").replace(/sName$/,\"s\");else if(\"width\"!==l&&\"height\"!==l&&\"href\"!==l&&\"list\"!==l&&\"form\"!==l&&\"tabIndex\"!==l&&\"download\"!==l&&\"rowSpan\"!==l&&\"colSpan\"!==l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null==u||!1===u&&\"-\"!==l[4]?n.removeAttribute(l):n.setAttribute(l,u))}}function j(n){return this.l[n.type+!1](l.event?l.event(n):n)}function z(n){return this.l[n.type+!0](l.event?l.event(n):n)}function L(n,u,i,t,o,r,f,e,c){var s,a,p,y,d,_,g,m,w,x,C,S,$,A,H,I=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,r=[e]),(s=l.__b)&&s(u);try{n:if(\"function\"==typeof I){if(m=u.props,w=(s=I.contextType)&&t[s.__c],x=s?w?w.props.value:s.__:t,i.__c?g=(a=u.__c=i.__c).__=a.__E:(\"prototype\"in I&&I.prototype.render?u.__c=a=new I(m,x):(u.__c=a=new b(m,x),a.constructor=I,a.render=B),w&&w.sub(a),a.props=m,a.state||(a.state={}),a.context=x,a.__n=t,p=a.__d=!0,a.__h=[],a._sb=[]),null==a.__s&&(a.__s=a.state),null!=I.getDerivedStateFromProps&&(a.__s==a.state&&(a.__s=h({},a.__s)),h(a.__s,I.getDerivedStateFromProps(m,a.__s))),y=a.props,d=a.state,a.__v=u,p)null==I.getDerivedStateFromProps&&null!=a.componentWillMount&&a.componentWillMount(),null!=a.componentDidMount&&a.__h.push(a.componentDidMount);else{if(null==I.getDerivedStateFromProps&&m!==y&&null!=a.componentWillReceiveProps&&a.componentWillReceiveProps(m,x),!a.__e&&null!=a.shouldComponentUpdate&&!1===a.shouldComponentUpdate(m,a.__s,x)||u.__v===i.__v){for(u.__v!==i.__v&&(a.props=m,a.state=a.__s,a.__d=!1),a.__e=!1,u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),C=0;C2&&(e.children=arguments.length>3?n.call(arguments,2):i),d(l.type,e,t||l.key,o||l.ref,null)}function G(n,l){var u={__c:l=\"__cC\"+e++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,w(n)})},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=s.slice,l={__e:function(n,l,u,i){for(var t,o,r;l=l.__;)if((t=l.__c)&&!t.__)try{if((o=t.constructor)&&null!=o.getDerivedStateFromError&&(t.setState(o.getDerivedStateFromError(n)),r=t.__d),null!=t.componentDidCatch&&(t.componentDidCatch(n,i||{}),r=t.__d),r)return t.__E=t}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},b.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=h({},this.state),\"function\"==typeof n&&(n=n(h({},u),this.props)),n&&h(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),w(this))},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),w(this))},b.prototype.render=k,t=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f=function(n,l){return n.__v.__b-l.__v.__b},x.__r=0,e=0;export{b as Component,k as Fragment,F as cloneElement,G as createContext,y as createElement,_ as createRef,y as h,E as hydrate,i as isValidElement,l as options,D as render,S as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","import { EMPTY_ARR } from './constants';\n\nexport const isArray = Array.isArray;\n\n/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O & P}\n */\nexport function assign(obj, props) {\n\t// @ts-ignore We change the type of `obj` to be `O & P`\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O & P} */ (obj);\n}\n\n/**\n * Remove a child node from its parent if attached. This is a workaround for\n * IE11 which doesn't support `Element.prototype.remove()`. Using this function\n * is smaller than including a dedicated polyfill.\n * @param {Node} node The node to remove\n */\nexport function removeNode(node) {\n\tlet parentNode = node.parentNode;\n\tif (parentNode) parentNode.removeChild(node);\n}\n\nexport const slice = EMPTY_ARR.slice;\n","import { _catchError } from './diff/catch-error';\n\n/**\n * The `option` object can potentially contain callback functions\n * that are called during various stages of our renderer. This is the\n * foundation on which all our addons like `preact/debug`, `preact/compat`,\n * and `preact/hooks` are based on. See the `Options` type in `internal.d.ts`\n * for a full list of available option hooks (most editors/IDEs allow you to\n * ctrl+click or cmd+click on mac the type definition below).\n * @type {import('./internal').Options}\n */\nconst options = {\n\t_catchError\n};\n\nexport default options;\n","import { slice } from './util';\nimport options from './options';\n\nlet vnodeId = 0;\n\n/**\n * Create an virtual node (used for JSX)\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n * constructor for this virtual node\n * @param {object | null | undefined} [props] The properties of the virtual node\n * @param {Array} [children] The children of the virtual node\n * @returns {import('./internal').VNode}\n */\nexport function createElement(type, props, children) {\n\tlet normalizedProps = {},\n\t\tkey,\n\t\tref,\n\t\ti;\n\tfor (i in props) {\n\t\tif (i == 'key') key = props[i];\n\t\telse if (i == 'ref') ref = props[i];\n\t\telse normalizedProps[i] = props[i];\n\t}\n\n\tif (arguments.length > 2) {\n\t\tnormalizedProps.children =\n\t\t\targuments.length > 3 ? slice.call(arguments, 2) : children;\n\t}\n\n\t// If a Component VNode, check for and apply defaultProps\n\t// Note: type may be undefined in development, must never error here.\n\tif (typeof type == 'function' && type.defaultProps != null) {\n\t\tfor (i in type.defaultProps) {\n\t\t\tif (normalizedProps[i] === undefined) {\n\t\t\t\tnormalizedProps[i] = type.defaultProps[i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn createVNode(type, normalizedProps, key, ref, null);\n}\n\n/**\n * Create a VNode (used internally by Preact)\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n * Constructor for this virtual node\n * @param {object | string | number | null} props The properties of this virtual node.\n * If this virtual node represents a text node, this is the text of the node (string or number).\n * @param {string | number | null} key The key for this virtual node, used when\n * diffing it against its children\n * @param {import('./internal').VNode[\"ref\"]} ref The ref property that will\n * receive a reference to its created child\n * @returns {import('./internal').VNode}\n */\nexport function createVNode(type, props, key, ref, original) {\n\t// V8 seems to be better at detecting type shapes if the object is allocated from the same call site\n\t// Do not inline into createElement and coerceToVNode!\n\tconst vnode = {\n\t\ttype,\n\t\tprops,\n\t\tkey,\n\t\tref,\n\t\t_children: null,\n\t\t_parent: null,\n\t\t_depth: 0,\n\t\t_dom: null,\n\t\t// _nextDom must be initialized to undefined b/c it will eventually\n\t\t// be set to dom.nextSibling which can return `null` and it is important\n\t\t// to be able to distinguish between an uninitialized _nextDom and\n\t\t// a _nextDom that has been set to `null`\n\t\t_nextDom: undefined,\n\t\t_component: null,\n\t\t_hydrating: null,\n\t\tconstructor: undefined,\n\t\t_original: original == null ? ++vnodeId : original\n\t};\n\n\t// Only invoke the vnode hook if this was *not* a direct copy:\n\tif (original == null && options.vnode != null) options.vnode(vnode);\n\n\treturn vnode;\n}\n\nexport function createRef() {\n\treturn { current: null };\n}\n\nexport function Fragment(props) {\n\treturn props.children;\n}\n\n/**\n * Check if a the argument is a valid Preact VNode.\n * @param {*} vnode\n * @returns {vnode is import('./internal').VNode}\n */\nexport const isValidElement = vnode =>\n\tvnode != null && vnode.constructor === undefined;\n","import { assign } from './util';\nimport { diff, commitRoot } from './diff/index';\nimport options from './options';\nimport { Fragment } from './create-element';\n\n/**\n * Base Component class. Provides `setState()` and `forceUpdate()`, which\n * trigger rendering\n * @param {object} props The initial component props\n * @param {object} context The initial context from parent components'\n * getChildContext\n */\nexport function Component(props, context) {\n\tthis.props = props;\n\tthis.context = context;\n}\n\n/**\n * Update component state and schedule a re-render.\n * @this {import('./internal').Component}\n * @param {object | ((s: object, p: object) => object)} update A hash of state\n * properties to update with new values or a function that given the current\n * state and props returns a new partial state\n * @param {() => void} [callback] A function to be called once component state is\n * updated\n */\nComponent.prototype.setState = function (update, callback) {\n\t// only clone state when copying to nextState the first time.\n\tlet s;\n\tif (this._nextState != null && this._nextState !== this.state) {\n\t\ts = this._nextState;\n\t} else {\n\t\ts = this._nextState = assign({}, this.state);\n\t}\n\n\tif (typeof update == 'function') {\n\t\t// Some libraries like `immer` mark the current state as readonly,\n\t\t// preventing us from mutating it, so we need to clone it. See #2716\n\t\tupdate = update(assign({}, s), this.props);\n\t}\n\n\tif (update) {\n\t\tassign(s, update);\n\t}\n\n\t// Skip update if updater function returned null\n\tif (update == null) return;\n\n\tif (this._vnode) {\n\t\tif (callback) {\n\t\t\tthis._stateCallbacks.push(callback);\n\t\t}\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Immediately perform a synchronous re-render of the component\n * @this {import('./internal').Component}\n * @param {() => void} [callback] A function to be called after component is\n * re-rendered\n */\nComponent.prototype.forceUpdate = function (callback) {\n\tif (this._vnode) {\n\t\t// Set render mode so that we can differentiate where the render request\n\t\t// is coming from. We need this because forceUpdate should never call\n\t\t// shouldComponentUpdate\n\t\tthis._force = true;\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Accepts `props` and `state`, and returns a new Virtual DOM tree to build.\n * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx).\n * @param {object} props Props (eg: JSX attributes) received from parent\n * element/component\n * @param {object} state The component's current state\n * @param {object} context Context object, as returned by the nearest\n * ancestor's `getChildContext()`\n * @returns {import('./index').ComponentChildren | void}\n */\nComponent.prototype.render = Fragment;\n\n/**\n * @param {import('./internal').VNode} vnode\n * @param {number | null} [childIndex]\n */\nexport function getDomSibling(vnode, childIndex) {\n\tif (childIndex == null) {\n\t\t// Use childIndex==null as a signal to resume the search from the vnode's sibling\n\t\treturn vnode._parent\n\t\t\t? getDomSibling(vnode._parent, vnode._parent._children.indexOf(vnode) + 1)\n\t\t\t: null;\n\t}\n\n\tlet sibling;\n\tfor (; childIndex < vnode._children.length; childIndex++) {\n\t\tsibling = vnode._children[childIndex];\n\n\t\tif (sibling != null && sibling._dom != null) {\n\t\t\t// Since updateParentDomPointers keeps _dom pointer correct,\n\t\t\t// we can rely on _dom to tell us if this subtree contains a\n\t\t\t// rendered DOM node, and what the first rendered DOM node is\n\t\t\treturn sibling._dom;\n\t\t}\n\t}\n\n\t// If we get here, we have not found a DOM node in this vnode's children.\n\t// We must resume from this vnode's sibling (in it's parent _children array)\n\t// Only climb up and search the parent if we aren't searching through a DOM\n\t// VNode (meaning we reached the DOM parent of the original vnode that began\n\t// the search)\n\treturn typeof vnode.type == 'function' ? getDomSibling(vnode) : null;\n}\n\n/**\n * Trigger in-place re-rendering of a component.\n * @param {import('./internal').Component} component The component to rerender\n */\nfunction renderComponent(component) {\n\tlet vnode = component._vnode,\n\t\toldDom = vnode._dom,\n\t\tparentDom = component._parentDom;\n\n\tif (parentDom) {\n\t\tlet commitQueue = [];\n\t\tconst oldVNode = assign({}, vnode);\n\t\toldVNode._original = vnode._original + 1;\n\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tvnode,\n\t\t\toldVNode,\n\t\t\tcomponent._globalContext,\n\t\t\tparentDom.ownerSVGElement !== undefined,\n\t\t\tvnode._hydrating != null ? [oldDom] : null,\n\t\t\tcommitQueue,\n\t\t\toldDom == null ? getDomSibling(vnode) : oldDom,\n\t\t\tvnode._hydrating\n\t\t);\n\t\tcommitRoot(commitQueue, vnode);\n\n\t\tif (vnode._dom != oldDom) {\n\t\t\tupdateParentDomPointers(vnode);\n\t\t}\n\t}\n}\n\n/**\n * @param {import('./internal').VNode} vnode\n */\nfunction updateParentDomPointers(vnode) {\n\tif ((vnode = vnode._parent) != null && vnode._component != null) {\n\t\tvnode._dom = vnode._component.base = null;\n\t\tfor (let i = 0; i < vnode._children.length; i++) {\n\t\t\tlet child = vnode._children[i];\n\t\t\tif (child != null && child._dom != null) {\n\t\t\t\tvnode._dom = vnode._component.base = child._dom;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn updateParentDomPointers(vnode);\n\t}\n}\n\n/**\n * The render queue\n * @type {Array}\n */\nlet rerenderQueue = [];\n\n/*\n * The value of `Component.debounce` must asynchronously invoke the passed in callback. It is\n * important that contributors to Preact can consistently reason about what calls to `setState`, etc.\n * do, and when their effects will be applied. See the links below for some further reading on designing\n * asynchronous APIs.\n * * [Designing APIs for Asynchrony](https://blog.izs.me/2013/08/designing-apis-for-asynchrony)\n * * [Callbacks synchronous and asynchronous](https://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/)\n */\n\nlet prevDebounce;\n\nconst defer =\n\ttypeof Promise == 'function'\n\t\t? Promise.prototype.then.bind(Promise.resolve())\n\t\t: setTimeout;\n\n/**\n * Enqueue a rerender of a component\n * @param {import('./internal').Component} c The component to rerender\n */\nexport function enqueueRender(c) {\n\tif (\n\t\t(!c._dirty &&\n\t\t\t(c._dirty = true) &&\n\t\t\trerenderQueue.push(c) &&\n\t\t\t!process._rerenderCount++) ||\n\t\tprevDebounce !== options.debounceRendering\n\t) {\n\t\tprevDebounce = options.debounceRendering;\n\t\t(prevDebounce || defer)(process);\n\t}\n}\n\n/**\n * @param {import('./internal').Component} a\n * @param {import('./internal').Component} b\n */\nconst depthSort = (a, b) => a._vnode._depth - b._vnode._depth;\n\n/** Flush the render queue by rerendering all queued components */\nfunction process() {\n\tlet c;\n\trerenderQueue.sort(depthSort);\n\t// Don't update `renderCount` yet. Keep its value non-zero to prevent unnecessary\n\t// process() calls from getting scheduled while `queue` is still being consumed.\n\twhile ((c = rerenderQueue.shift())) {\n\t\tif (c._dirty) {\n\t\t\tlet renderQueueLength = rerenderQueue.length;\n\t\t\trenderComponent(c);\n\t\t\tif (rerenderQueue.length > renderQueueLength) {\n\t\t\t\t// When i.e. rerendering a provider additional new items can be injected, we want to\n\t\t\t\t// keep the order from top to bottom with those new items so we can handle them in a\n\t\t\t\t// single pass\n\t\t\t\trerenderQueue.sort(depthSort);\n\t\t\t}\n\t\t}\n\t}\n\tprocess._rerenderCount = 0;\n}\n\nprocess._rerenderCount = 0;\n","import { enqueueRender } from './component';\n\nexport let i = 0;\n\nexport function createContext(defaultValue, contextId) {\n\tcontextId = '__cC' + i++;\n\n\tconst context = {\n\t\t_id: contextId,\n\t\t_defaultValue: defaultValue,\n\t\t/** @type {import('./internal').FunctionComponent} */\n\t\tConsumer(props, contextValue) {\n\t\t\t// return props.children(\n\t\t\t// \tcontext[contextId] ? context[contextId].props.value : defaultValue\n\t\t\t// );\n\t\t\treturn props.children(contextValue);\n\t\t},\n\t\t/** @type {import('./internal').FunctionComponent} */\n\t\tProvider(props) {\n\t\t\tif (!this.getChildContext) {\n\t\t\t\t/** @type {import('./internal').Component[]} */\n\t\t\t\tlet subs = [];\n\t\t\t\tlet ctx = {};\n\t\t\t\tctx[contextId] = this;\n\n\t\t\t\tthis.getChildContext = () => ctx;\n\n\t\t\t\tthis.shouldComponentUpdate = function (_props) {\n\t\t\t\t\tif (this.props.value !== _props.value) {\n\t\t\t\t\t\t// I think the forced value propagation here was only needed when `options.debounceRendering` was being bypassed:\n\t\t\t\t\t\t// https://github.com/preactjs/preact/commit/4d339fb803bea09e9f198abf38ca1bf8ea4b7771#diff-54682ce380935a717e41b8bfc54737f6R358\n\t\t\t\t\t\t// In those cases though, even with the value corrected, we're double-rendering all nodes.\n\t\t\t\t\t\t// It might be better to just tell folks not to use force-sync mode.\n\t\t\t\t\t\t// Currently, using `useContext()` in a class component will overwrite its `this.context` value.\n\t\t\t\t\t\t// subs.some(c => {\n\t\t\t\t\t\t// \tc.context = _props.value;\n\t\t\t\t\t\t// \tenqueueRender(c);\n\t\t\t\t\t\t// });\n\n\t\t\t\t\t\t// subs.some(c => {\n\t\t\t\t\t\t// \tc.context[contextId] = _props.value;\n\t\t\t\t\t\t// \tenqueueRender(c);\n\t\t\t\t\t\t// });\n\t\t\t\t\t\tsubs.some(c => {\n\t\t\t\t\t\t\tc._force = true;\n\t\t\t\t\t\t\tenqueueRender(c);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tthis.sub = c => {\n\t\t\t\t\tsubs.push(c);\n\t\t\t\t\tlet old = c.componentWillUnmount;\n\t\t\t\t\tc.componentWillUnmount = () => {\n\t\t\t\t\t\tsubs.splice(subs.indexOf(c), 1);\n\t\t\t\t\t\tif (old) old.call(c);\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn props.children;\n\t\t}\n\t};\n\n\t// Devtools needs access to the context object when it\n\t// encounters a Provider. This is necessary to support\n\t// setting `displayName` on the context object instead\n\t// of on the component itself. See:\n\t// https://reactjs.org/docs/context.html#contextdisplayname\n\n\treturn (context.Provider._contextRef = context.Consumer.contextType =\n\t\tcontext);\n}\n","export const EMPTY_OBJ = {};\nexport const EMPTY_ARR = [];\nexport const IS_NON_DIMENSIONAL =\n\t/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;\n","import { diff, unmount, applyRef } from './index';\nimport { createVNode, Fragment } from '../create-element';\nimport { EMPTY_OBJ, EMPTY_ARR } from '../constants';\nimport { getDomSibling } from '../component';\nimport { isArray } from '../util';\n\n/**\n * Diff the children of a virtual node\n * @param {import('../internal').PreactElement} parentDom The DOM element whose\n * children are being diffed\n * @param {import('../internal').ComponentChildren[]} renderResult\n * @param {import('../internal').VNode} newParentVNode The new virtual\n * node whose children should be diff'ed against oldParentVNode\n * @param {import('../internal').VNode} oldParentVNode The old virtual\n * node whose children should be diff'ed against newParentVNode\n * @param {object} globalContext The current context object - modified by getChildContext\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').PreactElement} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n */\nexport function diffChildren(\n\tparentDom,\n\trenderResult,\n\tnewParentVNode,\n\toldParentVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating\n) {\n\tlet i, j, oldVNode, childVNode, newDom, firstChildDom, refs;\n\n\t// This is a compression of oldParentVNode!=null && oldParentVNode != EMPTY_OBJ && oldParentVNode._children || EMPTY_ARR\n\t// as EMPTY_OBJ._children should be `undefined`.\n\tlet oldChildren = (oldParentVNode && oldParentVNode._children) || EMPTY_ARR;\n\n\tlet oldChildrenLength = oldChildren.length;\n\n\tnewParentVNode._children = [];\n\tfor (i = 0; i < renderResult.length; i++) {\n\t\tchildVNode = renderResult[i];\n\n\t\tif (\n\t\t\tchildVNode == null ||\n\t\t\ttypeof childVNode == 'boolean' ||\n\t\t\ttypeof childVNode == 'function'\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = null;\n\t\t}\n\t\t// If this newVNode is being reused (e.g.
    {reuse}{reuse}
    ) in the same diff,\n\t\t// or we are rendering a component (e.g. setState) copy the oldVNodes so it can have\n\t\t// it's own DOM & etc. pointers\n\t\telse if (\n\t\t\ttypeof childVNode == 'string' ||\n\t\t\ttypeof childVNode == 'number' ||\n\t\t\t// eslint-disable-next-line valid-typeof\n\t\t\ttypeof childVNode == 'bigint'\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tnull,\n\t\t\t\tchildVNode,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tchildVNode\n\t\t\t);\n\t\t} else if (isArray(childVNode)) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tFragment,\n\t\t\t\t{ children: childVNode },\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if (childVNode._depth > 0) {\n\t\t\t// VNode is already in use, clone it. This can happen in the following\n\t\t\t// scenario:\n\t\t\t// const reuse =
    \n\t\t\t//
    {reuse}{reuse}
    \n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tchildVNode.type,\n\t\t\t\tchildVNode.props,\n\t\t\t\tchildVNode.key,\n\t\t\t\tchildVNode.ref ? childVNode.ref : null,\n\t\t\t\tchildVNode._original\n\t\t\t);\n\t\t} else {\n\t\t\tchildVNode = newParentVNode._children[i] = childVNode;\n\t\t}\n\n\t\t// Terser removes the `continue` here and wraps the loop body\n\t\t// in a `if (childVNode) { ... } condition\n\t\tif (childVNode == null) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tchildVNode._parent = newParentVNode;\n\t\tchildVNode._depth = newParentVNode._depth + 1;\n\n\t\t// Check if we find a corresponding element in oldChildren.\n\t\t// If found, delete the array item by setting to `undefined`.\n\t\t// We use `undefined`, as `null` is reserved for empty placeholders\n\t\t// (holes).\n\t\toldVNode = oldChildren[i];\n\n\t\tif (\n\t\t\toldVNode === null ||\n\t\t\t(oldVNode &&\n\t\t\t\tchildVNode.key == oldVNode.key &&\n\t\t\t\tchildVNode.type === oldVNode.type)\n\t\t) {\n\t\t\toldChildren[i] = undefined;\n\t\t} else {\n\t\t\t// Either oldVNode === undefined or oldChildrenLength > 0,\n\t\t\t// so after this loop oldVNode == null or oldVNode is a valid value.\n\t\t\tfor (j = 0; j < oldChildrenLength; j++) {\n\t\t\t\toldVNode = oldChildren[j];\n\t\t\t\t// If childVNode is unkeyed, we only match similarly unkeyed nodes, otherwise we match by key.\n\t\t\t\t// We always match by type (in either case).\n\t\t\t\tif (\n\t\t\t\t\toldVNode &&\n\t\t\t\t\tchildVNode.key == oldVNode.key &&\n\t\t\t\t\tchildVNode.type === oldVNode.type\n\t\t\t\t) {\n\t\t\t\t\toldChildren[j] = undefined;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\toldVNode = null;\n\t\t\t}\n\t\t}\n\n\t\toldVNode = oldVNode || EMPTY_OBJ;\n\n\t\t// Morph the old element into the new one, but don't append it to the dom yet\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tchildVNode,\n\t\t\toldVNode,\n\t\t\tglobalContext,\n\t\t\tisSvg,\n\t\t\texcessDomChildren,\n\t\t\tcommitQueue,\n\t\t\toldDom,\n\t\t\tisHydrating\n\t\t);\n\n\t\tnewDom = childVNode._dom;\n\n\t\tif ((j = childVNode.ref) && oldVNode.ref != j) {\n\t\t\tif (!refs) refs = [];\n\t\t\tif (oldVNode.ref) refs.push(oldVNode.ref, null, childVNode);\n\t\t\trefs.push(j, childVNode._component || newDom, childVNode);\n\t\t}\n\n\t\tif (newDom != null) {\n\t\t\tif (firstChildDom == null) {\n\t\t\t\tfirstChildDom = newDom;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\ttypeof childVNode.type == 'function' &&\n\t\t\t\tchildVNode._children === oldVNode._children\n\t\t\t) {\n\t\t\t\tchildVNode._nextDom = oldDom = reorderChildren(\n\t\t\t\t\tchildVNode,\n\t\t\t\t\toldDom,\n\t\t\t\t\tparentDom\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\toldDom = placeChild(\n\t\t\t\t\tparentDom,\n\t\t\t\t\tchildVNode,\n\t\t\t\t\toldVNode,\n\t\t\t\t\toldChildren,\n\t\t\t\t\tnewDom,\n\t\t\t\t\toldDom\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (typeof newParentVNode.type == 'function') {\n\t\t\t\t// Because the newParentVNode is Fragment-like, we need to set it's\n\t\t\t\t// _nextDom property to the nextSibling of its last child DOM node.\n\t\t\t\t//\n\t\t\t\t// `oldDom` contains the correct value here because if the last child\n\t\t\t\t// is a Fragment-like, then oldDom has already been set to that child's _nextDom.\n\t\t\t\t// If the last child is a DOM VNode, then oldDom will be set to that DOM\n\t\t\t\t// node's nextSibling.\n\t\t\t\tnewParentVNode._nextDom = oldDom;\n\t\t\t}\n\t\t} else if (\n\t\t\toldDom &&\n\t\t\toldVNode._dom == oldDom &&\n\t\t\toldDom.parentNode != parentDom\n\t\t) {\n\t\t\t// The above condition is to handle null placeholders. See test in placeholder.test.js:\n\t\t\t// `efficiently replace null placeholders in parent rerenders`\n\t\t\toldDom = getDomSibling(oldVNode);\n\t\t}\n\t}\n\n\tnewParentVNode._dom = firstChildDom;\n\n\t// Remove remaining oldChildren if there are any.\n\tfor (i = oldChildrenLength; i--; ) {\n\t\tif (oldChildren[i] != null) {\n\t\t\tif (\n\t\t\t\ttypeof newParentVNode.type == 'function' &&\n\t\t\t\toldChildren[i]._dom != null &&\n\t\t\t\toldChildren[i]._dom == newParentVNode._nextDom\n\t\t\t) {\n\t\t\t\t// If the newParentVNode.__nextDom points to a dom node that is about to\n\t\t\t\t// be unmounted, then get the next sibling of that vnode and set\n\t\t\t\t// _nextDom to it\n\t\t\t\tnewParentVNode._nextDom = getLastDom(oldParentVNode).nextSibling;\n\t\t\t}\n\n\t\t\tunmount(oldChildren[i], oldChildren[i]);\n\t\t}\n\t}\n\n\t// Set refs only after unmount\n\tif (refs) {\n\t\tfor (i = 0; i < refs.length; i++) {\n\t\t\tapplyRef(refs[i], refs[++i], refs[++i]);\n\t\t}\n\t}\n}\n\nfunction reorderChildren(childVNode, oldDom, parentDom) {\n\t// Note: VNodes in nested suspended trees may be missing _children.\n\tlet c = childVNode._children;\n\tlet tmp = 0;\n\tfor (; c && tmp < c.length; tmp++) {\n\t\tlet vnode = c[tmp];\n\t\tif (vnode) {\n\t\t\t// We typically enter this code path on sCU bailout, where we copy\n\t\t\t// oldVNode._children to newVNode._children. If that is the case, we need\n\t\t\t// to update the old children's _parent pointer to point to the newVNode\n\t\t\t// (childVNode here).\n\t\t\tvnode._parent = childVNode;\n\n\t\t\tif (typeof vnode.type == 'function') {\n\t\t\t\toldDom = reorderChildren(vnode, oldDom, parentDom);\n\t\t\t} else {\n\t\t\t\toldDom = placeChild(parentDom, vnode, vnode, c, vnode._dom, oldDom);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn oldDom;\n}\n\n/**\n * Flatten and loop through the children of a virtual node\n * @param {import('../index').ComponentChildren} children The unflattened\n * children of a virtual node\n * @returns {import('../internal').VNode[]}\n */\nexport function toChildArray(children, out) {\n\tout = out || [];\n\tif (children == null || typeof children == 'boolean') {\n\t} else if (isArray(children)) {\n\t\tchildren.some(child => {\n\t\t\ttoChildArray(child, out);\n\t\t});\n\t} else {\n\t\tout.push(children);\n\t}\n\treturn out;\n}\n\nfunction placeChild(\n\tparentDom,\n\tchildVNode,\n\toldVNode,\n\toldChildren,\n\tnewDom,\n\toldDom\n) {\n\tlet nextDom;\n\tif (childVNode._nextDom !== undefined) {\n\t\t// Only Fragments or components that return Fragment like VNodes will\n\t\t// have a non-undefined _nextDom. Continue the diff from the sibling\n\t\t// of last DOM child of this child VNode\n\t\tnextDom = childVNode._nextDom;\n\n\t\t// Eagerly cleanup _nextDom. We don't need to persist the value because\n\t\t// it is only used by `diffChildren` to determine where to resume the diff after\n\t\t// diffing Components and Fragments. Once we store it the nextDOM local var, we\n\t\t// can clean up the property\n\t\tchildVNode._nextDom = undefined;\n\t} else if (\n\t\toldVNode == null ||\n\t\tnewDom != oldDom ||\n\t\tnewDom.parentNode == null\n\t) {\n\t\touter: if (oldDom == null || oldDom.parentNode !== parentDom) {\n\t\t\tparentDom.appendChild(newDom);\n\t\t\tnextDom = null;\n\t\t} else {\n\t\t\t// `j= 0; i--) {\n\t\t\tlet child = vnode._children[i];\n\t\t\tif (child) {\n\t\t\t\tlet lastDom = getLastDom(child);\n\t\t\t\tif (lastDom) {\n\t\t\t\t\treturn lastDom;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn null;\n}\n","import { IS_NON_DIMENSIONAL } from '../constants';\nimport options from '../options';\n\n/**\n * Diff the old and new properties of a VNode and apply changes to the DOM node\n * @param {import('../internal').PreactElement} dom The DOM node to apply\n * changes to\n * @param {object} newProps The new props\n * @param {object} oldProps The old props\n * @param {boolean} isSvg Whether or not this node is an SVG node\n * @param {boolean} hydrate Whether or not we are in hydration mode\n */\nexport function diffProps(dom, newProps, oldProps, isSvg, hydrate) {\n\tlet i;\n\n\tfor (i in oldProps) {\n\t\tif (i !== 'children' && i !== 'key' && !(i in newProps)) {\n\t\t\tsetProperty(dom, i, null, oldProps[i], isSvg);\n\t\t}\n\t}\n\n\tfor (i in newProps) {\n\t\tif (\n\t\t\t(!hydrate || typeof newProps[i] == 'function') &&\n\t\t\ti !== 'children' &&\n\t\t\ti !== 'key' &&\n\t\t\ti !== 'value' &&\n\t\t\ti !== 'checked' &&\n\t\t\toldProps[i] !== newProps[i]\n\t\t) {\n\t\t\tsetProperty(dom, i, newProps[i], oldProps[i], isSvg);\n\t\t}\n\t}\n}\n\nfunction setStyle(style, key, value) {\n\tif (key[0] === '-') {\n\t\tstyle.setProperty(key, value == null ? '' : value);\n\t} else if (value == null) {\n\t\tstyle[key] = '';\n\t} else if (typeof value != 'number' || IS_NON_DIMENSIONAL.test(key)) {\n\t\tstyle[key] = value;\n\t} else {\n\t\tstyle[key] = value + 'px';\n\t}\n}\n\n/**\n * Set a property value on a DOM node\n * @param {import('../internal').PreactElement} dom The DOM node to modify\n * @param {string} name The name of the property to set\n * @param {*} value The value to set the property to\n * @param {*} oldValue The old value the property had\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node or not\n */\nexport function setProperty(dom, name, value, oldValue, isSvg) {\n\tlet useCapture;\n\n\to: if (name === 'style') {\n\t\tif (typeof value == 'string') {\n\t\t\tdom.style.cssText = value;\n\t\t} else {\n\t\t\tif (typeof oldValue == 'string') {\n\t\t\t\tdom.style.cssText = oldValue = '';\n\t\t\t}\n\n\t\t\tif (oldValue) {\n\t\t\t\tfor (name in oldValue) {\n\t\t\t\t\tif (!(value && name in value)) {\n\t\t\t\t\t\tsetStyle(dom.style, name, '');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (value) {\n\t\t\t\tfor (name in value) {\n\t\t\t\t\tif (!oldValue || value[name] !== oldValue[name]) {\n\t\t\t\t\t\tsetStyle(dom.style, name, value[name]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n\telse if (name[0] === 'o' && name[1] === 'n') {\n\t\tuseCapture = name !== (name = name.replace(/Capture$/, ''));\n\n\t\t// Infer correct casing for DOM built-in events:\n\t\tif (name.toLowerCase() in dom) name = name.toLowerCase().slice(2);\n\t\telse name = name.slice(2);\n\n\t\tif (!dom._listeners) dom._listeners = {};\n\t\tdom._listeners[name + useCapture] = value;\n\n\t\tif (value) {\n\t\t\tif (!oldValue) {\n\t\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\t\tdom.addEventListener(name, handler, useCapture);\n\t\t\t}\n\t\t} else {\n\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\tdom.removeEventListener(name, handler, useCapture);\n\t\t}\n\t} else if (name !== 'dangerouslySetInnerHTML') {\n\t\tif (isSvg) {\n\t\t\t// Normalize incorrect prop usage for SVG:\n\t\t\t// - xlink:href / xlinkHref --> href (xlink:href was removed from SVG and isn't needed)\n\t\t\t// - className --> class\n\t\t\tname = name.replace(/xlink(H|:h)/, 'h').replace(/sName$/, 's');\n\t\t} else if (\n\t\t\tname !== 'width' &&\n\t\t\tname !== 'height' &&\n\t\t\tname !== 'href' &&\n\t\t\tname !== 'list' &&\n\t\t\tname !== 'form' &&\n\t\t\t// Default value in browsers is `-1` and an empty string is\n\t\t\t// cast to `0` instead\n\t\t\tname !== 'tabIndex' &&\n\t\t\tname !== 'download' &&\n\t\t\tname !== 'rowSpan' &&\n\t\t\tname !== 'colSpan' &&\n\t\t\tname in dom\n\t\t) {\n\t\t\ttry {\n\t\t\t\tdom[name] = value == null ? '' : value;\n\t\t\t\t// labelled break is 1b smaller here than a return statement (sorry)\n\t\t\t\tbreak o;\n\t\t\t} catch (e) {}\n\t\t}\n\n\t\t// aria- and data- attributes have no boolean representation.\n\t\t// A `false` value is different from the attribute not being\n\t\t// present, so we can't remove it. For non-boolean aria\n\t\t// attributes we could treat false as a removal, but the\n\t\t// amount of exceptions would cost too many bytes. On top of\n\t\t// that other frameworks generally stringify `false`.\n\n\t\tif (typeof value === 'function') {\n\t\t\t// never serialize functions as attribute values\n\t\t} else if (value != null && (value !== false || name[4] === '-')) {\n\t\t\tdom.setAttribute(name, value);\n\t\t} else {\n\t\t\tdom.removeAttribute(name);\n\t\t}\n\t}\n}\n\n/**\n * Proxy an event to hooked event handlers\n * @param {Event} e The event object from the browser\n * @private\n */\nfunction eventProxy(e) {\n\treturn this._listeners[e.type + false](options.event ? options.event(e) : e);\n}\n\nfunction eventProxyCapture(e) {\n\treturn this._listeners[e.type + true](options.event ? options.event(e) : e);\n}\n","import { EMPTY_OBJ } from '../constants';\nimport { Component, getDomSibling } from '../component';\nimport { Fragment } from '../create-element';\nimport { diffChildren } from './children';\nimport { diffProps, setProperty } from './props';\nimport { assign, isArray, removeNode, slice } from '../util';\nimport options from '../options';\n\n/**\n * Diff two virtual nodes and apply proper changes to the DOM\n * @param {import('../internal').PreactElement} parentDom The parent of the DOM element\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object. Modified by getChildContext\n * @param {boolean} isSvg Whether or not this element is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').PreactElement} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} [isHydrating] Whether or not we are in hydration\n */\nexport function diff(\n\tparentDom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating\n) {\n\tlet tmp,\n\t\tnewType = newVNode.type;\n\n\t// When passing through createElement it assigns the object\n\t// constructor as undefined. This to prevent JSON-injection.\n\tif (newVNode.constructor !== undefined) return null;\n\n\t// If the previous diff bailed out, resume creating/hydrating.\n\tif (oldVNode._hydrating != null) {\n\t\tisHydrating = oldVNode._hydrating;\n\t\toldDom = newVNode._dom = oldVNode._dom;\n\t\t// if we resume, we want the tree to be \"unlocked\"\n\t\tnewVNode._hydrating = null;\n\t\texcessDomChildren = [oldDom];\n\t}\n\n\tif ((tmp = options._diff)) tmp(newVNode);\n\n\ttry {\n\t\touter: if (typeof newType == 'function') {\n\t\t\tlet c, isNew, oldProps, oldState, snapshot, clearProcessingException;\n\t\t\tlet newProps = newVNode.props;\n\n\t\t\t// Necessary for createContext api. Setting this property will pass\n\t\t\t// the context value as `this.context` just for this component.\n\t\t\ttmp = newType.contextType;\n\t\t\tlet provider = tmp && globalContext[tmp._id];\n\t\t\tlet componentContext = tmp\n\t\t\t\t? provider\n\t\t\t\t\t? provider.props.value\n\t\t\t\t\t: tmp._defaultValue\n\t\t\t\t: globalContext;\n\n\t\t\t// Get component and set it to `c`\n\t\t\tif (oldVNode._component) {\n\t\t\t\tc = newVNode._component = oldVNode._component;\n\t\t\t\tclearProcessingException = c._processingException = c._pendingError;\n\t\t\t} else {\n\t\t\t\t// Instantiate the new component\n\t\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\t\t// @ts-ignore The check above verifies that newType is suppose to be constructed\n\t\t\t\t\tnewVNode._component = c = new newType(newProps, componentContext); // eslint-disable-line new-cap\n\t\t\t\t} else {\n\t\t\t\t\t// @ts-ignore Trust me, Component implements the interface we want\n\t\t\t\t\tnewVNode._component = c = new Component(newProps, componentContext);\n\t\t\t\t\tc.constructor = newType;\n\t\t\t\t\tc.render = doRender;\n\t\t\t\t}\n\t\t\t\tif (provider) provider.sub(c);\n\n\t\t\t\tc.props = newProps;\n\t\t\t\tif (!c.state) c.state = {};\n\t\t\t\tc.context = componentContext;\n\t\t\t\tc._globalContext = globalContext;\n\t\t\t\tisNew = c._dirty = true;\n\t\t\t\tc._renderCallbacks = [];\n\t\t\t\tc._stateCallbacks = [];\n\t\t\t}\n\n\t\t\t// Invoke getDerivedStateFromProps\n\t\t\tif (c._nextState == null) {\n\t\t\t\tc._nextState = c.state;\n\t\t\t}\n\n\t\t\tif (newType.getDerivedStateFromProps != null) {\n\t\t\t\tif (c._nextState == c.state) {\n\t\t\t\t\tc._nextState = assign({}, c._nextState);\n\t\t\t\t}\n\n\t\t\t\tassign(\n\t\t\t\t\tc._nextState,\n\t\t\t\t\tnewType.getDerivedStateFromProps(newProps, c._nextState)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\toldProps = c.props;\n\t\t\toldState = c.state;\n\t\t\tc._vnode = newVNode;\n\n\t\t\t// Invoke pre-render lifecycle methods\n\t\t\tif (isNew) {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tc.componentWillMount != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillMount();\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidMount != null) {\n\t\t\t\t\tc._renderCallbacks.push(c.componentDidMount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tnewProps !== oldProps &&\n\t\t\t\t\tc.componentWillReceiveProps != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillReceiveProps(newProps, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(!c._force &&\n\t\t\t\t\t\tc.shouldComponentUpdate != null &&\n\t\t\t\t\t\tc.shouldComponentUpdate(\n\t\t\t\t\t\t\tnewProps,\n\t\t\t\t\t\t\tc._nextState,\n\t\t\t\t\t\t\tcomponentContext\n\t\t\t\t\t\t) === false) ||\n\t\t\t\t\tnewVNode._original === oldVNode._original\n\t\t\t\t) {\n\t\t\t\t\t// More info about this here: https://gist.github.com/JoviDeCroock/bec5f2ce93544d2e6070ef8e0036e4e8\n\t\t\t\t\tif (newVNode._original !== oldVNode._original) {\n\t\t\t\t\t\t// When we are dealing with a bail because of sCU we have to update\n\t\t\t\t\t\t// the props, state and dirty-state.\n\t\t\t\t\t\t// when we are dealing with strict-equality we don't as the child could still\n\t\t\t\t\t\t// be dirtied see #3883\n\t\t\t\t\t\tc.props = newProps;\n\t\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t\t\tc._dirty = false;\n\t\t\t\t\t}\n\n\t\t\t\t\t// In cases of bailing due to strict-equality we have to reset force as well\n\t\t\t\t\tc._force = false;\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t\t\tnewVNode._children.forEach(vnode => {\n\t\t\t\t\t\tif (vnode) vnode._parent = newVNode;\n\t\t\t\t\t});\n\n\t\t\t\t\tfor (let i = 0; i < c._stateCallbacks.length; i++) {\n\t\t\t\t\t\tc._renderCallbacks.push(c._stateCallbacks[i]);\n\t\t\t\t\t}\n\t\t\t\t\tc._stateCallbacks = [];\n\n\t\t\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\t\t\tcommitQueue.push(c);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\n\t\t\t\tif (c.componentWillUpdate != null) {\n\t\t\t\t\tc.componentWillUpdate(newProps, c._nextState, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidUpdate != null) {\n\t\t\t\t\tc._renderCallbacks.push(() => {\n\t\t\t\t\t\tc.componentDidUpdate(oldProps, oldState, snapshot);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tc.context = componentContext;\n\t\t\tc.props = newProps;\n\t\t\tc._parentDom = parentDom;\n\n\t\t\tlet renderHook = options._render,\n\t\t\t\tcount = 0;\n\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\tc.state = c._nextState;\n\t\t\t\tc._dirty = false;\n\n\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\tfor (let i = 0; i < c._stateCallbacks.length; i++) {\n\t\t\t\t\tc._renderCallbacks.push(c._stateCallbacks[i]);\n\t\t\t\t}\n\t\t\t\tc._stateCallbacks = [];\n\t\t\t} else {\n\t\t\t\tdo {\n\t\t\t\t\tc._dirty = false;\n\t\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\t\t// Handle setState called in render, see #2553\n\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t} while (c._dirty && ++count < 25);\n\t\t\t}\n\n\t\t\t// Handle setState called in render, see #2553\n\t\t\tc.state = c._nextState;\n\n\t\t\tif (c.getChildContext != null) {\n\t\t\t\tglobalContext = assign(assign({}, globalContext), c.getChildContext());\n\t\t\t}\n\n\t\t\tif (!isNew && c.getSnapshotBeforeUpdate != null) {\n\t\t\t\tsnapshot = c.getSnapshotBeforeUpdate(oldProps, oldState);\n\t\t\t}\n\n\t\t\tlet isTopLevelFragment =\n\t\t\t\ttmp != null && tmp.type === Fragment && tmp.key == null;\n\t\t\tlet renderResult = isTopLevelFragment ? tmp.props.children : tmp;\n\n\t\t\tdiffChildren(\n\t\t\t\tparentDom,\n\t\t\t\tisArray(renderResult) ? renderResult : [renderResult],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\toldDom,\n\t\t\t\tisHydrating\n\t\t\t);\n\n\t\t\tc.base = newVNode._dom;\n\n\t\t\t// We successfully rendered this VNode, unset any stored hydration/bailout state:\n\t\t\tnewVNode._hydrating = null;\n\n\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\tcommitQueue.push(c);\n\t\t\t}\n\n\t\t\tif (clearProcessingException) {\n\t\t\t\tc._pendingError = c._processingException = null;\n\t\t\t}\n\n\t\t\tc._force = false;\n\t\t} else if (\n\t\t\texcessDomChildren == null &&\n\t\t\tnewVNode._original === oldVNode._original\n\t\t) {\n\t\t\tnewVNode._children = oldVNode._children;\n\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t} else {\n\t\t\tnewVNode._dom = diffElementNodes(\n\t\t\t\toldVNode._dom,\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\tisHydrating\n\t\t\t);\n\t\t}\n\n\t\tif ((tmp = options.diffed)) tmp(newVNode);\n\t} catch (e) {\n\t\tnewVNode._original = null;\n\t\t// if hydrating or creating initial tree, bailout preserves DOM:\n\t\tif (isHydrating || excessDomChildren != null) {\n\t\t\tnewVNode._dom = oldDom;\n\t\t\tnewVNode._hydrating = !!isHydrating;\n\t\t\texcessDomChildren[excessDomChildren.indexOf(oldDom)] = null;\n\t\t\t// ^ could possibly be simplified to:\n\t\t\t// excessDomChildren.length = 0;\n\t\t}\n\t\toptions._catchError(e, newVNode, oldVNode);\n\t}\n}\n\n/**\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {import('../internal').VNode} root\n */\nexport function commitRoot(commitQueue, root) {\n\tif (options._commit) options._commit(root, commitQueue);\n\n\tcommitQueue.some(c => {\n\t\ttry {\n\t\t\t// @ts-ignore Reuse the commitQueue variable here so the type changes\n\t\t\tcommitQueue = c._renderCallbacks;\n\t\t\tc._renderCallbacks = [];\n\t\t\tcommitQueue.some(cb => {\n\t\t\t\t// @ts-ignore See above ts-ignore on commitQueue\n\t\t\t\tcb.call(c);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t});\n}\n\n/**\n * Diff two virtual nodes representing DOM element\n * @param {import('../internal').PreactElement} dom The DOM element representing\n * the virtual nodes being diffed\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {*} excessDomChildren\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @returns {import('../internal').PreactElement}\n */\nfunction diffElementNodes(\n\tdom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\tisHydrating\n) {\n\tlet oldProps = oldVNode.props;\n\tlet newProps = newVNode.props;\n\tlet nodeType = newVNode.type;\n\tlet i = 0;\n\n\t// Tracks entering and exiting SVG namespace when descending through the tree.\n\tif (nodeType === 'svg') isSvg = true;\n\n\tif (excessDomChildren != null) {\n\t\tfor (; i < excessDomChildren.length; i++) {\n\t\t\tconst child = excessDomChildren[i];\n\n\t\t\t// if newVNode matches an element in excessDomChildren or the `dom`\n\t\t\t// argument matches an element in excessDomChildren, remove it from\n\t\t\t// excessDomChildren so it isn't later removed in diffChildren\n\t\t\tif (\n\t\t\t\tchild &&\n\t\t\t\t'setAttribute' in child === !!nodeType &&\n\t\t\t\t(nodeType ? child.localName === nodeType : child.nodeType === 3)\n\t\t\t) {\n\t\t\t\tdom = child;\n\t\t\t\texcessDomChildren[i] = null;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (dom == null) {\n\t\tif (nodeType === null) {\n\t\t\t// @ts-ignore createTextNode returns Text, we expect PreactElement\n\t\t\treturn document.createTextNode(newProps);\n\t\t}\n\n\t\tif (isSvg) {\n\t\t\tdom = document.createElementNS(\n\t\t\t\t'http://www.w3.org/2000/svg',\n\t\t\t\t// @ts-ignore We know `newVNode.type` is a string\n\t\t\t\tnodeType\n\t\t\t);\n\t\t} else {\n\t\t\tdom = document.createElement(\n\t\t\t\t// @ts-ignore We know `newVNode.type` is a string\n\t\t\t\tnodeType,\n\t\t\t\tnewProps.is && newProps\n\t\t\t);\n\t\t}\n\n\t\t// we created a new parent, so none of the previously attached children can be reused:\n\t\texcessDomChildren = null;\n\t\t// we are creating a new node, so we can assume this is a new subtree (in case we are hydrating), this deopts the hydrate\n\t\tisHydrating = false;\n\t}\n\n\tif (nodeType === null) {\n\t\t// During hydration, we still have to split merged text from SSR'd HTML.\n\t\tif (oldProps !== newProps && (!isHydrating || dom.data !== newProps)) {\n\t\t\tdom.data = newProps;\n\t\t}\n\t} else {\n\t\t// If excessDomChildren was not null, repopulate it with the current element's children:\n\t\texcessDomChildren = excessDomChildren && slice.call(dom.childNodes);\n\n\t\toldProps = oldVNode.props || EMPTY_OBJ;\n\n\t\tlet oldHtml = oldProps.dangerouslySetInnerHTML;\n\t\tlet newHtml = newProps.dangerouslySetInnerHTML;\n\n\t\t// During hydration, props are not diffed at all (including dangerouslySetInnerHTML)\n\t\t// @TODO we should warn in debug mode when props don't match here.\n\t\tif (!isHydrating) {\n\t\t\t// But, if we are in a situation where we are using existing DOM (e.g. replaceNode)\n\t\t\t// we should read the existing DOM attributes to diff them\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\toldProps = {};\n\t\t\t\tfor (i = 0; i < dom.attributes.length; i++) {\n\t\t\t\t\toldProps[dom.attributes[i].name] = dom.attributes[i].value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (newHtml || oldHtml) {\n\t\t\t\t// Avoid re-applying the same '__html' if it did not changed between re-render\n\t\t\t\tif (\n\t\t\t\t\t!newHtml ||\n\t\t\t\t\t((!oldHtml || newHtml.__html != oldHtml.__html) &&\n\t\t\t\t\t\tnewHtml.__html !== dom.innerHTML)\n\t\t\t\t) {\n\t\t\t\t\tdom.innerHTML = (newHtml && newHtml.__html) || '';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdiffProps(dom, newProps, oldProps, isSvg, isHydrating);\n\n\t\t// If the new vnode didn't have dangerouslySetInnerHTML, diff its children\n\t\tif (newHtml) {\n\t\t\tnewVNode._children = [];\n\t\t} else {\n\t\t\ti = newVNode.props.children;\n\t\t\tdiffChildren(\n\t\t\t\tdom,\n\t\t\t\tisArray(i) ? i : [i],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg && nodeType !== 'foreignObject',\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\texcessDomChildren\n\t\t\t\t\t? excessDomChildren[0]\n\t\t\t\t\t: oldVNode._children && getDomSibling(oldVNode, 0),\n\t\t\t\tisHydrating\n\t\t\t);\n\n\t\t\t// Remove children that are not part of any vnode.\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\tfor (i = excessDomChildren.length; i--; ) {\n\t\t\t\t\tif (excessDomChildren[i] != null) removeNode(excessDomChildren[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// (as above, don't diff props during hydration)\n\t\tif (!isHydrating) {\n\t\t\tif (\n\t\t\t\t'value' in newProps &&\n\t\t\t\t(i = newProps.value) !== undefined &&\n\t\t\t\t// #2756 For the -element the initial value is 0,\n\t\t\t\t// despite the attribute not being present. When the attribute\n\t\t\t\t// is missing the progress bar is treated as indeterminate.\n\t\t\t\t// To fix that we'll always update it when it is 0 for progress elements\n\t\t\t\t(i !== dom.value ||\n\t\t\t\t\t(nodeType === 'progress' && !i) ||\n\t\t\t\t\t// This is only for IE 11 to fix \n )\n}\n","import { Link } from 'wouter-preact'\n\nimport GameEntry from\n '~/src/components/GameEntry/GameEntry'\n\nimport top2019 from './top2019'\n\nimport * as s from './GamesView.module.scss'\n\nconst tutorialGame = {\n name: 'The Dreamhold',\n ifdb: 'https://ifdb.org/viewgame?id=3myqnrs64nbtwdaz',\n url: 'https://mirror.ifarchive.org/if-archive/games/zcode/dreamhold.z8',\n}\n\nexport default function GamesView () {\n return (\n
    \n

    \n \n IFDB\n Games\n

    \n\n

    \n Choose one or \n go back.\n

    \n\n
    \n

    \n Tutorial\n

    \n\n

    \n If you are not familiar with Interactive Fiction,\n you should start with this tutorial game\n by Andrew Plotkin:\n

    \n\n
      \n
    • \n \n
    • \n
    \n
    \n\n

    \n Interactive Fiction Top 50 of All Time\n

    \n\n

    \n \n Every four years , Victor Gijsbers puts\n together a list of the top 50 IF games of all time.\n\n Here is an almost complete and slightly rearranged version of the \n list from 2019:\n

    \n\n
      \n {top2019.map((game) => (\n
    1. \n \n
    2. \n ))}\n
    \n\n
    \n )\n}\n","import { Link } from 'wouter-preact'\n\nimport {\n buildPlayLinkHref,\n} from '~/src/routing'\n\nexport default function GameEntry ({ name, ifdb, url }) {\n return (\n
    \n

    {name}

    \n \n IFDB page\n \n | \n \n Play\n \n
    \n )\n}\n","export default [\n [\n 'Lost Pig',\n 'https://ifdb.org/viewgame?id=mohwfk47yjzii14w',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/LostPig.z8',\n ],\n [\n /* Check with cheap-glk */\n 'Counterfeit Monkey',\n 'https://ifdb.org/viewgame?id=aearuuxv83plclpl',\n 'https://mirror.ifarchive.org/if-archive/games/glulx/CounterfeitMonkey.gblorb',\n ],\n [\n /* Works. Check inputs */\n 'Anchorhead',\n 'https://ifdb.org/viewgame?id=op0uw1gn1tjqmjt7',\n 'https://ifarchive.org/if-archive/games/zcode/anchor.z8',\n ],\n /* [\n '80 DAYS',\n 'https://ifdb.org/viewgame?id=du51t0qrhjqlnbij',\n 'INKLEWRITER'\n ], */\n [\n 'Galatea',\n 'https://ifdb.org/viewgame?id=urxrv27t7qtu52lb',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/Galatea.zblorb',\n ],\n [\n /* Works. Check inputs */\n 'Photopia',\n 'https://ifdb.org/viewgame?id=ju778uv5xaswnlpl',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/photopia.z5',\n ],\n [\n 'Spider and Web',\n 'https://ifdb.org/viewgame?id=2xyccw3pe0uovfad',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/Tangle.z5',\n ],\n /* [\n 'Trinity',\n 'https://ifdb.org/viewgame?id=j18kjz80hxjtyayw',\n 'ZIP'\n ], */\n /* [\n 'Hadean Lands',\n 'https://ifdb.org/viewgame?id=u58d0mlbfwcorfi',\n 'COMMERCIAL'\n ], */\n /* [\n 'Superluminal Vagrant Twin',\n 'https://ifdb.org/viewgame?id=5xzoz5wimz4xxha',\n 'CORS https://v6p9d9t4.ssl.hwcdn.net/html/177384/Superluminal%20Vagrant%20Twin%20Webpage/files/Superluminal%20Vagrant%20Twin.gblorb'\n ], */\n /* [\n 'Birdland',\n 'https://ifdb.org/viewgame?id=ap1651hvjldbuugj',\n 'TWINE'\n ], */\n [\n 'Slouching Towards Bedlam',\n 'https://ifdb.org/viewgame?id=032krqe6bjn5au78',\n 'https://mirror.ifarchive.org/if-archive/games/competition2003/zcode/slouch/slouch.z5',\n ],\n [\n 'Curses!',\n 'https://ifdb.org/viewgame?id=plvzam05bmz3enh8',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/curses.z5',\n ],\n /* [\n 'howling dogs',\n 'https://ifdb.org/viewgame?id=mxj7xp4nffia9rbj',\n 'TWINE'\n ], */\n [\n 'Violet',\n 'https://ifdb.org/viewgame?id=4glrrfh7wrp9zz7b',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/Violet.zblorb',\n ],\n [\n 'The Wizard Sniffer',\n 'https://ifdb.org/viewgame?id=uq18rw9gt8j58da',\n 'https://ifarchive.org/if-archive/games/competition2017/The%20Wizard%20Sniffer/The_Wizard_Sniffer.gblorb',\n ],\n /* [\n 'Eat Me',\n 'https://ifdb.org/viewgame?id=yutkd9u0oeog4br1',\n 'ZIP https://ifarchive.org/if-archive/games/competition2017/Eat%20Me/Eat%20Me/Gblorb.zip'\n ], */\n /* [\n 'Horse Master',\n 'https://ifdb.org/viewgame?id=ogkcvv9l1q0aatpd',\n 'TWINE'\n ], */\n /* [\n 'Mentula Macanus: Apocolocyntosis',\n 'https://ifdb.org/viewgame?id=etul31tqgl3n22nl'\n 'ZIP'\n ], */\n [\n 'Shade',\n 'https://ifdb.org/viewgame?id=hsfc7fnl40k4a30q',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/shade.z5',\n ],\n [\n 'Vespers',\n 'https://ifdb.org/viewgame?id=6dj2vguyiagrhvc2',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/vespers.z8',\n ],\n /* [\n 'Will Not Let Me Go',\n 'https://ifdb.org/viewgame?id=67r2qc21m5nzexv1',\n 'TWINE'\n ], */\n /* [\n 'Bee',\n 'https://ifdb.org/viewgame?id=8pe83e92v4nvabic',\n 'VARYTALE'\n ], */\n /* [\n 'Creatures Such As We',\n 'https://ifdb.org/viewgame?id=8l9cdcd1tbt77hfl',\n 'TWINE'\n ], */\n /* [\n 'Kerkerkruip',\n 'https://ifdb.org/viewgame?id=f7zdhxmiraht53d1',\n 'CORS https://downloads.kerkerkruip.org/Kerkerkruip-latest.gblorb'\n ], */\n /* [\n 'Midnight. Swordfight.',\n 'https://ifdb.org/viewgame?id=2cuwjlvpybg8oaf0',\n 'CORS https://www.castleprincessdragon.com/InteractiveFiction/MS/MidnightSwordfight.gblorb'\n ], */\n [\n 'Savoir-Faire',\n 'https://ifdb.org/viewgame?id=p0cizeb3kiwzlm2p',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/Savoir-Faire.zblorb',\n ],\n /* [\n 'With Those We Love Alive',\n 'https://ifdb.org/viewgame?id=445d989vuwlh4cvz',\n 'TWINE'\n ], */\n [\n 'Aisle',\n 'https://ifdb.org/viewgame?id=j49crlvd62mhwuzu',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/Aisle.z5',\n ],\n /* [\n 'Blue Lacuna',\n 'https://ifdb.org/viewgame?id=ez2mcyx4zi98qlkh',\n 'ZIP'\n ], */\n [\n 'Gun Mute',\n 'https://ifdb.org/viewgame?id=xwedbibfksczn7eq',\n 'https://mirror.ifarchive.org/if-archive/games/tads/GunMute.t3',\n ],\n /* [\n 'The King of Shreds and Patches',\n 'https://ifdb.org/viewgame?id=9ntef9expou18abv',\n 'ZIP'\n ], */\n /* [\n 'A Mind Forever Voyaging',\n 'https://ifdb.org/viewgame?id=4h62dvooeg9ajtfa',\n 'CORS'\n ], */\n /* [\n 'SPY INTRIGUE',\n 'https://ifdb.org/viewgame?id=zz6i7irfr70nvp7a',\n 'TWINE'\n ], */\n /* [\n 'Wishbringer',\n 'https://ifdb.org/viewgame?id=z02joykzh66wfhcl',\n 'CORS'\n ], */\n [\n 'A Beauty Cold and Austere',\n 'https://ifdb.org/viewgame?id=y9y7jozi0l76bb82',\n 'https://ifarchive.org/if-archive/games/competition2017/A%20Beauty%20Cold%20and%20Austere/A_Beauty_Cold_and_Austere.gblorb',\n ],\n /* [\n 'Cactus Blue Motel',\n 'https://ifdb.org/viewgame?id=7e699ifb6u3767yr',\n 'TWINE'\n ], */\n [\n 'Coloratura',\n 'https://ifdb.org/viewgame?id=g0fl99ovcrq2sqzk',\n 'https://mirror.ifarchive.org/if-archive/games/competition2013/glulx/coloratura/Coloratura.gblorb',\n ],\n /* [\n 'Harmonia',\n 'https://ifdb.org/viewgame?id=bkyia4k48od1ila',\n 'TWINE'\n ], */\n [\n 'Lime Ergot',\n 'https://ifdb.org/viewgame?id=b8mb4fcwmf1hrxl',\n 'https://mirror.ifarchive.org/if-archive/games/glulx/Lime_Ergot.gblorb',\n ],\n [\n 'Rameses',\n 'https://ifdb.org/viewgame?id=0stz0hr7a98bp9mp',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/rameses.zblorb',\n ],\n /* [\n 'Spellbreaker',\n 'https://ifdb.org/viewgame?id=wqsmrahzozosu3r',\n 'CORS'\n ], */\n /* [\n 'Suspended',\n 'https://ifdb.org/viewgame?id=t47hei9uq10xoar8',\n 'CORS'\n ], */\n [\n 'The Wand',\n 'https://ifdb.org/viewgame?id=2jil5vbxmbv8riv1',\n 'https://ifarchive.org/if-archive/games/glulx/Wand.ulx',\n ],\n /* [\n 'Zork I',\n 'https://ifdb.org/viewgame?id=0dbnusxunq7fw5ro',\n 'ZIP'\n ], */\n [\n '1893: A World\\'s Fair Mystery',\n 'https://ifdb.org/viewgame?id=00e0t7swrris5pg6',\n 'https://mirror.ifarchive.org/if-archive/games/tads/1893.gam',\n ],\n [\n 'Adventure',\n 'https://ifdb.org/viewgame?id=fft6pu91j85y4acv',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/Advent.z5',\n ],\n [\n 'Alias \\'The Magpie\\'',\n 'https://ifdb.org/viewgame?id=yspn49v69hzc8rtb',\n 'https://ifarchive.org/if-archive/games/competition2018/Alias%20The%20Magpie/Alias%20%27The%20Magpie%27.gblorb',\n ],\n /* [\n 'De Baron',\n 'https://ifdb.org/viewgame?id=weac28l51hiqfzxz',\n 'ZIP'\n ], */\n /* [\n 'Bogeyman',\n 'https://ifdb.org/viewgame?id=ltwvgb2lubkx82yi',\n 'TWINE'\n ], */\n [\n 'Cragne Manor',\n 'https://ifdb.org/viewgame?id=4x7nltu8p851tn4x',\n 'https://mirror.ifarchive.org/if-archive/games/glulx/cragne.gblorb',\n ],\n [\n 'The Edifice',\n 'https://ifdb.org/viewgame?id=4tb9soabrb4apqzd',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/edifice.z5',\n ],\n [\n 'Endless, Nameless',\n 'https://ifdb.org/viewgame?id=7vtm1rq16hh3xch',\n 'https://ifarchive.org/if-archive/games/zcode/nameless.z8',\n ],\n [\n 'Everybody Dies',\n 'https://ifdb.org/viewgame?id=lyblvftb8xtlo0a1',\n 'https://mirror.ifarchive.org/if-archive/games/competition2008/glulx/everybodydies/EverybodyDies.gblorb',\n ],\n /* [\n 'Fallen London',\n 'https://ifdb.org/viewgame?id=y9m60ythcj2xn9r',\n 'STORYNEXUS'\n ], */\n [\n 'Foo Foo',\n 'https://ifdb.org/viewgame?id=ec6x9y8qcmsrxob9',\n 'https://ifarchive.org/if-archive/games/springthing/2016/FooFoo.gblorb',\n ],\n [\n 'The Gostak',\n 'https://ifdb.org/viewgame?id=w5s3sv43s3p98v45',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/gostak.z5',\n ],\n /* [\n 'The Hitchhiker\\'s Guide to the Galaxy',\n 'https://ifdb.org/viewgame?id=ouv80gvsl32xlion',\n 'CORS https://www.douglasadams.com/creations/hhgg.z3'\n ], */\n /* [\n 'Hoist Sail for the Heliopause and Home',\n 'https://ifdb.org/viewgame?id=ykccumi5xc5rltev',\n 'CORS https://eblong.com/zarf/ftp/Heliopause.zblorb'\n ], */\n /* [\n 'Human Errors',\n 'https://ifdb.org/viewgame?id=14oexa2wyym73glu',\n 'TWINE'\n ], */\n [\n 'Inside the Facility',\n 'https://ifdb.org/viewgame?id=stsdri5zh7a4i5my',\n 'https://ifarchive.org/if-archive/games/competition2016/Inside%20the%20Facility/Facility.z8',\n ],\n /* [\n 'Junior Arithmancer',\n 'https://ifdb.org/viewgame?id=pw1rbjt1t4n4n87s',\n 'https://ifarchive.org/if-archive/games/competition2018/Junior%20Arithmancer/Junior_Arithmancer.gblorb',\n ], */\n [\n 'Make It Good',\n 'https://ifdb.org/viewgame?id=jdrbw1htq4ah8q57',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/MakeItGood.z8',\n ],\n [\n 'Sub Rosa',\n 'https://ifdb.org/viewgame?id=73nvz9yui87ub3sd',\n 'https://mirror.ifarchive.org/if-archive/games/glulx/Sub_Rosa.gblorb',\n ],\n [\n 'Suveh Nux',\n 'https://ifdb.org/viewgame?id=xkai23ry99qdxce3',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/suvehnux.z5',\n ],\n /* [\n 'their angelical understanding',\n 'https://ifdb.org/viewgame?id=zpmfvbgolvfwbid',\n 'TWINE'\n ], */\n /* [\n 'Toby\\'s Nose',\n 'https://ifdb.org/viewgame?id=xf5y04yekcrqtnc',\n 'CORS https://www.castleprincessdragon.com/InteractiveFiction/TobysNose/Toby\\'s%20Nose.gblorb'\n ], */\n [\n 'Varicella',\n 'https://ifdb.org/viewgame?id=ywwlr3tpxnktjasd',\n 'https://mirror.ifarchive.org/if-archive/games/zcode/vgame.z8',\n ],\n].map(([name, ifdb, url]) => ({ name, ifdb, url }))\n",".games {\n .tutorial {\n margin-block: 64px;\n }\n\n h4 {\n margin: 0;\n }\n\n li {\n margin-bottom: 1em;\n }\n}\n","import { Link } from 'wouter-preact'\n\nimport * as s from './ThemesView.module.scss'\n\nconst Preview = (themeEngine, theme) =>\n
    \n
    \n
    \n > look\n
    \n

    \n
    \n {theme}\n
    \n
    \n Observe a vibrant demonstration of colors at work,\n showcasing their versatile usage right before your eyes.\n
    \n

    \n
    \n \n
    \n\nexport default function ThemesView ({ themeEngine }) {\n const themes = themeEngine\n .themes\n .map((theme) => Preview(themeEngine, theme))\n\n return (\n
    \n

    \n Themes Page\n

    \n\n

    \n Choose one or \n go back.\n

    \n\n
    \n

    \n Current Theme\n

    \n
    \n
    \n > look\n
    \n

    \n
    \n Selected: {themeEngine.currentTheme}\n
    \n
    \n You can set random one with the button below\n or choose any theme from the list.\n
    \n

    \n
    \n \n
    \n\n

    \n Theme List\n

    \n
    \n {themes}\n
    \n
    \n )\n}\n",".themes {\n --current-border: var(--main-color);\n\n .themePreview {\n border: 2px solid var(--current-border);\n padding: calc(2 * var(--inner-padding));\n margin-bottom: 32px;\n\n background-color: var(--bg-color);\n color: var(--main-color);\n\n &.current {\n padding: 0;\n border: none;\n margin-block: 64px;\n }\n\n .output {\n border: 2px solid var(--main-color);\n padding: var(--inner-padding);\n margin-bottom: 8px;\n\n .message.subheader {\n font-weight: bold;\n color: var(--accent-color);\n text-transform: capitalize;\n }\n\n .message.input {\n color: var(--input-color);\n }\n }\n\n button {\n width: 100%;\n }\n }\n}\n","import { useState, useEffect } from 'preact/hooks'\n\nimport UrlPlayer from '~/src/components/Player/UrlPlayer'\nimport MenuOverlay from '~/src/components/Player/MenuOverlay/MenuOverlay'\n\nconst decode = (encodedUrl) => decodeURIComponent(encodedUrl)\n\nexport default function PlayerView ({\n theme, themeEngine, encodedUrl, singleWindow,\n}) {\n useEffect(() => {\n themeEngine.setTheme(theme)\n }, [theme, themeEngine])\n\n const [targetUrl, setTargetUrl] = useState(decode(encodedUrl))\n\n useEffect(() => {\n setTargetUrl(decode(encodedUrl))\n }, [encodedUrl])\n\n const [menuOpen, setMenuOpen] = useState(false)\n\n const onFullscreenRequest = () => {\n document.documentElement.requestFullscreen()\n }\n\n return (\n
    \n \n \n
    \n )\n}\n","import { useState, useEffect } from 'preact/hooks'\n\nimport { engineByFilename } from './common/engines'\n\nimport Player from './Player'\nimport Status from './Status/Status'\n\nconst INITIAL_STATUS = {\n stage: 'loading',\n details: ['Loading'],\n}\n\nconst prepareVM = ({ url, setStatus, setParts }) => {\n const st = (stage, details) => (args) => {\n setStatus({ stage, details: [details] })\n return args\n }\n\n const cleanUrl = (url) =>\n url.startsWith('blob:')\n ? url.replace(/#(.*)$/g, '')\n : url\n\n const fetchWasm = (wasmBinaryName) =>\n fetch(wasmBinaryName)\n .then((response) => response.arrayBuffer())\n\n const checkResponse = (response) => {\n if (response.ok) return response\n throw new Error(response.statusText)\n }\n\n return Promise.resolve(url)\n .then(st('loading', 'Downloading file'))\n .then(cleanUrl)\n .then(fetch)\n .then(checkResponse)\n .then(st('loading', 'Processing file'))\n .then((response) => response.arrayBuffer())\n .then((arrayBuffer) => new Uint8Array(arrayBuffer))\n .then(st('loading', 'Downloading engine'))\n .then((storyfile) => {\n let parts = engineByFilename(url)\n return [storyfile, parts.engine, parts.wasmBinaryName]\n })\n .then(([storyfile, engine, wasmBinaryName]) => Promise.all([\n storyfile, engine, fetchWasm(wasmBinaryName),\n ]))\n .then(([storyfile, engine, wasmBinary]) => setParts({\n storyfile, engine, wasmBinary,\n }))\n .then(st('loading', 'Running'))\n .catch((e) => {\n console.error(e)\n setStatus({ stage: 'fail', details: [e.message, url] })\n })\n}\n\nexport default function UrlPlayer ({\n url, singleWindow, onFullscreenRequest, setMenuOpen,\n}) {\n const [status, setStatus] = useState(INITIAL_STATUS)\n const [vmParts, setParts] = useState(null)\n\n useEffect(() => {\n setStatus(INITIAL_STATUS)\n setParts(null)\n\n prepareVM({ url, setStatus, setParts })\n\n return () => setParts(null)\n }, [url])\n\n return vmParts\n ? ()\n : ()\n}\n","import bocfel from 'emglken/src/bocfel.js'\nimport git from 'emglken/src/git.js'\nimport hugo from 'emglken/src/hugo.js'\nimport tads from 'emglken/src/tads.js'\nimport scare from 'emglken/src/scare.js'\n\nconst formats = [\n {\n id: 'bocfel',\n extensions: /z([3458]|blorb)$/,\n engine: bocfel,\n },\n {\n id: 'git',\n extensions: /(gblorb|ulx)$/,\n engine: git,\n },\n {\n id: 'hugo',\n extensions: /hex$/,\n engine: hugo,\n },\n {\n id: 'scare',\n extensions: /taf$/,\n engine: scare,\n },\n {\n id: 'tads',\n extensions: /(gam|t3)$/,\n engine: tads,\n },\n]\n\nexport const engineByFilename = (filename) => {\n const format = formats.find((x) =>\n x.extensions.test(filename))\n\n if (format) {\n return {\n ...format,\n /* @see staticFiles in package.json */\n wasmBinaryName: `emglken/${format.id}-core.wasm`,\n }\n }\n throw new Error('Unsupported file type')\n}\n","/*\n\nEmglken port of Bocfel\n======================\n\nCopyright (c) 2021 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/\n\nimport EmglkenVM from './vm.js'\nimport BocfelCore from '../build/bocfel-core.js'\n\nexport default class Bocfel extends EmglkenVM\n{\n default_options()\n {\n return {\n vmcore: BocfelCore,\n }\n }\n}","/*\n\nEmglken VM\n==========\n\nCopyright (c) 2022 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/\n\nimport EmglkenFS from './emglkenfs.js'\n\nconst base_options = {\n arguments: ['storyfile'],\n}\n\nexport default class EmglkenVM\n{\n // Store the data and options\n init(data, options)\n {\n this.data = data\n this.options = Object.assign({}, base_options, this.default_options(), options)\n }\n\n // Start GlkOte and the vmcore\n async start()\n {\n const encoder = new TextEncoder()\n let buffer = ''\n\n const Module = {\n arguments: this.options.show_help ? ['-help'] : this.options.arguments,\n emglken_stdin_buffers: [],\n emglken_stdin_ready() {},\n // Fake locateFile so that Lectrote doesn't get tripped up on import.meta.url not being handled in CJS properly\n locateFile() {},\n print: data =>\n {\n if (buffer === '' && data !== '' && !data.startsWith('{'))\n {\n console.log(data)\n }\n else\n {\n buffer += data\n if (data.endsWith('}'))\n {\n let obj\n try { obj = JSON.parse(buffer) } catch (e) {}\n if (obj) {\n buffer = ''\n // Store the usage of a fileref prompt request\n if (obj.specialinput && obj.specialinput.type === 'fileref_prompt')\n {\n this.last_fr_usage = obj.specialinput.filetype\n }\n this.options.GlkOte.update(obj)\n }\n }\n }\n },\n preRun: () =>\n {\n const FS = Module.FS\n this.EFS = new EmglkenFS(this)\n FS.mkdir('/emglken')\n FS.mount(this.EFS, {}, '/emglken')\n FS.chdir('/emglken')\n },\n wasmBinary: this.options.wasmBinary,\n }\n this.Module = Module\n\n this.options.accept = data => {\n if (data.type === 'specialresponse' && data.response === 'fileref_prompt' && data.value)\n {\n // electrofs.js returns a full path, so register it with EmglkenFS, and return a fake filename\n if (this.EFS.streaming)\n {\n data.value = this.EFS.register_filename(data.value.filename, this.last_fr_usage)\n }\n // Convert a dialog.js provided fileref into something Remglk can understand\n else\n {\n data.value = data.value.filename\n }\n }\n\n const json_data = JSON.stringify(data)\n const buffer = encoder.encode(json_data)\n Module.emglken_stdin_buffers.push(buffer)\n Module.emglken_stdin_ready()\n }\n\n await this.options.vmcore(Module)\n this.options.GlkOte.init(this.options)\n }\n}","/*\n\nEmglken File System\n===================\n\nCopyright (c) 2020 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/\n\nconst DIR_MODE = 16895 // 040777\nconst FILE_MODE = 33206 // 100666\nconst SEEK_SET = 0\nconst SEEK_CUR = 1\nconst SEEK_END = 2\n\n// WASI error codes\n// See https://github.com/WebAssembly/wasi-libc/blob/master/libc-bottom-half/headers/public/wasi/api.h\nconst EINVAL = 28\nconst ENOENT = 44\n\n// Convert Linux flags to Glk flags\nconst filemode_Write = 1\nconst filemode_Read = 2\nconst filemode_ReadWrite = 3\nconst filemode_WriteAppend = 5\nfunction convert_flags(flags)\n{\n // O_APPEND => filemode_WriteAppend\n if (flags & 0x400)\n {\n return filemode_WriteAppend\n }\n // O_WRONLY => filemode_Write\n if (flags & 1)\n {\n return filemode_Write\n }\n // O_RDWR => filemode_ReadWrite\n if (flags & 2)\n {\n return filemode_ReadWrite\n }\n // O_RDONLY => filemode_Read\n return filemode_Read\n}\n\nexport default class EmglkenFS\n{\n constructor(VM)\n {\n this.dialog = VM.options.Dialog\n this.streaming = this.dialog.streaming\n this.FS = VM.Module.FS\n this.VM = VM\n\n this.filename_map = {}\n this.filename_counter = 0\n }\n\n close(stream)\n {\n if (stream.name === 'storyfile')\n {}\n else\n {\n if (this.streaming)\n {\n stream.fstream.fclose()\n }\n else\n {\n if (stream.fmode !== filemode_Read)\n {\n this.dialog.file_write(stream.fref, stream.data)\n }\n }\n }\n }\n\n createNode(parent, name, mode/*, dev*/)\n {\n const FS = this.FS\n if (!FS.isDir(mode) && !FS.isFile(mode))\n {\n throw new FS.ErrnoError(EINVAL)\n }\n const node = FS.createNode(parent, name, mode)\n node.node_ops = this\n node.stream_ops = this\n node.timestamp = Date.now()\n return node\n }\n\n getattr(node)\n {\n // At present only the size of the storyfile will be returned, as needed by Bocfel\n const size = node.name === 'storyfile' ? this.VM.data.length : 0\n\n // Not sure what to return here, so only return stuff some of it\n return {\n atime: new Date(node.timestamp),\n ctime: new Date(node.timestamp),\n dev: 1,\n gid: 0,\n ino: node.id,\n mode: node.mode,\n mtime: new Date(node.timestamp),\n nlink: 1,\n rdev: node.rdev,\n size,\n uid: 0,\n }\n }\n\n // Get a Dialog ref for non-streaming Dialogs\n get_dialog_ref(filename)\n {\n let [name, usage] = filename.split('.')\n\n // RemGlk sends usages starting with 'glk', but Dialog wants them without\n usage = usage.replace('glk', '')\n\n // Retrieve the game ID if opening a savefile\n let gameid = ''\n if (usage === 'save')\n {\n gameid = this.VM.Module.AsciiToString(this.VM.Module._gidispatch_get_game_id())\n }\n\n return this.dialog.file_construct_ref(name, usage, gameid)\n }\n\n llseek(stream, offset, whence)\n {\n let position = offset\n if (whence === SEEK_CUR)\n {\n position += stream.position\n }\n else if (whence === SEEK_END)\n {\n if (stream.name === 'storyfile')\n {\n position += stream.data.length\n }\n else\n {\n if (this.streaming)\n {\n const curpos = stream.fstream.ftell()\n stream.fstream.fseek(0, SEEK_END)\n position += stream.fstream.ftell()\n stream.fstream.fseek(curpos, SEEK_SET)\n }\n else\n {\n position += stream.data.length\n }\n }\n }\n if (position < 0)\n {\n throw new this.FS.ErrnoError(EINVAL)\n }\n return position\n }\n\n lookup(parent, name)\n {\n if (name !== 'storyfile')\n {\n const realname = this.filename_map[name] || name\n if (!this.dialog.file_ref_exists(this.streaming ? {filename: realname} : this.get_dialog_ref(realname)))\n {\n throw new this.FS.ErrnoError(ENOENT)\n }\n }\n return this.createNode(parent, name, FILE_MODE)\n }\n\n mknod(parent, name, mode/*, dev*/)\n {\n return this.createNode(parent, name, mode)\n }\n\n mmap()\n {\n throw new Error('EmglkenFS.mmap')\n }\n\n mount()\n {\n return this.createNode(null, '/', DIR_MODE, 0)\n }\n\n msync()\n {\n throw new Error('EmglkenFS.msync')\n }\n\n open(stream)\n {\n stream.name = stream.node.name\n if (stream.name === 'storyfile')\n {\n stream.data = this.VM.data\n }\n else\n {\n const fmode = convert_flags(stream.flags)\n const realname = this.filename_map[stream.name] || stream.name\n if (this.streaming)\n {\n stream.fstream = this.dialog.file_fopen(fmode, {filename: realname})\n }\n else\n {\n stream.fref = this.get_dialog_ref(realname)\n stream.fmode = fmode\n\n // Read the content if not overwriting\n stream.data = null\n if (fmode !== filemode_Write)\n {\n stream.data = this.dialog.file_read(stream.fref)\n }\n\n // If no file and not reading, create a blank file\n if (stream.data == null) {\n stream.data = new Uint8Array(0)\n if (fmode !== filemode_Read)\n {\n this.dialog.file_write(stream.fref, '', true)\n }\n }\n //stream.position = fmode === filemode_WriteAppend ? data.length : 0\n }\n }\n }\n\n read(stream, buffer, offset, length, position)\n {\n if (length === 0)\n {\n return 0\n }\n if (stream.name === 'storyfile')\n {\n const size = Math.min(stream.data.length - position, length)\n buffer.set(stream.data.subarray(position, position + size), offset)\n return size\n }\n else\n {\n if (this.streaming)\n {\n stream.fstream.fseek(position, SEEK_SET)\n const buf = stream.fstream.BufferClass.from(buffer.buffer, offset, length)\n return stream.fstream.fread(buf, length)\n }\n else\n {\n const size = Math.min(stream.data.length - position, length)\n buffer.set(stream.data.subarray(position, position + size), offset)\n return size\n }\n }\n }\n\n readdir()\n {\n throw new Error('EmglkenFS.readdir')\n }\n\n readlink()\n {\n throw new this.FS.ErrnoError(EINVAL)\n }\n\n // electrofs.js will give a full system path, which we can't handle. So store the full path and return a fake file name\n register_filename(filename, usage)\n {\n const suffix = usage === 'save' ? '.glksave' : (usage === 'data' ? '.glkdata' : '.txt')\n if (!/\\.(glkdata|glksave|txt)$/.test(filename))\n {\n filename = filename + suffix\n }\n\n if (this.filename_map[filename])\n {\n return this.filename_map[filename]\n }\n\n const fakename = 'emglken_fake_file_' + this.filename_counter++\n this.filename_map[filename] = fakename\n this.filename_map[fakename + suffix] = filename\n return fakename\n }\n\n rename()\n {\n throw new Error('EmglkenFS.rename')\n }\n\n rmdir()\n {\n throw new Error('EmglkenFS.rmdir')\n }\n\n setattr(/*node, attr*/)\n {\n // I don't think we need to do anything here?\n // Maybe truncate a file?\n }\n\n symlink()\n {\n throw new Error('EmglkenFS.symlink')\n }\n\n unlink(parent, name)\n {\n const realname = this.filename_map[name] || name\n this.dialog.file_remove_ref(this.get_dialog_ref(realname))\n }\n\n write(stream, buffer, offset, length, position)\n {\n if (stream.name === 'storyfile')\n {\n throw new Error('EmglkenFS.write: cannot write to storyfile')\n }\n if (this.streaming)\n {\n stream.fstream.fseek(position, SEEK_SET)\n const buf = stream.fstream.BufferClass.from(buffer).subarray(offset, offset + length)\n return stream.fstream.fwrite(buf, length)\n }\n else\n {\n position = position || stream.position\n const end_of_write = length + position\n if (end_of_write > stream.data.length)\n {\n const old_data = stream.data\n stream.data = new Uint8Array(end_of_write)\n stream.data.set(old_data)\n }\n stream.data.set(buffer.subarray(offset, offset + length), position)\n return length\n }\n }\n}","\nvar Module = (() => {\n var _scriptDir = import.meta.url;\n \n return (\nfunction(Module = {}) {\n\nvar Module = typeof Module != \"undefined\" ? Module : {};\n\nvar readyPromiseResolve, readyPromiseReject;\n\nModule[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n});\n\nvar moduleOverrides = Object.assign({}, Module);\n\nvar arguments_ = [];\n\nvar thisProgram = \"./this.program\";\n\nvar quit_ = (status, toThrow) => {\n throw toThrow;\n};\n\nvar ENVIRONMENT_IS_WEB = true;\n\nvar ENVIRONMENT_IS_WORKER = false;\n\nvar scriptDirectory = \"\";\n\nfunction locateFile(path) {\n if (Module[\"locateFile\"]) {\n return Module[\"locateFile\"](path, scriptDirectory);\n }\n return scriptDirectory + path;\n}\n\nvar read_, readAsync, readBinary, setWindowTitle;\n\nif (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) {\n scriptDirectory = self.location.href;\n } else if (typeof document != \"undefined\" && document.currentScript) {\n scriptDirectory = document.currentScript.src;\n }\n if (_scriptDir) {\n scriptDirectory = _scriptDir;\n }\n if (scriptDirectory.indexOf(\"blob:\") !== 0) {\n scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n } else {\n scriptDirectory = \"\";\n }\n {\n read_ = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) {\n readBinary = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n }\n readAsync = (url, onload, onerror) => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = () => {\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n }\n setWindowTitle = title => document.title = title;\n} else {}\n\nvar out = Module[\"print\"] || console.log.bind(console);\n\nvar err = Module[\"printErr\"] || console.warn.bind(console);\n\nObject.assign(Module, moduleOverrides);\n\nmoduleOverrides = null;\n\nif (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n\nif (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n\nif (Module[\"quit\"]) quit_ = Module[\"quit\"];\n\nvar wasmBinary;\n\nif (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n\nvar noExitRuntime = Module[\"noExitRuntime\"] || false;\n\nif (typeof WebAssembly != \"object\") {\n abort(\"no native wasm support detected\");\n}\n\nvar wasmMemory;\n\nvar ABORT = false;\n\nvar EXITSTATUS;\n\nfunction assert(condition, text) {\n if (!condition) {\n abort(text);\n }\n}\n\nvar UTF8Decoder = new TextDecoder(\"utf8\");\n\nfunction UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n}\n\nfunction UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n}\n\nfunction stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for (var i = 0; i < str.length; ++i) {\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n}\n\nfunction stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n}\n\nfunction lengthBytesUTF8(str) {\n var len = 0;\n for (var i = 0; i < str.length; ++i) {\n var c = str.charCodeAt(i);\n if (c <= 127) {\n len++;\n } else if (c <= 2047) {\n len += 2;\n } else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else {\n len += 3;\n }\n }\n return len;\n}\n\nvar HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n\nfunction updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n}\n\nvar wasmTable;\n\nvar __ATPRERUN__ = [];\n\nvar __ATINIT__ = [];\n\nvar __ATMAIN__ = [];\n\nvar __ATEXIT__ = [];\n\nvar __ATPOSTRUN__ = [];\n\nvar runtimeInitialized = false;\n\nvar runtimeExited = false;\n\nvar runtimeKeepaliveCounter = 0;\n\nfunction keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n}\n\nfunction preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [ Module[\"preRun\"] ];\n while (Module[\"preRun\"].length) {\n addOnPreRun(Module[\"preRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPRERUN__);\n}\n\nfunction initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n}\n\nfunction preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n}\n\nfunction exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n}\n\nfunction postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [ Module[\"postRun\"] ];\n while (Module[\"postRun\"].length) {\n addOnPostRun(Module[\"postRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n}\n\nfunction addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n}\n\nfunction addOnInit(cb) {\n __ATINIT__.unshift(cb);\n}\n\nfunction addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n}\n\nvar runDependencies = 0;\n\nvar runDependencyWatcher = null;\n\nvar dependenciesFulfilled = null;\n\nfunction getUniqueRunDependency(id) {\n return id;\n}\n\nfunction addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n}\n\nfunction removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n}\n\nfunction abort(what) {\n if (Module[\"onAbort\"]) {\n Module[\"onAbort\"](what);\n }\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n}\n\nvar dataURIPrefix = \"data:application/octet-stream;base64,\";\n\nfunction isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n}\n\nvar wasmBinaryFile;\n\nif (Module[\"locateFile\"]) {\n wasmBinaryFile = \"bocfel-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) {\n wasmBinaryFile = locateFile(wasmBinaryFile);\n }\n} else {\n wasmBinaryFile = new URL(\"bocfel-core.wasm\", import.meta.url).href;\n}\n\nfunction getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) {\n return new Uint8Array(wasmBinary);\n }\n if (readBinary) {\n return readBinary(file);\n }\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n}\n\nfunction getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) {\n throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n }\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n}\n\nfunction instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n}\n\nfunction instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n } else {\n return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n}\n\nfunction createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"da\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"na\"];\n addOnInit(Module[\"asm\"][\"ea\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) {\n try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n}\n\nvar tempDouble;\n\nvar tempI64;\n\nfunction __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async () => {\n if (!Module.emglken_stdin_buffers.length) {\n await new Promise(resolve => {\n Module.emglken_stdin_ready = resolve;\n });\n }\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) {\n HEAPU8.set(input, buffer);\n } else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n}\n\nfunction ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n}\n\nfunction callRuntimeCallbacks(callbacks) {\n while (callbacks.length > 0) {\n callbacks.shift()(Module);\n }\n}\n\nvar exceptionCaught = [];\n\nfunction exception_addRef(info) {\n info.add_ref();\n}\n\nvar uncaughtExceptionCount = 0;\n\nfunction ___cxa_begin_catch(ptr) {\n var info = new ExceptionInfo(ptr);\n if (!info.get_caught()) {\n info.set_caught(true);\n uncaughtExceptionCount--;\n }\n info.set_rethrown(false);\n exceptionCaught.push(info);\n exception_addRef(info);\n return info.get_exception_ptr();\n}\n\nvar exceptionLast = 0;\n\nfunction exception_decRef(info) {\n if (info.release_ref() && !info.get_rethrown()) {\n var destructor = info.get_destructor();\n if (destructor) {\n (a1 => dynCall_ii.apply(null, [ destructor, a1 ]))(info.excPtr);\n }\n ___cxa_free_exception(info.excPtr);\n }\n}\n\nfunction ___cxa_end_catch() {\n _setThrew(0);\n var info = exceptionCaught.pop();\n exception_decRef(info);\n exceptionLast = 0;\n}\n\nfunction ExceptionInfo(excPtr) {\n this.excPtr = excPtr;\n this.ptr = excPtr - 24;\n this.set_type = function(type) {\n HEAPU32[this.ptr + 4 >> 2] = type;\n };\n this.get_type = function() {\n return HEAPU32[this.ptr + 4 >> 2];\n };\n this.set_destructor = function(destructor) {\n HEAPU32[this.ptr + 8 >> 2] = destructor;\n };\n this.get_destructor = function() {\n return HEAPU32[this.ptr + 8 >> 2];\n };\n this.set_refcount = function(refcount) {\n HEAP32[this.ptr >> 2] = refcount;\n };\n this.set_caught = function(caught) {\n caught = caught ? 1 : 0;\n HEAP8[this.ptr + 12 >> 0] = caught;\n };\n this.get_caught = function() {\n return HEAP8[this.ptr + 12 >> 0] != 0;\n };\n this.set_rethrown = function(rethrown) {\n rethrown = rethrown ? 1 : 0;\n HEAP8[this.ptr + 13 >> 0] = rethrown;\n };\n this.get_rethrown = function() {\n return HEAP8[this.ptr + 13 >> 0] != 0;\n };\n this.init = function(type, destructor) {\n this.set_adjusted_ptr(0);\n this.set_type(type);\n this.set_destructor(destructor);\n this.set_refcount(0);\n this.set_caught(false);\n this.set_rethrown(false);\n };\n this.add_ref = function() {\n var value = HEAP32[this.ptr >> 2];\n HEAP32[this.ptr >> 2] = value + 1;\n };\n this.release_ref = function() {\n var prev = HEAP32[this.ptr >> 2];\n HEAP32[this.ptr >> 2] = prev - 1;\n return prev === 1;\n };\n this.set_adjusted_ptr = function(adjustedPtr) {\n HEAPU32[this.ptr + 16 >> 2] = adjustedPtr;\n };\n this.get_adjusted_ptr = function() {\n return HEAPU32[this.ptr + 16 >> 2];\n };\n this.get_exception_ptr = function() {\n var isPointer = ___cxa_is_pointer_type(this.get_type());\n if (isPointer) {\n return HEAPU32[this.excPtr >> 2];\n }\n var adjusted = this.get_adjusted_ptr();\n if (adjusted !== 0) return adjusted;\n return this.excPtr;\n };\n}\n\nfunction ___resumeException(ptr) {\n if (!exceptionLast) {\n exceptionLast = ptr;\n }\n throw ptr;\n}\n\nfunction ___cxa_find_matching_catch() {\n var thrown = exceptionLast;\n if (!thrown) {\n setTempRet0(0);\n return 0;\n }\n var info = new ExceptionInfo(thrown);\n info.set_adjusted_ptr(thrown);\n var thrownType = info.get_type();\n if (!thrownType) {\n setTempRet0(0);\n return thrown;\n }\n for (var i = 0; i < arguments.length; i++) {\n var caughtType = arguments[i];\n if (caughtType === 0 || caughtType === thrownType) {\n break;\n }\n var adjusted_ptr_addr = info.ptr + 16;\n if (___cxa_can_catch(caughtType, thrownType, adjusted_ptr_addr)) {\n setTempRet0(caughtType);\n return thrown;\n }\n }\n setTempRet0(thrownType);\n return thrown;\n}\n\nvar ___cxa_find_matching_catch_2 = ___cxa_find_matching_catch;\n\nvar ___cxa_find_matching_catch_3 = ___cxa_find_matching_catch;\n\nvar ___cxa_find_matching_catch_4 = ___cxa_find_matching_catch;\n\nvar ___cxa_find_matching_catch_5 = ___cxa_find_matching_catch;\n\nvar ___cxa_find_matching_catch_6 = ___cxa_find_matching_catch;\n\nvar ___cxa_find_matching_catch_7 = ___cxa_find_matching_catch;\n\nfunction ___cxa_rethrow() {\n var info = exceptionCaught.pop();\n if (!info) {\n abort(\"no exception to throw\");\n }\n var ptr = info.excPtr;\n if (!info.get_rethrown()) {\n exceptionCaught.push(info);\n info.set_rethrown(true);\n info.set_caught(false);\n uncaughtExceptionCount++;\n }\n exceptionLast = ptr;\n throw ptr;\n}\n\nfunction ___cxa_throw(ptr, type, destructor) {\n var info = new ExceptionInfo(ptr);\n info.init(type, destructor);\n exceptionLast = ptr;\n uncaughtExceptionCount++;\n throw ptr;\n}\n\nfunction ___cxa_uncaught_exceptions() {\n return uncaughtExceptionCount;\n}\n\nvar PATH = {\n isAbs: path => path.charAt(0) === \"/\",\n splitPath: filename => {\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot) => {\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === \".\") {\n parts.splice(i, 1);\n } else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) {\n for (;up; up--) {\n parts.unshift(\"..\");\n }\n }\n return parts;\n },\n normalize: path => {\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter(p => !!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) {\n path = \".\";\n }\n if (path && trailingSlash) {\n path += \"/\";\n }\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: path => {\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) {\n return \".\";\n }\n if (dir) {\n dir = dir.substr(0, dir.length - 1);\n }\n return root + dir;\n },\n basename: path => {\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r) => {\n return PATH.normalize(l + \"/\" + r);\n }\n};\n\nfunction getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return () => {\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return () => abort(\"randomDevice\");\n}\n\nvar PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") {\n throw new TypeError(\"Arguments to path.resolve must be strings\");\n } else if (!path) {\n return \"\";\n }\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter(p => !!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to) => {\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for (;start < arr.length; start++) {\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for (;end >= 0; end--) {\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push(\"..\");\n }\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n};\n\nfunction intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n}\n\nvar TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) {\n throw new FS.ErrnoError(43);\n }\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) {\n throw new FS.ErrnoError(60);\n }\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) {\n throw new FS.ErrnoError(60);\n }\n try {\n for (var i = 0; i < length; i++) {\n stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n }\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) {\n result += \"\\n\";\n }\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) {\n result += \"\\n\";\n }\n }\n if (!result) {\n return null;\n }\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n};\n\nfunction mmapAlloc(size) {\n abort();\n}\n\nvar MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16384 | 511, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {\n throw new FS.ErrnoError(63);\n }\n if (!MEMFS.ops_table) {\n MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n }\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1024 * 1024;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) {\n node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n }\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) {\n attr.size = 4096;\n } else if (FS.isFile(node.mode)) {\n attr.size = node.usedBytes;\n } else if (FS.isLink(node.mode)) {\n attr.size = node.link.length;\n } else {\n attr.size = 0;\n }\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) {\n node.mode = attr.mode;\n }\n if (attr.timestamp !== undefined) {\n node.timestamp = attr.timestamp;\n }\n if (attr.size !== undefined) {\n MEMFS.resizeFileStorage(node, attr.size);\n }\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for (var i in new_node.contents) {\n throw new FS.ErrnoError(55);\n }\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for (var i in node.contents) {\n throw new FS.ErrnoError(55);\n }\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [ \".\", \"..\" ];\n for (var key in node.contents) {\n if (!node.contents.hasOwnProperty(key)) {\n continue;\n }\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) {\n buffer.set(contents.subarray(position, position + size), offset);\n } else {\n for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];\n }\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) {\n canOwn = false;\n }\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n } else {\n for (var i = 0; i < length; i++) {\n node.contents[position + i] = buffer[offset + i];\n }\n }\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) {\n position += stream.position;\n } else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) {\n position += stream.node.usedBytes;\n }\n }\n if (position < 0) {\n throw new FS.ErrnoError(28);\n }\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) {\n contents = contents.subarray(position, position + length);\n } else {\n contents = Array.prototype.slice.call(contents, position, position + length);\n }\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n};\n\nfunction asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, arrayBuffer => {\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, event => {\n if (onerror) {\n onerror();\n } else {\n throw 'Loading data file \"' + url + '\" failed.';\n }\n });\n if (dep) addRunDependency(dep);\n}\n\nvar FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {}) => {\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) {\n throw new FS.ErrnoError(32);\n }\n var parts = path.split(\"/\").filter(p => !!p);\n var current = FS.root;\n var current_path = \"/\";\n for (var i = 0; i < parts.length; i++) {\n var islast = i === parts.length - 1;\n if (islast && opts.parent) {\n break;\n }\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) {\n current = current.mounted.root;\n }\n }\n if (!islast || opts.follow) {\n var count = 0;\n while (FS.isLink(current.mode)) {\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) {\n throw new FS.ErrnoError(32);\n }\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: node => {\n var path;\n while (true) {\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name) => {\n var hash = 0;\n for (var i = 0; i < name.length; i++) {\n hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n }\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) {\n FS.nameTable[hash] = node.name_next;\n } else {\n var current = FS.nameTable[hash];\n while (current) {\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name) => {\n var errCode = FS.mayLookup(parent);\n if (errCode) {\n throw new FS.ErrnoError(errCode, parent);\n }\n var hash = FS.hashName(parent.id, name);\n for (var node = FS.nameTable[hash]; node; node = node.name_next) {\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) {\n return node;\n }\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev) => {\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: node => {\n FS.hashRemoveNode(node);\n },\n isRoot: node => {\n return node === node.parent;\n },\n isMountpoint: node => {\n return !!node.mounted;\n },\n isFile: mode => {\n return (mode & 61440) === 32768;\n },\n isDir: mode => {\n return (mode & 61440) === 16384;\n },\n isLink: mode => {\n return (mode & 61440) === 40960;\n },\n isChrdev: mode => {\n return (mode & 61440) === 8192;\n },\n isBlkdev: mode => {\n return (mode & 61440) === 24576;\n },\n isFIFO: mode => {\n return (mode & 61440) === 4096;\n },\n isSocket: mode => {\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: str => {\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") {\n throw new Error(\"Unknown file open mode: \" + str);\n }\n return flags;\n },\n flagsToPermissionString: flag => {\n var perms = [ \"r\", \"w\", \"rw\" ][flag & 3];\n if (flag & 512) {\n perms += \"w\";\n }\n return perms;\n },\n nodePermissions: (node, perms) => {\n if (FS.ignorePermissions) {\n return 0;\n }\n if (perms.includes(\"r\") && !(node.mode & 292)) {\n return 2;\n } else if (perms.includes(\"w\") && !(node.mode & 146)) {\n return 2;\n } else if (perms.includes(\"x\") && !(node.mode & 73)) {\n return 2;\n }\n return 0;\n },\n mayLookup: dir => {\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name) => {\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir) => {\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) {\n return errCode;\n }\n if (isdir) {\n if (!FS.isDir(node.mode)) {\n return 54;\n }\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {\n return 10;\n }\n } else {\n if (FS.isDir(node.mode)) {\n return 31;\n }\n }\n return 0;\n },\n mayOpen: (node, flags) => {\n if (!node) {\n return 44;\n }\n if (FS.isLink(node.mode)) {\n return 32;\n } else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) {\n return 31;\n }\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => {\n for (var fd = fd_start; fd <= fd_end; fd++) {\n if (!FS.streams[fd]) {\n return fd;\n }\n }\n throw new FS.ErrnoError(33);\n },\n getStream: fd => FS.streams[fd],\n createStream: (stream, fd_start, fd_end) => {\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: fd => {\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: stream => {\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n },\n llseek: () => {\n throw new FS.ErrnoError(70);\n }\n },\n major: dev => dev >> 8,\n minor: dev => dev & 255,\n makedev: (ma, mi) => ma << 8 | mi,\n registerDevice: (dev, ops) => {\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: dev => FS.devices[dev],\n getMounts: mount => {\n var mounts = [];\n var check = [ mount ];\n while (check.length) {\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback) => {\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) {\n err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n }\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) {\n doCallback(null);\n }\n }\n mounts.forEach(mount => {\n if (!mount.type.syncfs) {\n return done(null);\n }\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint) => {\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) {\n throw new FS.ErrnoError(10);\n } else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n if (!FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) {\n FS.root = mountRoot;\n } else if (node) {\n node.mounted = mount;\n if (node.mount) {\n node.mount.mounts.push(mount);\n }\n }\n return mountRoot;\n },\n unmount: mountpoint => {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) {\n throw new FS.ErrnoError(28);\n }\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach(hash => {\n var current = FS.nameTable[hash];\n while (current) {\n var next = current.name_next;\n if (mounts.includes(current.mount)) {\n FS.destroyNode(current);\n }\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name) => {\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev) => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.mayCreate(parent, name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.mknod) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode) => {\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode) => {\n mode = mode !== undefined ? mode : 511;\n mode &= 511 | 512;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode) => {\n var dirs = path.split(\"/\");\n var d = \"\";\n for (var i = 0; i < dirs.length; ++i) {\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev) => {\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath) => {\n if (!PATH_FS.resolve(oldpath)) {\n throw new FS.ErrnoError(44);\n }\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.symlink) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path) => {\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) {\n throw new FS.ErrnoError(75);\n }\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(28);\n }\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(55);\n }\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) {\n return;\n }\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!old_dir.node_ops.rename) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {\n throw new FS.ErrnoError(10);\n }\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally {\n FS.hashAddNode(old_node);\n }\n },\n rmdir: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.rmdir) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) {\n throw new FS.ErrnoError(54);\n }\n return node.node_ops.readdir(node);\n },\n unlink: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.unlink) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: path => {\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) {\n throw new FS.ErrnoError(44);\n }\n if (!link.node_ops.readlink) {\n throw new FS.ErrnoError(28);\n }\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow) => {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (!node.node_ops.getattr) {\n throw new FS.ErrnoError(63);\n }\n return node.node_ops.getattr(node);\n },\n lstat: path => {\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & ~4095,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode) => {\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid) => {\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len) => {\n if (len < 0) {\n throw new FS.ErrnoError(28);\n }\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isDir(node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!FS.isFile(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(28);\n }\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime) => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode) => {\n if (path === \"\") {\n throw new FS.ErrnoError(44);\n }\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) {\n mode = mode & 4095 | 32768;\n } else {\n mode = 0;\n }\n var node;\n if (typeof path == \"object\") {\n node = path;\n } else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) {\n throw new FS.ErrnoError(20);\n }\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (FS.isChrdev(node.mode)) {\n flags &= ~512;\n }\n if (flags & 65536 && !FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n if (flags & 512 && !created) {\n FS.truncate(node, 0);\n }\n flags &= ~(128 | 512 | 131072);\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) {\n FS.readFiles[path] = 1;\n }\n }\n return stream;\n },\n close: stream => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) {\n stream.stream_ops.close(stream);\n }\n } catch (e) {\n throw e;\n } finally {\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: stream => {\n return stream.fd === null;\n },\n llseek: (stream, offset, whence) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (!stream.seekable || !stream.stream_ops.llseek) {\n throw new FS.ErrnoError(70);\n }\n if (whence != 0 && whence != 1 && whence != 2) {\n throw new FS.ErrnoError(28);\n }\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.read) {\n throw new FS.ErrnoError(28);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.write) {\n throw new FS.ErrnoError(28);\n }\n if (stream.seekable && stream.flags & 1024) {\n FS.llseek(stream, 0, 2);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (offset < 0 || length <= 0) {\n throw new FS.ErrnoError(28);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (!stream.stream_ops.allocate) {\n throw new FS.ErrnoError(138);\n }\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags) => {\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {\n throw new FS.ErrnoError(2);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(2);\n }\n if (!stream.stream_ops.mmap) {\n throw new FS.ErrnoError(43);\n }\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags) => {\n if (!stream.stream_ops.msync) {\n return 0;\n }\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: stream => 0,\n ioctl: (stream, cmd, arg) => {\n if (!stream.stream_ops.ioctl) {\n throw new FS.ErrnoError(59);\n }\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {}) => {\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") {\n throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n }\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") {\n ret = UTF8ArrayToString(buf, 0);\n } else if (opts.encoding === \"binary\") {\n ret = buf;\n }\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {}) => {\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) {\n FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n } else {\n throw new Error(\"Unsupported data type\");\n }\n FS.close(stream);\n },\n cwd: () => FS.currentPath,\n chdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) {\n throw new FS.ErrnoError(44);\n }\n if (!FS.isDir(lookup.node.mode)) {\n throw new FS.ErrnoError(54);\n }\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: () => {\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: () => {\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: () => 0,\n write: (stream, buffer, offset, length, pos) => length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: () => {\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: () => {\n var node = FS.createNode(proc_self, \"fd\", 16384 | 511, 73);\n node.node_ops = {\n lookup: (parent, name) => {\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: () => stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: () => {\n if (Module[\"stdin\"]) {\n FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n }\n if (Module[\"stdout\"]) {\n FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n }\n if (Module[\"stderr\"]) {\n FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n } else {\n FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n }\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: () => {\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [ 44 ].forEach(code => {\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: () => {\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error) => {\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: () => {\n FS.init.initialized = false;\n _fflush(0);\n for (var i = 0; i < FS.streams.length; i++) {\n var stream = FS.streams[i];\n if (!stream) {\n continue;\n }\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite) => {\n var mode = 0;\n if (canRead) mode |= 292 | 73;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink) => {\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) {\n return null;\n }\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink) => {\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite) => {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while (parts.length) {\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn) => {\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: stream => {\n stream.seekable = false;\n },\n close: stream => {\n if (output && output.buffer && output.buffer.length) {\n output(10);\n }\n },\n read: (stream, buffer, offset, length, pos) => {\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos) => {\n for (var i = 0; i < length; i++) {\n try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: obj => {\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n if (typeof XMLHttpRequest != \"undefined\") {\n 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.\");\n } else if (read_) {\n try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n } else {\n throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n }\n },\n createLazyFile: (parent, name, url, canRead, canWrite) => {\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) {\n return undefined;\n }\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1024 * 1024;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to) => {\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n }\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) {\n return new Uint8Array(xhr.response || []);\n }\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter(chunkNum => {\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") {\n lazyArray.chunks[chunkNum] = doXHR(start, end);\n }\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else {\n var properties = {\n isDevice: false,\n url: url\n };\n }\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) {\n node.contents = properties.contents;\n } else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach(key => {\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents[position + i];\n }\n } else {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents.get(position + i);\n }\n }\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position) => {\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags) => {\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => {\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) {\n FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n }\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => {\n if (onerror) onerror();\n removeRunDependency(dep);\n })) {\n return;\n }\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") {\n asyncLoad(url, byteArray => processData(byteArray), onerror);\n } else {\n processData(url);\n }\n },\n indexedDB: () => {\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: () => {\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = () => {\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = () => {\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n try {\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var getRequest = files.get(path);\n getRequest.onsuccess = () => {\n if (FS.analyzePath(path).exists) {\n FS.unlink(path);\n }\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n};\n\nvar SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) {\n return path;\n }\n var dir;\n if (dirfd === -100) {\n dir = FS.cwd();\n } else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) {\n throw new FS.ErrnoError(44);\n }\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {\n return -54;\n }\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n 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) ], \n HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n 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) ], \n HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (flags & 2) {\n return 0;\n }\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n};\n\nfunction ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & ~7) {\n return -28;\n }\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) {\n return -44;\n }\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) {\n return -2;\n }\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n}\n\nfunction ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (cmd) {\n case 0:\n {\n var arg = SYSCALLS.get();\n if (arg < 0) {\n return -28;\n }\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n }\n\n case 1:\n case 2:\n return 0;\n\n case 3:\n return stream.flags;\n\n case 4:\n {\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n }\n\n case 5:\n {\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n }\n\n case 6:\n case 7:\n return 0;\n\n case 16:\n case 8:\n return -28;\n\n case 9:\n setErrNo(28);\n return -1;\n\n default:\n {\n return -28;\n }\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (op) {\n case 21509:\n case 21505:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21519:\n {\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n }\n\n case 21520:\n {\n if (!stream.tty) return -59;\n return -28;\n }\n\n case 21531:\n {\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n }\n\n case 21523:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21524:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nvar nowIsMonotonic = true;\n\nfunction __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n}\n\nfunction readI53FromI64(ptr) {\n return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296;\n}\n\nfunction __isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nvar __MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ];\n\nvar __MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ];\n\nfunction __yday_from_date(date) {\n var isLeapYear = __isLeapYear(date.getFullYear());\n var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday;\n}\n\nfunction __localtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n HEAP32[tmPtr + 32 >> 2] = dst;\n}\n\nfunction allocateUTF8(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = _malloc(size);\n if (ret) stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction __tzset_js(timezone, daylight, tzname) {\n var currentYear = new Date().getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;\n HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);\n function extractZone(date) {\n var match = date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return match ? match[1] : \"GMT\";\n }\n var winterName = extractZone(winter);\n var summerName = extractZone(summer);\n var winterNamePtr = allocateUTF8(winterName);\n var summerNamePtr = allocateUTF8(summerName);\n if (summerOffset < winterOffset) {\n HEAPU32[tzname >> 2] = winterNamePtr;\n HEAPU32[tzname + 4 >> 2] = summerNamePtr;\n } else {\n HEAPU32[tzname >> 2] = summerNamePtr;\n HEAPU32[tzname + 4 >> 2] = winterNamePtr;\n }\n}\n\nfunction _abort() {\n abort(\"\");\n}\n\nfunction _emscripten_date_now() {\n return Date.now();\n}\n\nvar _emscripten_get_now;\n\n_emscripten_get_now = () => performance.now();\n\nfunction _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\n\nfunction emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n}\n\nfunction _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) {\n return false;\n }\n let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\n for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) {\n return true;\n }\n }\n return false;\n}\n\nvar ENV = {};\n\nfunction getExecutableName() {\n return thisProgram || \"./this.program\";\n}\n\nfunction getEnvStrings() {\n if (!getEnvStrings.strings) {\n var lang = (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\";\n var env = {\n \"USER\": \"web_user\",\n \"LOGNAME\": \"web_user\",\n \"PATH\": \"/\",\n \"PWD\": \"/\",\n \"HOME\": \"/home/web_user\",\n \"LANG\": lang,\n \"_\": getExecutableName()\n };\n for (var x in ENV) {\n if (ENV[x] === undefined) delete env[x]; else env[x] = ENV[x];\n }\n var strings = [];\n for (var x in env) {\n strings.push(x + \"=\" + env[x]);\n }\n getEnvStrings.strings = strings;\n }\n return getEnvStrings.strings;\n}\n\nfunction writeAsciiToMemory(str, buffer, dontAddNull) {\n for (var i = 0; i < str.length; ++i) {\n HEAP8[buffer++ >> 0] = str.charCodeAt(i);\n }\n if (!dontAddNull) HEAP8[buffer >> 0] = 0;\n}\n\nfunction _environ_get(__environ, environ_buf) {\n var bufSize = 0;\n getEnvStrings().forEach(function(string, i) {\n var ptr = environ_buf + bufSize;\n HEAPU32[__environ + i * 4 >> 2] = ptr;\n writeAsciiToMemory(string, ptr);\n bufSize += string.length + 1;\n });\n return 0;\n}\n\nfunction _environ_sizes_get(penviron_count, penviron_buf_size) {\n var strings = getEnvStrings();\n HEAPU32[penviron_count >> 2] = strings.length;\n var bufSize = 0;\n strings.forEach(function(string) {\n bufSize += string.length + 1;\n });\n HEAPU32[penviron_buf_size >> 2] = bufSize;\n return 0;\n}\n\nfunction _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n}\n\nfunction exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) {\n exitRuntime();\n }\n _proc_exit(status);\n}\n\nvar _exit = exitJS;\n\nfunction _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n}\n\nfunction _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n 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) ], \n HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction _llvm_eh_typeid_for(type) {\n return type;\n}\n\nfunction __arraySum(array, index) {\n var sum = 0;\n for (var i = 0; i <= index; sum += array[i++]) {}\n return sum;\n}\n\nvar __MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];\n\nvar __MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];\n\nfunction __addDays(date, days) {\n var newDate = new Date(date.getTime());\n while (days > 0) {\n var leap = __isLeapYear(newDate.getFullYear());\n var currentMonth = newDate.getMonth();\n var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];\n if (days > daysInCurrentMonth - newDate.getDate()) {\n days -= daysInCurrentMonth - newDate.getDate() + 1;\n newDate.setDate(1);\n if (currentMonth < 11) {\n newDate.setMonth(currentMonth + 1);\n } else {\n newDate.setMonth(0);\n newDate.setFullYear(newDate.getFullYear() + 1);\n }\n } else {\n newDate.setDate(newDate.getDate() + days);\n return newDate;\n }\n }\n return newDate;\n}\n\nfunction writeArrayToMemory(array, buffer) {\n HEAP8.set(array, buffer);\n}\n\nfunction _strftime(s, maxsize, format, tm) {\n var tm_zone = HEAP32[tm + 40 >> 2];\n var date = {\n tm_sec: HEAP32[tm >> 2],\n tm_min: HEAP32[tm + 4 >> 2],\n tm_hour: HEAP32[tm + 8 >> 2],\n tm_mday: HEAP32[tm + 12 >> 2],\n tm_mon: HEAP32[tm + 16 >> 2],\n tm_year: HEAP32[tm + 20 >> 2],\n tm_wday: HEAP32[tm + 24 >> 2],\n tm_yday: HEAP32[tm + 28 >> 2],\n tm_isdst: HEAP32[tm + 32 >> 2],\n tm_gmtoff: HEAP32[tm + 36 >> 2],\n tm_zone: tm_zone ? UTF8ToString(tm_zone) : \"\"\n };\n var pattern = UTF8ToString(format);\n var EXPANSION_RULES_1 = {\n \"%c\": \"%a %b %d %H:%M:%S %Y\",\n \"%D\": \"%m/%d/%y\",\n \"%F\": \"%Y-%m-%d\",\n \"%h\": \"%b\",\n \"%r\": \"%I:%M:%S %p\",\n \"%R\": \"%H:%M\",\n \"%T\": \"%H:%M:%S\",\n \"%x\": \"%m/%d/%y\",\n \"%X\": \"%H:%M:%S\",\n \"%Ec\": \"%c\",\n \"%EC\": \"%C\",\n \"%Ex\": \"%m/%d/%y\",\n \"%EX\": \"%H:%M:%S\",\n \"%Ey\": \"%y\",\n \"%EY\": \"%Y\",\n \"%Od\": \"%d\",\n \"%Oe\": \"%e\",\n \"%OH\": \"%H\",\n \"%OI\": \"%I\",\n \"%Om\": \"%m\",\n \"%OM\": \"%M\",\n \"%OS\": \"%S\",\n \"%Ou\": \"%u\",\n \"%OU\": \"%U\",\n \"%OV\": \"%V\",\n \"%Ow\": \"%w\",\n \"%OW\": \"%W\",\n \"%Oy\": \"%y\"\n };\n for (var rule in EXPANSION_RULES_1) {\n pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_1[rule]);\n }\n var WEEKDAYS = [ \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\" ];\n var MONTHS = [ \"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\" ];\n function leadingSomething(value, digits, character) {\n var str = typeof value == \"number\" ? value.toString() : value || \"\";\n while (str.length < digits) {\n str = character[0] + str;\n }\n return str;\n }\n function leadingNulls(value, digits) {\n return leadingSomething(value, digits, \"0\");\n }\n function compareByDay(date1, date2) {\n function sgn(value) {\n return value < 0 ? -1 : value > 0 ? 1 : 0;\n }\n var compare;\n if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {\n if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) {\n compare = sgn(date1.getDate() - date2.getDate());\n }\n }\n return compare;\n }\n function getFirstWeekStartDate(janFourth) {\n switch (janFourth.getDay()) {\n case 0:\n return new Date(janFourth.getFullYear() - 1, 11, 29);\n\n case 1:\n return janFourth;\n\n case 2:\n return new Date(janFourth.getFullYear(), 0, 3);\n\n case 3:\n return new Date(janFourth.getFullYear(), 0, 2);\n\n case 4:\n return new Date(janFourth.getFullYear(), 0, 1);\n\n case 5:\n return new Date(janFourth.getFullYear() - 1, 11, 31);\n\n case 6:\n return new Date(janFourth.getFullYear() - 1, 11, 30);\n }\n }\n function getWeekBasedYear(date) {\n var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);\n var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);\n var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);\n var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);\n var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);\n if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {\n if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {\n return thisDate.getFullYear() + 1;\n }\n return thisDate.getFullYear();\n }\n return thisDate.getFullYear() - 1;\n }\n var EXPANSION_RULES_2 = {\n \"%a\": function(date) {\n return WEEKDAYS[date.tm_wday].substring(0, 3);\n },\n \"%A\": function(date) {\n return WEEKDAYS[date.tm_wday];\n },\n \"%b\": function(date) {\n return MONTHS[date.tm_mon].substring(0, 3);\n },\n \"%B\": function(date) {\n return MONTHS[date.tm_mon];\n },\n \"%C\": function(date) {\n var year = date.tm_year + 1900;\n return leadingNulls(year / 100 | 0, 2);\n },\n \"%d\": function(date) {\n return leadingNulls(date.tm_mday, 2);\n },\n \"%e\": function(date) {\n return leadingSomething(date.tm_mday, 2, \" \");\n },\n \"%g\": function(date) {\n return getWeekBasedYear(date).toString().substring(2);\n },\n \"%G\": function(date) {\n return getWeekBasedYear(date);\n },\n \"%H\": function(date) {\n return leadingNulls(date.tm_hour, 2);\n },\n \"%I\": function(date) {\n var twelveHour = date.tm_hour;\n if (twelveHour == 0) twelveHour = 12; else if (twelveHour > 12) twelveHour -= 12;\n return leadingNulls(twelveHour, 2);\n },\n \"%j\": function(date) {\n return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);\n },\n \"%m\": function(date) {\n return leadingNulls(date.tm_mon + 1, 2);\n },\n \"%M\": function(date) {\n return leadingNulls(date.tm_min, 2);\n },\n \"%n\": function() {\n return \"\\n\";\n },\n \"%p\": function(date) {\n if (date.tm_hour >= 0 && date.tm_hour < 12) {\n return \"AM\";\n }\n return \"PM\";\n },\n \"%S\": function(date) {\n return leadingNulls(date.tm_sec, 2);\n },\n \"%t\": function() {\n return \"\\t\";\n },\n \"%u\": function(date) {\n return date.tm_wday || 7;\n },\n \"%U\": function(date) {\n var days = date.tm_yday + 7 - date.tm_wday;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%V\": function(date) {\n var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7) / 7);\n if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) {\n val++;\n }\n if (!val) {\n val = 52;\n var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;\n if (dec31 == 4 || dec31 == 5 && __isLeapYear(date.tm_year % 400 - 1)) {\n val++;\n }\n } else if (val == 53) {\n var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;\n if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) val = 1;\n }\n return leadingNulls(val, 2);\n },\n \"%w\": function(date) {\n return date.tm_wday;\n },\n \"%W\": function(date) {\n var days = date.tm_yday + 7 - (date.tm_wday + 6) % 7;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%y\": function(date) {\n return (date.tm_year + 1900).toString().substring(2);\n },\n \"%Y\": function(date) {\n return date.tm_year + 1900;\n },\n \"%z\": function(date) {\n var off = date.tm_gmtoff;\n var ahead = off >= 0;\n off = Math.abs(off) / 60;\n off = off / 60 * 100 + off % 60;\n return (ahead ? \"+\" : \"-\") + String(\"0000\" + off).slice(-4);\n },\n \"%Z\": function(date) {\n return date.tm_zone;\n },\n \"%%\": function() {\n return \"%\";\n }\n };\n pattern = pattern.replace(/%%/g, \"\\0\\0\");\n for (var rule in EXPANSION_RULES_2) {\n if (pattern.includes(rule)) {\n pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_2[rule](date));\n }\n }\n pattern = pattern.replace(/\\0\\0/g, \"%\");\n var bytes = intArrayFromString(pattern, false);\n if (bytes.length > maxsize) {\n return 0;\n }\n writeArrayToMemory(bytes, s);\n return bytes.length - 1;\n}\n\nfunction _strftime_l(s, maxsize, format, tm, loc) {\n return _strftime(s, maxsize, format, tm);\n}\n\nfunction handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") {\n return EXITSTATUS;\n }\n quit_(1, e);\n}\n\nfunction allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n}\n\nfunction maybeExit() {\n if (!keepRuntimeAlive()) {\n try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n}\n\nfunction callUserCallback(func) {\n if (runtimeExited || ABORT) {\n return;\n }\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n}\n\nfunction runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n}\n\nfunction runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n}\n\nvar Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [ \"invoke_*\", \"emscripten_sleep\", \"emscripten_wget\", \"emscripten_wget_data\", \"emscripten_idb_load\", \"emscripten_idb_store\", \"emscripten_idb_delete\", \"emscripten_idb_exists\", \"emscripten_idb_load_blob\", \"emscripten_idb_store_blob\", \"SDL_Delay\", \"emscripten_scan_registers\", \"emscripten_lazy_load_code\", \"emscripten_fiber_swap\", \"__load_secondary_module\", \"fd_sync\", \"__wasi_fd_sync\", \"_emval_await\", \"_dlopen_js\", \"__asyncjs__*\" ];\n for (var x in imports) {\n (function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") {\n var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n }\n })(x);\n }\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for (var x in exports) {\n (function(x) {\n var original = exports[x];\n if (typeof original == \"function\") {\n ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally {\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n } else {\n ret[x] = original;\n }\n })(x);\n }\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") {\n Fibers.trampoline();\n }\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject) => {\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0) => {\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) {\n return;\n }\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(() => _asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.resume();\n }\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) {\n throw asyncWasmReturnValue;\n }\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.pause();\n }\n runAndAbortIfError(() => _asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach(func => callUserCallback(func));\n } else {\n abort(\"invalid state: \" + Asyncify.state);\n }\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep(wakeUp => {\n startAsync().then(wakeUp);\n });\n }\n};\n\nfunction AsciiToString(ptr) {\n var str = \"\";\n while (1) {\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n}\n\nvar FSNode = function(parent, name, mode, rdev) {\n if (!parent) {\n parent = this;\n }\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n};\n\nvar readMode = 292 | 73;\n\nvar writeMode = 146;\n\nObject.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n});\n\nFS.FSNode = FSNode;\n\nFS.staticInit();\n\nvar wasmImports = {\n \"S\": __asyncjs__emglken_fill_stdin_buffer,\n \"k\": ___cxa_begin_catch,\n \"n\": ___cxa_end_catch,\n \"a\": ___cxa_find_matching_catch_2,\n \"d\": ___cxa_find_matching_catch_3,\n \"m\": ___cxa_find_matching_catch_4,\n \"s\": ___cxa_find_matching_catch_5,\n \"x\": ___cxa_find_matching_catch_6,\n \"ca\": ___cxa_find_matching_catch_7,\n \"K\": ___cxa_rethrow,\n \"o\": ___cxa_throw,\n \"ba\": ___cxa_uncaught_exceptions,\n \"g\": ___resumeException,\n \"aa\": ___syscall_faccessat,\n \"J\": ___syscall_fcntl64,\n \"$\": ___syscall_getcwd,\n \"_\": ___syscall_ioctl,\n \"Z\": ___syscall_openat,\n \"V\": __emscripten_get_now_is_monotonic,\n \"U\": __localtime_js,\n \"T\": __tzset_js,\n \"D\": _abort,\n \"B\": _emscripten_date_now,\n \"R\": _emscripten_memcpy_big,\n \"Q\": _emscripten_resize_heap,\n \"Y\": _environ_get,\n \"X\": _environ_sizes_get,\n \"C\": _exit,\n \"I\": _fd_close,\n \"W\": _fd_read,\n \"P\": _fd_seek,\n \"H\": _fd_write,\n \"G\": invoke_diii,\n \"F\": invoke_fiii,\n \"q\": invoke_i,\n \"b\": invoke_ii,\n \"c\": invoke_iii,\n \"e\": invoke_iiii,\n \"p\": invoke_iiiii,\n \"u\": invoke_iiiiii,\n \"w\": invoke_iiiiiii,\n \"E\": invoke_iiiiiiii,\n \"A\": invoke_iiiiiiiiiiii,\n \"O\": invoke_ji,\n \"N\": invoke_jiiii,\n \"h\": invoke_v,\n \"i\": invoke_vi,\n \"f\": invoke_vii,\n \"j\": invoke_viii,\n \"r\": invoke_viiii,\n \"t\": invoke_viiiii,\n \"v\": invoke_viiiiiii,\n \"y\": invoke_viiiiiiiiii,\n \"z\": invoke_viiiiiiiiiiiiiii,\n \"l\": _llvm_eh_typeid_for,\n \"M\": _strftime,\n \"L\": _strftime_l\n};\n\nvar asm = createWasm();\n\nvar ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"ea\"]).apply(null, arguments);\n};\n\nvar ___cxa_free_exception = function() {\n return (___cxa_free_exception = Module[\"asm\"][\"fa\"]).apply(null, arguments);\n};\n\nvar _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"ga\"]).apply(null, arguments);\n};\n\nvar ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"ha\"]).apply(null, arguments);\n};\n\nvar _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"ia\"]).apply(null, arguments);\n};\n\nvar _malloc = function() {\n return (_malloc = Module[\"asm\"][\"ja\"]).apply(null, arguments);\n};\n\nvar _free = function() {\n return (_free = Module[\"asm\"][\"ka\"]).apply(null, arguments);\n};\n\nvar _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"la\"]).apply(null, arguments);\n};\n\nvar ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"ma\"]).apply(null, arguments);\n};\n\nvar _setThrew = function() {\n return (_setThrew = Module[\"asm\"][\"oa\"]).apply(null, arguments);\n};\n\nvar setTempRet0 = function() {\n return (setTempRet0 = Module[\"asm\"][\"pa\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n};\n\nvar stackSave = function() {\n return (stackSave = Module[\"asm\"][\"qa\"]).apply(null, arguments);\n};\n\nvar stackRestore = function() {\n return (stackRestore = Module[\"asm\"][\"ra\"]).apply(null, arguments);\n};\n\nvar stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"sa\"]).apply(null, arguments);\n};\n\nvar ___cxa_can_catch = function() {\n return (___cxa_can_catch = Module[\"asm\"][\"ta\"]).apply(null, arguments);\n};\n\nvar ___cxa_is_pointer_type = function() {\n return (___cxa_is_pointer_type = Module[\"asm\"][\"ua\"]).apply(null, arguments);\n};\n\nvar dynCall_ii = Module[\"dynCall_ii\"] = function() {\n return (dynCall_ii = Module[\"dynCall_ii\"] = Module[\"asm\"][\"va\"]).apply(null, arguments);\n};\n\nvar dynCall_iiii = Module[\"dynCall_iiii\"] = function() {\n return (dynCall_iiii = Module[\"dynCall_iiii\"] = Module[\"asm\"][\"wa\"]).apply(null, arguments);\n};\n\nvar dynCall_viii = Module[\"dynCall_viii\"] = function() {\n return (dynCall_viii = Module[\"dynCall_viii\"] = Module[\"asm\"][\"xa\"]).apply(null, arguments);\n};\n\nvar dynCall_v = Module[\"dynCall_v\"] = function() {\n return (dynCall_v = Module[\"dynCall_v\"] = Module[\"asm\"][\"ya\"]).apply(null, arguments);\n};\n\nvar dynCall_vi = Module[\"dynCall_vi\"] = function() {\n return (dynCall_vi = Module[\"dynCall_vi\"] = Module[\"asm\"][\"za\"]).apply(null, arguments);\n};\n\nvar dynCall_iii = Module[\"dynCall_iii\"] = function() {\n return (dynCall_iii = Module[\"dynCall_iii\"] = Module[\"asm\"][\"Aa\"]).apply(null, arguments);\n};\n\nvar dynCall_vii = Module[\"dynCall_vii\"] = function() {\n return (dynCall_vii = Module[\"dynCall_vii\"] = Module[\"asm\"][\"Ba\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiii = Module[\"dynCall_iiiiii\"] = function() {\n return (dynCall_iiiiii = Module[\"dynCall_iiiiii\"] = Module[\"asm\"][\"Ca\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiii = Module[\"dynCall_iiiii\"] = function() {\n return (dynCall_iiiii = Module[\"dynCall_iiiii\"] = Module[\"asm\"][\"Da\"]).apply(null, arguments);\n};\n\nvar dynCall_i = Module[\"dynCall_i\"] = function() {\n return (dynCall_i = Module[\"dynCall_i\"] = Module[\"asm\"][\"Ea\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiii = Module[\"dynCall_iiiiiii\"] = function() {\n return (dynCall_iiiiiii = Module[\"dynCall_iiiiiii\"] = Module[\"asm\"][\"Fa\"]).apply(null, arguments);\n};\n\nvar dynCall_viiii = Module[\"dynCall_viiii\"] = function() {\n return (dynCall_viiii = Module[\"dynCall_viiii\"] = Module[\"asm\"][\"Ga\"]).apply(null, arguments);\n};\n\nvar dynCall_ji = Module[\"dynCall_ji\"] = function() {\n return (dynCall_ji = Module[\"dynCall_ji\"] = Module[\"asm\"][\"Ha\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiii = Module[\"dynCall_viiiii\"] = function() {\n return (dynCall_viiiii = Module[\"dynCall_viiiii\"] = Module[\"asm\"][\"Ia\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiii = Module[\"dynCall_iiiiiiii\"] = function() {\n return (dynCall_iiiiiiii = Module[\"dynCall_iiiiiiii\"] = Module[\"asm\"][\"Ja\"]).apply(null, arguments);\n};\n\nvar dynCall_jiiii = Module[\"dynCall_jiiii\"] = function() {\n return (dynCall_jiiii = Module[\"dynCall_jiiii\"] = Module[\"asm\"][\"Ka\"]).apply(null, arguments);\n};\n\nvar dynCall_fiii = Module[\"dynCall_fiii\"] = function() {\n return (dynCall_fiii = Module[\"dynCall_fiii\"] = Module[\"asm\"][\"La\"]).apply(null, arguments);\n};\n\nvar dynCall_diii = Module[\"dynCall_diii\"] = function() {\n return (dynCall_diii = Module[\"dynCall_diii\"] = Module[\"asm\"][\"Ma\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiiii = Module[\"dynCall_viiiiiii\"] = function() {\n return (dynCall_viiiiiii = Module[\"dynCall_viiiiiii\"] = Module[\"asm\"][\"Na\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiii\"] = Module[\"asm\"][\"Oa\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiiiiiii = Module[\"dynCall_viiiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiiii = Module[\"dynCall_viiiiiiiiii\"] = Module[\"asm\"][\"Pa\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiiiiiiiiiiii = Module[\"dynCall_viiiiiiiiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiiiiiiiii = Module[\"dynCall_viiiiiiiiiiiiiii\"] = Module[\"asm\"][\"Qa\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"Ra\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"Sa\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"Ta\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"Ua\"]).apply(null, arguments);\n};\n\nvar ___start_em_js = Module[\"___start_em_js\"] = 52440;\n\nvar ___stop_em_js = Module[\"___stop_em_js\"] = 55125;\n\nfunction invoke_ii(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ii(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_iiii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n dynCall_viii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_v(index) {\n var sp = stackSave();\n try {\n dynCall_v(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_vi(index, a1) {\n var sp = stackSave();\n try {\n dynCall_vi(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iii(index, a1, a2) {\n var sp = stackSave();\n try {\n return dynCall_iii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_vii(index, a1, a2) {\n var sp = stackSave();\n try {\n dynCall_vii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiii(index, a1, a2, a3, a4, a5) {\n var sp = stackSave();\n try {\n return dynCall_iiiiii(index, a1, a2, a3, a4, a5);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n return dynCall_iiiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiii(index, a1, a2, a3, a4, a5, a6);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n dynCall_viiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiii(index, a1, a2, a3, a4, a5) {\n var sp = stackSave();\n try {\n dynCall_viiiii(index, a1, a2, a3, a4, a5);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_fiii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_fiii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_diii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_diii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_i(index) {\n var sp = stackSave();\n try {\n return dynCall_i(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n var sp = stackSave();\n try {\n dynCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_ji(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ji(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_jiiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n return dynCall_jiiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nModule[\"AsciiToString\"] = AsciiToString;\n\nModule[\"FS\"] = FS;\n\nvar calledRun;\n\ndependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n};\n\nfunction callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach(arg => {\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n}\n\nfunction run(args = arguments_) {\n if (runDependencies > 0) {\n return;\n }\n preRun();\n if (runDependencies > 0) {\n return;\n }\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else {\n doRun();\n }\n}\n\nif (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [ Module[\"preInit\"] ];\n while (Module[\"preInit\"].length > 0) {\n Module[\"preInit\"].pop()();\n }\n}\n\nvar shouldRunNow = true;\n\nif (Module[\"noInitialRun\"]) shouldRunNow = false;\n\nrun();\n\n\n return Module.ready\n}\n\n);\n})();\nexport default Module;","module.exports = require('./helpers/bundle-url').getBundleURL('ejVIo') + require('./helpers/bundle-manifest').resolve(\"5EF4K\");","/*\n\nEmglken port of Git\n===================\n\nCopyright (c) 2020 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/\n\nimport EmglkenVM from './vm.js'\nimport GitCore from '../build/git-core.js'\n\nexport default class Git extends EmglkenVM\n{\n default_options()\n {\n return {\n vmcore: GitCore,\n }\n }\n}","\nvar Module = (() => {\n var _scriptDir = import.meta.url;\n \n return (\nfunction(Module = {}) {\n\nvar Module = typeof Module != \"undefined\" ? Module : {};\n\nvar readyPromiseResolve, readyPromiseReject;\n\nModule[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n});\n\nvar moduleOverrides = Object.assign({}, Module);\n\nvar arguments_ = [];\n\nvar thisProgram = \"./this.program\";\n\nvar quit_ = (status, toThrow) => {\n throw toThrow;\n};\n\nvar ENVIRONMENT_IS_WEB = true;\n\nvar ENVIRONMENT_IS_WORKER = false;\n\nvar scriptDirectory = \"\";\n\nfunction locateFile(path) {\n if (Module[\"locateFile\"]) {\n return Module[\"locateFile\"](path, scriptDirectory);\n }\n return scriptDirectory + path;\n}\n\nvar read_, readAsync, readBinary, setWindowTitle;\n\nif (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) {\n scriptDirectory = self.location.href;\n } else if (typeof document != \"undefined\" && document.currentScript) {\n scriptDirectory = document.currentScript.src;\n }\n if (_scriptDir) {\n scriptDirectory = _scriptDir;\n }\n if (scriptDirectory.indexOf(\"blob:\") !== 0) {\n scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n } else {\n scriptDirectory = \"\";\n }\n {\n read_ = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) {\n readBinary = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n }\n readAsync = (url, onload, onerror) => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = () => {\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n }\n setWindowTitle = title => document.title = title;\n} else {}\n\nvar out = Module[\"print\"] || console.log.bind(console);\n\nvar err = Module[\"printErr\"] || console.warn.bind(console);\n\nObject.assign(Module, moduleOverrides);\n\nmoduleOverrides = null;\n\nif (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n\nif (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n\nif (Module[\"quit\"]) quit_ = Module[\"quit\"];\n\nvar wasmBinary;\n\nif (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n\nvar noExitRuntime = Module[\"noExitRuntime\"] || false;\n\nif (typeof WebAssembly != \"object\") {\n abort(\"no native wasm support detected\");\n}\n\nvar wasmMemory;\n\nvar ABORT = false;\n\nvar EXITSTATUS;\n\nfunction assert(condition, text) {\n if (!condition) {\n abort(text);\n }\n}\n\nvar UTF8Decoder = new TextDecoder(\"utf8\");\n\nfunction UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n}\n\nfunction UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n}\n\nfunction stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for (var i = 0; i < str.length; ++i) {\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n}\n\nfunction stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n}\n\nfunction lengthBytesUTF8(str) {\n var len = 0;\n for (var i = 0; i < str.length; ++i) {\n var c = str.charCodeAt(i);\n if (c <= 127) {\n len++;\n } else if (c <= 2047) {\n len += 2;\n } else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else {\n len += 3;\n }\n }\n return len;\n}\n\nvar HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n\nfunction updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n}\n\nvar wasmTable;\n\nvar __ATPRERUN__ = [];\n\nvar __ATINIT__ = [];\n\nvar __ATMAIN__ = [];\n\nvar __ATEXIT__ = [];\n\nvar __ATPOSTRUN__ = [];\n\nvar runtimeInitialized = false;\n\nvar runtimeExited = false;\n\nvar runtimeKeepaliveCounter = 0;\n\nfunction keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n}\n\nfunction preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [ Module[\"preRun\"] ];\n while (Module[\"preRun\"].length) {\n addOnPreRun(Module[\"preRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPRERUN__);\n}\n\nfunction initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n}\n\nfunction preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n}\n\nfunction exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n}\n\nfunction postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [ Module[\"postRun\"] ];\n while (Module[\"postRun\"].length) {\n addOnPostRun(Module[\"postRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n}\n\nfunction addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n}\n\nfunction addOnInit(cb) {\n __ATINIT__.unshift(cb);\n}\n\nfunction addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n}\n\nvar runDependencies = 0;\n\nvar runDependencyWatcher = null;\n\nvar dependenciesFulfilled = null;\n\nfunction getUniqueRunDependency(id) {\n return id;\n}\n\nfunction addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n}\n\nfunction removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n}\n\nfunction abort(what) {\n if (Module[\"onAbort\"]) {\n Module[\"onAbort\"](what);\n }\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n}\n\nvar dataURIPrefix = \"data:application/octet-stream;base64,\";\n\nfunction isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n}\n\nvar wasmBinaryFile;\n\nif (Module[\"locateFile\"]) {\n wasmBinaryFile = \"git-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) {\n wasmBinaryFile = locateFile(wasmBinaryFile);\n }\n} else {\n wasmBinaryFile = new URL(\"git-core.wasm\", import.meta.url).href;\n}\n\nfunction getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) {\n return new Uint8Array(wasmBinary);\n }\n if (readBinary) {\n return readBinary(file);\n }\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n}\n\nfunction getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) {\n throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n }\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n}\n\nfunction instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n}\n\nfunction instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n } else {\n return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n}\n\nfunction createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"E\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"N\"];\n addOnInit(Module[\"asm\"][\"F\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) {\n try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n}\n\nvar tempDouble;\n\nvar tempI64;\n\nfunction emglken_common_buffer_transformer(buf, len, numchars, func, dont_reduce) {\n const index = buf >> 2;\n const utf32 = HEAPU32.subarray(index, index + numchars);\n const data = dont_reduce ? utf32 : utf32.reduce((prev, ch) => prev + String.fromCodePoint(ch), \"\");\n const new_str = func(data);\n const newbuf = Uint32Array.from(new_str, ch => ch.codePointAt(0));\n const newlen = newbuf.length;\n HEAPU32.set(newbuf.subarray(0, Math.min(len, newlen)), index);\n return newlen;\n}\n\nfunction glk_buffer_to_lower_case_uni(buf, len, numchars) {\n return emglken_common_buffer_transformer(buf, len, numchars, str => str.toLowerCase());\n}\n\nfunction glk_buffer_to_upper_case_uni(buf, len, numchars) {\n return emglken_common_buffer_transformer(buf, len, numchars, str => str.toUpperCase());\n}\n\nfunction glk_buffer_to_title_case_uni(buf, len, numchars, lowerrest) {\n return emglken_common_buffer_transformer(buf, len, numchars, utf32 => utf32.reduce((prev, ch, index) => {\n const special_cases = {\n \"ß\": \"Ss\",\n \"DŽ\": \"Dž\",\n \"Dž\": \"Dž\",\n \"dž\": \"Dž\",\n \"LJ\": \"Lj\",\n \"Lj\": \"Lj\",\n \"lj\": \"Lj\",\n \"NJ\": \"Nj\",\n \"Nj\": \"Nj\",\n \"nj\": \"Nj\",\n \"DZ\": \"Dz\",\n \"Dz\": \"Dz\",\n \"dz\": \"Dz\",\n \"և\": \"Եւ\",\n \"ᾲ\": \"Ὰͅ\",\n \"ᾳ\": \"ᾼ\",\n \"ᾴ\": \"Άͅ\",\n \"ᾷ\": \"ᾼ͂\",\n \"ᾼ\": \"ᾼ\",\n \"ῂ\": \"Ὴͅ\",\n \"ῃ\": \"ῌ\",\n \"ῄ\": \"Ήͅ\",\n \"ῇ\": \"ῌ͂\",\n \"ῌ\": \"ῌ\",\n \"ῲ\": \"Ὼͅ\",\n \"ῳ\": \"ῼ\",\n \"ῴ\": \"Ώͅ\",\n \"ῷ\": \"ῼ͂\",\n \"ῼ\": \"ῼ\",\n \"ff\": \"Ff\",\n \"fi\": \"Fi\",\n \"fl\": \"Fl\",\n \"ffi\": \"Ffi\",\n \"ffl\": \"Ffl\",\n \"ſt\": \"St\",\n \"st\": \"St\",\n \"ﬓ\": \"Մն\",\n \"ﬔ\": \"Մե\",\n \"ﬕ\": \"Մի\",\n \"ﬖ\": \"Վն\",\n \"ﬗ\": \"Մխ\"\n };\n const slightly_less_special_cases = [ \"ᾈᾉᾊᾋᾌᾍᾎᾏ\", \"ᾘᾙᾚᾛᾜᾝᾞᾟ\", \"ᾨᾩᾪᾫᾬᾭᾮᾯ\" ];\n let thischar = String.fromCodePoint(ch);\n if (index === 0) {\n if (special_cases[thischar]) {\n thischar = special_cases[thischar];\n } else if (ch >= 8064 && ch < 8112) {\n thischar = slightly_less_special_cases[(ch - 8064) / 16 | 0][ch % 8];\n } else {\n thischar = thischar.toUpperCase();\n }\n } else if (lowerrest) {\n thischar = thischar.toLowerCase();\n }\n return prev + thischar;\n }, \"\"), 1);\n}\n\nfunction glk_buffer_canon_decompose_uni(buf, len, numchars) {\n return emglken_common_buffer_transformer(buf, len, numchars, str => str.normalize(\"NFD\"));\n}\n\nfunction glk_buffer_canon_normalize_uni(buf, len, numchars) {\n return emglken_common_buffer_transformer(buf, len, numchars, str => str.normalize(\"NFC\"));\n}\n\nfunction __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async () => {\n if (!Module.emglken_stdin_buffers.length) {\n await new Promise(resolve => {\n Module.emglken_stdin_ready = resolve;\n });\n }\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) {\n HEAPU8.set(input, buffer);\n } else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n}\n\nfunction ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n}\n\nfunction callRuntimeCallbacks(callbacks) {\n while (callbacks.length > 0) {\n callbacks.shift()(Module);\n }\n}\n\nvar PATH = {\n isAbs: path => path.charAt(0) === \"/\",\n splitPath: filename => {\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot) => {\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === \".\") {\n parts.splice(i, 1);\n } else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) {\n for (;up; up--) {\n parts.unshift(\"..\");\n }\n }\n return parts;\n },\n normalize: path => {\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter(p => !!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) {\n path = \".\";\n }\n if (path && trailingSlash) {\n path += \"/\";\n }\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: path => {\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) {\n return \".\";\n }\n if (dir) {\n dir = dir.substr(0, dir.length - 1);\n }\n return root + dir;\n },\n basename: path => {\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r) => {\n return PATH.normalize(l + \"/\" + r);\n }\n};\n\nfunction getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return () => {\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return () => abort(\"randomDevice\");\n}\n\nvar PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") {\n throw new TypeError(\"Arguments to path.resolve must be strings\");\n } else if (!path) {\n return \"\";\n }\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter(p => !!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to) => {\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for (;start < arr.length; start++) {\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for (;end >= 0; end--) {\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push(\"..\");\n }\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n};\n\nfunction intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n}\n\nvar TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) {\n throw new FS.ErrnoError(43);\n }\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) {\n throw new FS.ErrnoError(60);\n }\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) {\n throw new FS.ErrnoError(60);\n }\n try {\n for (var i = 0; i < length; i++) {\n stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n }\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) {\n result += \"\\n\";\n }\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) {\n result += \"\\n\";\n }\n }\n if (!result) {\n return null;\n }\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n};\n\nfunction mmapAlloc(size) {\n abort();\n}\n\nvar MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16384 | 511, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {\n throw new FS.ErrnoError(63);\n }\n if (!MEMFS.ops_table) {\n MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n }\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1024 * 1024;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) {\n node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n }\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) {\n attr.size = 4096;\n } else if (FS.isFile(node.mode)) {\n attr.size = node.usedBytes;\n } else if (FS.isLink(node.mode)) {\n attr.size = node.link.length;\n } else {\n attr.size = 0;\n }\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) {\n node.mode = attr.mode;\n }\n if (attr.timestamp !== undefined) {\n node.timestamp = attr.timestamp;\n }\n if (attr.size !== undefined) {\n MEMFS.resizeFileStorage(node, attr.size);\n }\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for (var i in new_node.contents) {\n throw new FS.ErrnoError(55);\n }\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for (var i in node.contents) {\n throw new FS.ErrnoError(55);\n }\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [ \".\", \"..\" ];\n for (var key in node.contents) {\n if (!node.contents.hasOwnProperty(key)) {\n continue;\n }\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) {\n buffer.set(contents.subarray(position, position + size), offset);\n } else {\n for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];\n }\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) {\n canOwn = false;\n }\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n } else {\n for (var i = 0; i < length; i++) {\n node.contents[position + i] = buffer[offset + i];\n }\n }\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) {\n position += stream.position;\n } else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) {\n position += stream.node.usedBytes;\n }\n }\n if (position < 0) {\n throw new FS.ErrnoError(28);\n }\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) {\n contents = contents.subarray(position, position + length);\n } else {\n contents = Array.prototype.slice.call(contents, position, position + length);\n }\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n};\n\nfunction asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, arrayBuffer => {\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, event => {\n if (onerror) {\n onerror();\n } else {\n throw 'Loading data file \"' + url + '\" failed.';\n }\n });\n if (dep) addRunDependency(dep);\n}\n\nvar FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {}) => {\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) {\n throw new FS.ErrnoError(32);\n }\n var parts = path.split(\"/\").filter(p => !!p);\n var current = FS.root;\n var current_path = \"/\";\n for (var i = 0; i < parts.length; i++) {\n var islast = i === parts.length - 1;\n if (islast && opts.parent) {\n break;\n }\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) {\n current = current.mounted.root;\n }\n }\n if (!islast || opts.follow) {\n var count = 0;\n while (FS.isLink(current.mode)) {\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) {\n throw new FS.ErrnoError(32);\n }\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: node => {\n var path;\n while (true) {\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name) => {\n var hash = 0;\n for (var i = 0; i < name.length; i++) {\n hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n }\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) {\n FS.nameTable[hash] = node.name_next;\n } else {\n var current = FS.nameTable[hash];\n while (current) {\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name) => {\n var errCode = FS.mayLookup(parent);\n if (errCode) {\n throw new FS.ErrnoError(errCode, parent);\n }\n var hash = FS.hashName(parent.id, name);\n for (var node = FS.nameTable[hash]; node; node = node.name_next) {\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) {\n return node;\n }\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev) => {\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: node => {\n FS.hashRemoveNode(node);\n },\n isRoot: node => {\n return node === node.parent;\n },\n isMountpoint: node => {\n return !!node.mounted;\n },\n isFile: mode => {\n return (mode & 61440) === 32768;\n },\n isDir: mode => {\n return (mode & 61440) === 16384;\n },\n isLink: mode => {\n return (mode & 61440) === 40960;\n },\n isChrdev: mode => {\n return (mode & 61440) === 8192;\n },\n isBlkdev: mode => {\n return (mode & 61440) === 24576;\n },\n isFIFO: mode => {\n return (mode & 61440) === 4096;\n },\n isSocket: mode => {\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: str => {\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") {\n throw new Error(\"Unknown file open mode: \" + str);\n }\n return flags;\n },\n flagsToPermissionString: flag => {\n var perms = [ \"r\", \"w\", \"rw\" ][flag & 3];\n if (flag & 512) {\n perms += \"w\";\n }\n return perms;\n },\n nodePermissions: (node, perms) => {\n if (FS.ignorePermissions) {\n return 0;\n }\n if (perms.includes(\"r\") && !(node.mode & 292)) {\n return 2;\n } else if (perms.includes(\"w\") && !(node.mode & 146)) {\n return 2;\n } else if (perms.includes(\"x\") && !(node.mode & 73)) {\n return 2;\n }\n return 0;\n },\n mayLookup: dir => {\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name) => {\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir) => {\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) {\n return errCode;\n }\n if (isdir) {\n if (!FS.isDir(node.mode)) {\n return 54;\n }\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {\n return 10;\n }\n } else {\n if (FS.isDir(node.mode)) {\n return 31;\n }\n }\n return 0;\n },\n mayOpen: (node, flags) => {\n if (!node) {\n return 44;\n }\n if (FS.isLink(node.mode)) {\n return 32;\n } else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) {\n return 31;\n }\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => {\n for (var fd = fd_start; fd <= fd_end; fd++) {\n if (!FS.streams[fd]) {\n return fd;\n }\n }\n throw new FS.ErrnoError(33);\n },\n getStream: fd => FS.streams[fd],\n createStream: (stream, fd_start, fd_end) => {\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: fd => {\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: stream => {\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n },\n llseek: () => {\n throw new FS.ErrnoError(70);\n }\n },\n major: dev => dev >> 8,\n minor: dev => dev & 255,\n makedev: (ma, mi) => ma << 8 | mi,\n registerDevice: (dev, ops) => {\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: dev => FS.devices[dev],\n getMounts: mount => {\n var mounts = [];\n var check = [ mount ];\n while (check.length) {\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback) => {\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) {\n err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n }\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) {\n doCallback(null);\n }\n }\n mounts.forEach(mount => {\n if (!mount.type.syncfs) {\n return done(null);\n }\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint) => {\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) {\n throw new FS.ErrnoError(10);\n } else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n if (!FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) {\n FS.root = mountRoot;\n } else if (node) {\n node.mounted = mount;\n if (node.mount) {\n node.mount.mounts.push(mount);\n }\n }\n return mountRoot;\n },\n unmount: mountpoint => {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) {\n throw new FS.ErrnoError(28);\n }\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach(hash => {\n var current = FS.nameTable[hash];\n while (current) {\n var next = current.name_next;\n if (mounts.includes(current.mount)) {\n FS.destroyNode(current);\n }\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name) => {\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev) => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.mayCreate(parent, name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.mknod) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode) => {\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode) => {\n mode = mode !== undefined ? mode : 511;\n mode &= 511 | 512;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode) => {\n var dirs = path.split(\"/\");\n var d = \"\";\n for (var i = 0; i < dirs.length; ++i) {\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev) => {\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath) => {\n if (!PATH_FS.resolve(oldpath)) {\n throw new FS.ErrnoError(44);\n }\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.symlink) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path) => {\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) {\n throw new FS.ErrnoError(75);\n }\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(28);\n }\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(55);\n }\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) {\n return;\n }\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!old_dir.node_ops.rename) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {\n throw new FS.ErrnoError(10);\n }\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally {\n FS.hashAddNode(old_node);\n }\n },\n rmdir: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.rmdir) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) {\n throw new FS.ErrnoError(54);\n }\n return node.node_ops.readdir(node);\n },\n unlink: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.unlink) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: path => {\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) {\n throw new FS.ErrnoError(44);\n }\n if (!link.node_ops.readlink) {\n throw new FS.ErrnoError(28);\n }\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow) => {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (!node.node_ops.getattr) {\n throw new FS.ErrnoError(63);\n }\n return node.node_ops.getattr(node);\n },\n lstat: path => {\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & ~4095,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode) => {\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid) => {\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len) => {\n if (len < 0) {\n throw new FS.ErrnoError(28);\n }\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isDir(node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!FS.isFile(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(28);\n }\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime) => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode) => {\n if (path === \"\") {\n throw new FS.ErrnoError(44);\n }\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) {\n mode = mode & 4095 | 32768;\n } else {\n mode = 0;\n }\n var node;\n if (typeof path == \"object\") {\n node = path;\n } else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) {\n throw new FS.ErrnoError(20);\n }\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (FS.isChrdev(node.mode)) {\n flags &= ~512;\n }\n if (flags & 65536 && !FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n if (flags & 512 && !created) {\n FS.truncate(node, 0);\n }\n flags &= ~(128 | 512 | 131072);\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) {\n FS.readFiles[path] = 1;\n }\n }\n return stream;\n },\n close: stream => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) {\n stream.stream_ops.close(stream);\n }\n } catch (e) {\n throw e;\n } finally {\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: stream => {\n return stream.fd === null;\n },\n llseek: (stream, offset, whence) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (!stream.seekable || !stream.stream_ops.llseek) {\n throw new FS.ErrnoError(70);\n }\n if (whence != 0 && whence != 1 && whence != 2) {\n throw new FS.ErrnoError(28);\n }\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.read) {\n throw new FS.ErrnoError(28);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.write) {\n throw new FS.ErrnoError(28);\n }\n if (stream.seekable && stream.flags & 1024) {\n FS.llseek(stream, 0, 2);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (offset < 0 || length <= 0) {\n throw new FS.ErrnoError(28);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (!stream.stream_ops.allocate) {\n throw new FS.ErrnoError(138);\n }\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags) => {\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {\n throw new FS.ErrnoError(2);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(2);\n }\n if (!stream.stream_ops.mmap) {\n throw new FS.ErrnoError(43);\n }\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags) => {\n if (!stream.stream_ops.msync) {\n return 0;\n }\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: stream => 0,\n ioctl: (stream, cmd, arg) => {\n if (!stream.stream_ops.ioctl) {\n throw new FS.ErrnoError(59);\n }\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {}) => {\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") {\n throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n }\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") {\n ret = UTF8ArrayToString(buf, 0);\n } else if (opts.encoding === \"binary\") {\n ret = buf;\n }\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {}) => {\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) {\n FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n } else {\n throw new Error(\"Unsupported data type\");\n }\n FS.close(stream);\n },\n cwd: () => FS.currentPath,\n chdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) {\n throw new FS.ErrnoError(44);\n }\n if (!FS.isDir(lookup.node.mode)) {\n throw new FS.ErrnoError(54);\n }\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: () => {\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: () => {\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: () => 0,\n write: (stream, buffer, offset, length, pos) => length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: () => {\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: () => {\n var node = FS.createNode(proc_self, \"fd\", 16384 | 511, 73);\n node.node_ops = {\n lookup: (parent, name) => {\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: () => stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: () => {\n if (Module[\"stdin\"]) {\n FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n }\n if (Module[\"stdout\"]) {\n FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n }\n if (Module[\"stderr\"]) {\n FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n } else {\n FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n }\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: () => {\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [ 44 ].forEach(code => {\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: () => {\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error) => {\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: () => {\n FS.init.initialized = false;\n _fflush(0);\n for (var i = 0; i < FS.streams.length; i++) {\n var stream = FS.streams[i];\n if (!stream) {\n continue;\n }\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite) => {\n var mode = 0;\n if (canRead) mode |= 292 | 73;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink) => {\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) {\n return null;\n }\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink) => {\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite) => {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while (parts.length) {\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn) => {\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: stream => {\n stream.seekable = false;\n },\n close: stream => {\n if (output && output.buffer && output.buffer.length) {\n output(10);\n }\n },\n read: (stream, buffer, offset, length, pos) => {\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos) => {\n for (var i = 0; i < length; i++) {\n try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: obj => {\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n if (typeof XMLHttpRequest != \"undefined\") {\n 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.\");\n } else if (read_) {\n try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n } else {\n throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n }\n },\n createLazyFile: (parent, name, url, canRead, canWrite) => {\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) {\n return undefined;\n }\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1024 * 1024;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to) => {\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n }\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) {\n return new Uint8Array(xhr.response || []);\n }\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter(chunkNum => {\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") {\n lazyArray.chunks[chunkNum] = doXHR(start, end);\n }\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else {\n var properties = {\n isDevice: false,\n url: url\n };\n }\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) {\n node.contents = properties.contents;\n } else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach(key => {\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents[position + i];\n }\n } else {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents.get(position + i);\n }\n }\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position) => {\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags) => {\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => {\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) {\n FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n }\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => {\n if (onerror) onerror();\n removeRunDependency(dep);\n })) {\n return;\n }\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") {\n asyncLoad(url, byteArray => processData(byteArray), onerror);\n } else {\n processData(url);\n }\n },\n indexedDB: () => {\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: () => {\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = () => {\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = () => {\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n try {\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var getRequest = files.get(path);\n getRequest.onsuccess = () => {\n if (FS.analyzePath(path).exists) {\n FS.unlink(path);\n }\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n};\n\nvar SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) {\n return path;\n }\n var dir;\n if (dirfd === -100) {\n dir = FS.cwd();\n } else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) {\n throw new FS.ErrnoError(44);\n }\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {\n return -54;\n }\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n 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) ], \n HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n 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) ], \n HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (flags & 2) {\n return 0;\n }\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n};\n\nfunction ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & ~7) {\n return -28;\n }\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) {\n return -44;\n }\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) {\n return -2;\n }\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n}\n\nfunction ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (cmd) {\n case 0:\n {\n var arg = SYSCALLS.get();\n if (arg < 0) {\n return -28;\n }\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n }\n\n case 1:\n case 2:\n return 0;\n\n case 3:\n return stream.flags;\n\n case 4:\n {\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n }\n\n case 5:\n {\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n }\n\n case 6:\n case 7:\n return 0;\n\n case 16:\n case 8:\n return -28;\n\n case 9:\n setErrNo(28);\n return -1;\n\n default:\n {\n return -28;\n }\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (op) {\n case 21509:\n case 21505:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21519:\n {\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n }\n\n case 21520:\n {\n if (!stream.tty) return -59;\n return -28;\n }\n\n case 21531:\n {\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n }\n\n case 21523:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21524:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_stat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_unlinkat(dirfd, path, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (flags === 0) {\n FS.unlink(path);\n } else if (flags === 512) {\n FS.rmdir(path);\n } else {\n abort(\"Invalid flags passed to unlinkat\");\n }\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nvar nowIsMonotonic = true;\n\nfunction __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n}\n\nfunction __emscripten_throw_longjmp() {\n throw Infinity;\n}\n\nfunction readI53FromI64(ptr) {\n return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296;\n}\n\nfunction __gmtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getUTCSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getUTCHours();\n HEAP32[tmPtr + 12 >> 2] = date.getUTCDate();\n HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();\n var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);\n var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n}\n\nfunction __isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nvar __MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ];\n\nvar __MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ];\n\nfunction __yday_from_date(date) {\n var isLeapYear = __isLeapYear(date.getFullYear());\n var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday;\n}\n\nfunction __localtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n HEAP32[tmPtr + 32 >> 2] = dst;\n}\n\nfunction __mktime_js(tmPtr) {\n 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);\n var dst = HEAP32[tmPtr + 32 >> 2];\n var guessedOffset = date.getTimezoneOffset();\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dstOffset = Math.min(winterOffset, summerOffset);\n if (dst < 0) {\n HEAP32[tmPtr + 32 >> 2] = Number(summerOffset != winterOffset && dstOffset == guessedOffset);\n } else if (dst > 0 != (dstOffset == guessedOffset)) {\n var nonDstOffset = Math.max(winterOffset, summerOffset);\n var trueOffset = dst > 0 ? dstOffset : nonDstOffset;\n date.setTime(date.getTime() + (trueOffset - guessedOffset) * 6e4);\n }\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getYear();\n return date.getTime() / 1e3 | 0;\n}\n\nfunction __timegm_js(tmPtr) {\n 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);\n var date = new Date(time);\n HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();\n var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);\n var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n return date.getTime() / 1e3 | 0;\n}\n\nfunction allocateUTF8(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = _malloc(size);\n if (ret) stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction __tzset_js(timezone, daylight, tzname) {\n var currentYear = new Date().getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;\n HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);\n function extractZone(date) {\n var match = date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return match ? match[1] : \"GMT\";\n }\n var winterName = extractZone(winter);\n var summerName = extractZone(summer);\n var winterNamePtr = allocateUTF8(winterName);\n var summerNamePtr = allocateUTF8(summerName);\n if (summerOffset < winterOffset) {\n HEAPU32[tzname >> 2] = winterNamePtr;\n HEAPU32[tzname + 4 >> 2] = summerNamePtr;\n } else {\n HEAPU32[tzname >> 2] = summerNamePtr;\n HEAPU32[tzname + 4 >> 2] = winterNamePtr;\n }\n}\n\nfunction _emscripten_date_now() {\n return Date.now();\n}\n\nvar _emscripten_get_now;\n\n_emscripten_get_now = () => performance.now();\n\nfunction _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\n\nfunction emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n}\n\nfunction _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) {\n return false;\n }\n let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\n for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) {\n return true;\n }\n }\n return false;\n}\n\nfunction _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n}\n\nfunction exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) {\n exitRuntime();\n }\n _proc_exit(status);\n}\n\nvar _exit = exitJS;\n\nfunction _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n}\n\nfunction _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n 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) ], \n HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") {\n return EXITSTATUS;\n }\n quit_(1, e);\n}\n\nfunction allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n}\n\nfunction maybeExit() {\n if (!keepRuntimeAlive()) {\n try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n}\n\nfunction callUserCallback(func) {\n if (runtimeExited || ABORT) {\n return;\n }\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n}\n\nfunction runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n}\n\nfunction runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n}\n\nvar Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [ \"emscripten_sleep\", \"emscripten_wget\", \"emscripten_wget_data\", \"emscripten_idb_load\", \"emscripten_idb_store\", \"emscripten_idb_delete\", \"emscripten_idb_exists\", \"emscripten_idb_load_blob\", \"emscripten_idb_store_blob\", \"SDL_Delay\", \"emscripten_scan_registers\", \"emscripten_lazy_load_code\", \"emscripten_fiber_swap\", \"__load_secondary_module\", \"fd_sync\", \"__wasi_fd_sync\", \"_emval_await\", \"_dlopen_js\", \"__asyncjs__*\" ];\n for (var x in imports) {\n (function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") {\n var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n }\n })(x);\n }\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for (var x in exports) {\n (function(x) {\n var original = exports[x];\n if (typeof original == \"function\") {\n ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally {\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n } else {\n ret[x] = original;\n }\n })(x);\n }\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") {\n Fibers.trampoline();\n }\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject) => {\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0) => {\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) {\n return;\n }\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(() => _asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.resume();\n }\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) {\n throw asyncWasmReturnValue;\n }\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.pause();\n }\n runAndAbortIfError(() => _asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach(func => callUserCallback(func));\n } else {\n abort(\"invalid state: \" + Asyncify.state);\n }\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep(wakeUp => {\n startAsync().then(wakeUp);\n });\n }\n};\n\nfunction AsciiToString(ptr) {\n var str = \"\";\n while (1) {\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n}\n\nvar FSNode = function(parent, name, mode, rdev) {\n if (!parent) {\n parent = this;\n }\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n};\n\nvar readMode = 292 | 73;\n\nvar writeMode = 146;\n\nObject.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n});\n\nFS.FSNode = FSNode;\n\nFS.staticInit();\n\nvar wasmImports = {\n \"q\": __asyncjs__emglken_fill_stdin_buffer,\n \"D\": ___syscall_faccessat,\n \"l\": ___syscall_fcntl64,\n \"C\": ___syscall_getcwd,\n \"B\": ___syscall_ioctl,\n \"k\": ___syscall_openat,\n \"A\": ___syscall_stat64,\n \"z\": ___syscall_unlinkat,\n \"x\": __emscripten_get_now_is_monotonic,\n \"w\": __emscripten_throw_longjmp,\n \"v\": __gmtime_js,\n \"u\": __localtime_js,\n \"t\": __mktime_js,\n \"s\": __timegm_js,\n \"r\": __tzset_js,\n \"i\": _emscripten_date_now,\n \"p\": _emscripten_memcpy_big,\n \"o\": _emscripten_resize_heap,\n \"a\": _exit,\n \"c\": _fd_close,\n \"y\": _fd_read,\n \"m\": _fd_seek,\n \"j\": _fd_write,\n \"h\": glk_buffer_canon_decompose_uni,\n \"g\": glk_buffer_canon_normalize_uni,\n \"f\": glk_buffer_to_lower_case_uni,\n \"e\": glk_buffer_to_title_case_uni,\n \"d\": glk_buffer_to_upper_case_uni,\n \"n\": invoke_vi,\n \"b\": invoke_vii\n};\n\nvar asm = createWasm();\n\nvar ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"F\"]).apply(null, arguments);\n};\n\nvar _malloc = function() {\n return (_malloc = Module[\"asm\"][\"G\"]).apply(null, arguments);\n};\n\nvar _free = function() {\n return (_free = Module[\"asm\"][\"H\"]).apply(null, arguments);\n};\n\nvar _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"I\"]).apply(null, arguments);\n};\n\nvar _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"J\"]).apply(null, arguments);\n};\n\nvar _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"K\"]).apply(null, arguments);\n};\n\nvar ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"L\"]).apply(null, arguments);\n};\n\nvar ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"M\"]).apply(null, arguments);\n};\n\nvar _setThrew = function() {\n return (_setThrew = Module[\"asm\"][\"O\"]).apply(null, arguments);\n};\n\nvar _saveSetjmp = function() {\n return (_saveSetjmp = Module[\"asm\"][\"saveSetjmp\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n};\n\nvar stackSave = function() {\n return (stackSave = Module[\"asm\"][\"P\"]).apply(null, arguments);\n};\n\nvar stackRestore = function() {\n return (stackRestore = Module[\"asm\"][\"Q\"]).apply(null, arguments);\n};\n\nvar stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"R\"]).apply(null, arguments);\n};\n\nvar dynCall_vii = Module[\"dynCall_vii\"] = function() {\n return (dynCall_vii = Module[\"dynCall_vii\"] = Module[\"asm\"][\"S\"]).apply(null, arguments);\n};\n\nvar dynCall_vi = Module[\"dynCall_vi\"] = function() {\n return (dynCall_vi = Module[\"dynCall_vi\"] = Module[\"asm\"][\"T\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"U\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"V\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"W\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"X\"]).apply(null, arguments);\n};\n\nvar ___start_em_js = Module[\"___start_em_js\"] = 33568;\n\nvar ___stop_em_js = Module[\"___stop_em_js\"] = 36253;\n\nfunction invoke_vii(index, a1, a2) {\n var sp = stackSave();\n try {\n dynCall_vii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_vi(index, a1) {\n var sp = stackSave();\n try {\n dynCall_vi(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nModule[\"AsciiToString\"] = AsciiToString;\n\nModule[\"FS\"] = FS;\n\nvar calledRun;\n\ndependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n};\n\nfunction callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach(arg => {\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n}\n\nfunction run(args = arguments_) {\n if (runDependencies > 0) {\n return;\n }\n preRun();\n if (runDependencies > 0) {\n return;\n }\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else {\n doRun();\n }\n}\n\nif (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [ Module[\"preInit\"] ];\n while (Module[\"preInit\"].length > 0) {\n Module[\"preInit\"].pop()();\n }\n}\n\nvar shouldRunNow = true;\n\nif (Module[\"noInitialRun\"]) shouldRunNow = false;\n\nrun();\n\n\n return Module.ready\n}\n\n);\n})();\nexport default Module;","module.exports = require('./helpers/bundle-url').getBundleURL('ejVIo') + require('./helpers/bundle-manifest').resolve(\"9Qh6d\");","/*\n\nEmglken port of Hugo\n====================\n\nCopyright (c) 2020 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/\n\nimport EmglkenVM from './vm.js'\nimport HugoCore from '../build/hugo-core.js'\n\nexport default class Hugo extends EmglkenVM\n{\n default_options()\n {\n return {\n vmcore: HugoCore,\n }\n }\n}","\nvar Module = (() => {\n var _scriptDir = import.meta.url;\n \n return (\nfunction(Module = {}) {\n\nvar Module = typeof Module != \"undefined\" ? Module : {};\n\nvar readyPromiseResolve, readyPromiseReject;\n\nModule[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n});\n\nvar moduleOverrides = Object.assign({}, Module);\n\nvar arguments_ = [];\n\nvar thisProgram = \"./this.program\";\n\nvar quit_ = (status, toThrow) => {\n throw toThrow;\n};\n\nvar ENVIRONMENT_IS_WEB = true;\n\nvar ENVIRONMENT_IS_WORKER = false;\n\nvar scriptDirectory = \"\";\n\nfunction locateFile(path) {\n if (Module[\"locateFile\"]) {\n return Module[\"locateFile\"](path, scriptDirectory);\n }\n return scriptDirectory + path;\n}\n\nvar read_, readAsync, readBinary, setWindowTitle;\n\nif (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) {\n scriptDirectory = self.location.href;\n } else if (typeof document != \"undefined\" && document.currentScript) {\n scriptDirectory = document.currentScript.src;\n }\n if (_scriptDir) {\n scriptDirectory = _scriptDir;\n }\n if (scriptDirectory.indexOf(\"blob:\") !== 0) {\n scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n } else {\n scriptDirectory = \"\";\n }\n {\n read_ = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) {\n readBinary = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n }\n readAsync = (url, onload, onerror) => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = () => {\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n }\n setWindowTitle = title => document.title = title;\n} else {}\n\nvar out = Module[\"print\"] || console.log.bind(console);\n\nvar err = Module[\"printErr\"] || console.warn.bind(console);\n\nObject.assign(Module, moduleOverrides);\n\nmoduleOverrides = null;\n\nif (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n\nif (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n\nif (Module[\"quit\"]) quit_ = Module[\"quit\"];\n\nvar wasmBinary;\n\nif (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n\nvar noExitRuntime = Module[\"noExitRuntime\"] || false;\n\nif (typeof WebAssembly != \"object\") {\n abort(\"no native wasm support detected\");\n}\n\nvar wasmMemory;\n\nvar ABORT = false;\n\nvar EXITSTATUS;\n\nfunction assert(condition, text) {\n if (!condition) {\n abort(text);\n }\n}\n\nvar UTF8Decoder = new TextDecoder(\"utf8\");\n\nfunction UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n}\n\nfunction UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n}\n\nfunction stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for (var i = 0; i < str.length; ++i) {\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n}\n\nfunction stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n}\n\nfunction lengthBytesUTF8(str) {\n var len = 0;\n for (var i = 0; i < str.length; ++i) {\n var c = str.charCodeAt(i);\n if (c <= 127) {\n len++;\n } else if (c <= 2047) {\n len += 2;\n } else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else {\n len += 3;\n }\n }\n return len;\n}\n\nvar HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n\nfunction updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n}\n\nvar wasmTable;\n\nvar __ATPRERUN__ = [];\n\nvar __ATINIT__ = [];\n\nvar __ATMAIN__ = [];\n\nvar __ATEXIT__ = [];\n\nvar __ATPOSTRUN__ = [];\n\nvar runtimeInitialized = false;\n\nvar runtimeExited = false;\n\nvar runtimeKeepaliveCounter = 0;\n\nfunction keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n}\n\nfunction preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [ Module[\"preRun\"] ];\n while (Module[\"preRun\"].length) {\n addOnPreRun(Module[\"preRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPRERUN__);\n}\n\nfunction initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n}\n\nfunction preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n}\n\nfunction exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n}\n\nfunction postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [ Module[\"postRun\"] ];\n while (Module[\"postRun\"].length) {\n addOnPostRun(Module[\"postRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n}\n\nfunction addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n}\n\nfunction addOnInit(cb) {\n __ATINIT__.unshift(cb);\n}\n\nfunction addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n}\n\nvar runDependencies = 0;\n\nvar runDependencyWatcher = null;\n\nvar dependenciesFulfilled = null;\n\nfunction getUniqueRunDependency(id) {\n return id;\n}\n\nfunction addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n}\n\nfunction removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n}\n\nfunction abort(what) {\n if (Module[\"onAbort\"]) {\n Module[\"onAbort\"](what);\n }\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n}\n\nvar dataURIPrefix = \"data:application/octet-stream;base64,\";\n\nfunction isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n}\n\nvar wasmBinaryFile;\n\nif (Module[\"locateFile\"]) {\n wasmBinaryFile = \"hugo-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) {\n wasmBinaryFile = locateFile(wasmBinaryFile);\n }\n} else {\n wasmBinaryFile = new URL(\"hugo-core.wasm\", import.meta.url).href;\n}\n\nfunction getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) {\n return new Uint8Array(wasmBinary);\n }\n if (readBinary) {\n return readBinary(file);\n }\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n}\n\nfunction getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) {\n throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n }\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n}\n\nfunction instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n}\n\nfunction instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n } else {\n return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n}\n\nfunction createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"t\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"C\"];\n addOnInit(Module[\"asm\"][\"u\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) {\n try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n}\n\nvar tempDouble;\n\nvar tempI64;\n\nfunction __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async () => {\n if (!Module.emglken_stdin_buffers.length) {\n await new Promise(resolve => {\n Module.emglken_stdin_ready = resolve;\n });\n }\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) {\n HEAPU8.set(input, buffer);\n } else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n}\n\nfunction ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n}\n\nfunction callRuntimeCallbacks(callbacks) {\n while (callbacks.length > 0) {\n callbacks.shift()(Module);\n }\n}\n\nvar PATH = {\n isAbs: path => path.charAt(0) === \"/\",\n splitPath: filename => {\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot) => {\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === \".\") {\n parts.splice(i, 1);\n } else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) {\n for (;up; up--) {\n parts.unshift(\"..\");\n }\n }\n return parts;\n },\n normalize: path => {\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter(p => !!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) {\n path = \".\";\n }\n if (path && trailingSlash) {\n path += \"/\";\n }\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: path => {\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) {\n return \".\";\n }\n if (dir) {\n dir = dir.substr(0, dir.length - 1);\n }\n return root + dir;\n },\n basename: path => {\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r) => {\n return PATH.normalize(l + \"/\" + r);\n }\n};\n\nfunction getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return () => {\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return () => abort(\"randomDevice\");\n}\n\nvar PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") {\n throw new TypeError(\"Arguments to path.resolve must be strings\");\n } else if (!path) {\n return \"\";\n }\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter(p => !!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to) => {\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for (;start < arr.length; start++) {\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for (;end >= 0; end--) {\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push(\"..\");\n }\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n};\n\nfunction intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n}\n\nvar TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) {\n throw new FS.ErrnoError(43);\n }\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) {\n throw new FS.ErrnoError(60);\n }\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) {\n throw new FS.ErrnoError(60);\n }\n try {\n for (var i = 0; i < length; i++) {\n stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n }\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) {\n result += \"\\n\";\n }\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) {\n result += \"\\n\";\n }\n }\n if (!result) {\n return null;\n }\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n};\n\nfunction mmapAlloc(size) {\n abort();\n}\n\nvar MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16384 | 511, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {\n throw new FS.ErrnoError(63);\n }\n if (!MEMFS.ops_table) {\n MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n }\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1024 * 1024;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) {\n node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n }\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) {\n attr.size = 4096;\n } else if (FS.isFile(node.mode)) {\n attr.size = node.usedBytes;\n } else if (FS.isLink(node.mode)) {\n attr.size = node.link.length;\n } else {\n attr.size = 0;\n }\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) {\n node.mode = attr.mode;\n }\n if (attr.timestamp !== undefined) {\n node.timestamp = attr.timestamp;\n }\n if (attr.size !== undefined) {\n MEMFS.resizeFileStorage(node, attr.size);\n }\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for (var i in new_node.contents) {\n throw new FS.ErrnoError(55);\n }\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for (var i in node.contents) {\n throw new FS.ErrnoError(55);\n }\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [ \".\", \"..\" ];\n for (var key in node.contents) {\n if (!node.contents.hasOwnProperty(key)) {\n continue;\n }\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) {\n buffer.set(contents.subarray(position, position + size), offset);\n } else {\n for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];\n }\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) {\n canOwn = false;\n }\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n } else {\n for (var i = 0; i < length; i++) {\n node.contents[position + i] = buffer[offset + i];\n }\n }\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) {\n position += stream.position;\n } else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) {\n position += stream.node.usedBytes;\n }\n }\n if (position < 0) {\n throw new FS.ErrnoError(28);\n }\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) {\n contents = contents.subarray(position, position + length);\n } else {\n contents = Array.prototype.slice.call(contents, position, position + length);\n }\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n};\n\nfunction asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, arrayBuffer => {\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, event => {\n if (onerror) {\n onerror();\n } else {\n throw 'Loading data file \"' + url + '\" failed.';\n }\n });\n if (dep) addRunDependency(dep);\n}\n\nvar FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {}) => {\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) {\n throw new FS.ErrnoError(32);\n }\n var parts = path.split(\"/\").filter(p => !!p);\n var current = FS.root;\n var current_path = \"/\";\n for (var i = 0; i < parts.length; i++) {\n var islast = i === parts.length - 1;\n if (islast && opts.parent) {\n break;\n }\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) {\n current = current.mounted.root;\n }\n }\n if (!islast || opts.follow) {\n var count = 0;\n while (FS.isLink(current.mode)) {\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) {\n throw new FS.ErrnoError(32);\n }\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: node => {\n var path;\n while (true) {\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name) => {\n var hash = 0;\n for (var i = 0; i < name.length; i++) {\n hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n }\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) {\n FS.nameTable[hash] = node.name_next;\n } else {\n var current = FS.nameTable[hash];\n while (current) {\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name) => {\n var errCode = FS.mayLookup(parent);\n if (errCode) {\n throw new FS.ErrnoError(errCode, parent);\n }\n var hash = FS.hashName(parent.id, name);\n for (var node = FS.nameTable[hash]; node; node = node.name_next) {\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) {\n return node;\n }\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev) => {\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: node => {\n FS.hashRemoveNode(node);\n },\n isRoot: node => {\n return node === node.parent;\n },\n isMountpoint: node => {\n return !!node.mounted;\n },\n isFile: mode => {\n return (mode & 61440) === 32768;\n },\n isDir: mode => {\n return (mode & 61440) === 16384;\n },\n isLink: mode => {\n return (mode & 61440) === 40960;\n },\n isChrdev: mode => {\n return (mode & 61440) === 8192;\n },\n isBlkdev: mode => {\n return (mode & 61440) === 24576;\n },\n isFIFO: mode => {\n return (mode & 61440) === 4096;\n },\n isSocket: mode => {\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: str => {\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") {\n throw new Error(\"Unknown file open mode: \" + str);\n }\n return flags;\n },\n flagsToPermissionString: flag => {\n var perms = [ \"r\", \"w\", \"rw\" ][flag & 3];\n if (flag & 512) {\n perms += \"w\";\n }\n return perms;\n },\n nodePermissions: (node, perms) => {\n if (FS.ignorePermissions) {\n return 0;\n }\n if (perms.includes(\"r\") && !(node.mode & 292)) {\n return 2;\n } else if (perms.includes(\"w\") && !(node.mode & 146)) {\n return 2;\n } else if (perms.includes(\"x\") && !(node.mode & 73)) {\n return 2;\n }\n return 0;\n },\n mayLookup: dir => {\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name) => {\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir) => {\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) {\n return errCode;\n }\n if (isdir) {\n if (!FS.isDir(node.mode)) {\n return 54;\n }\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {\n return 10;\n }\n } else {\n if (FS.isDir(node.mode)) {\n return 31;\n }\n }\n return 0;\n },\n mayOpen: (node, flags) => {\n if (!node) {\n return 44;\n }\n if (FS.isLink(node.mode)) {\n return 32;\n } else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) {\n return 31;\n }\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => {\n for (var fd = fd_start; fd <= fd_end; fd++) {\n if (!FS.streams[fd]) {\n return fd;\n }\n }\n throw new FS.ErrnoError(33);\n },\n getStream: fd => FS.streams[fd],\n createStream: (stream, fd_start, fd_end) => {\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: fd => {\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: stream => {\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n },\n llseek: () => {\n throw new FS.ErrnoError(70);\n }\n },\n major: dev => dev >> 8,\n minor: dev => dev & 255,\n makedev: (ma, mi) => ma << 8 | mi,\n registerDevice: (dev, ops) => {\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: dev => FS.devices[dev],\n getMounts: mount => {\n var mounts = [];\n var check = [ mount ];\n while (check.length) {\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback) => {\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) {\n err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n }\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) {\n doCallback(null);\n }\n }\n mounts.forEach(mount => {\n if (!mount.type.syncfs) {\n return done(null);\n }\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint) => {\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) {\n throw new FS.ErrnoError(10);\n } else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n if (!FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) {\n FS.root = mountRoot;\n } else if (node) {\n node.mounted = mount;\n if (node.mount) {\n node.mount.mounts.push(mount);\n }\n }\n return mountRoot;\n },\n unmount: mountpoint => {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) {\n throw new FS.ErrnoError(28);\n }\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach(hash => {\n var current = FS.nameTable[hash];\n while (current) {\n var next = current.name_next;\n if (mounts.includes(current.mount)) {\n FS.destroyNode(current);\n }\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name) => {\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev) => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.mayCreate(parent, name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.mknod) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode) => {\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode) => {\n mode = mode !== undefined ? mode : 511;\n mode &= 511 | 512;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode) => {\n var dirs = path.split(\"/\");\n var d = \"\";\n for (var i = 0; i < dirs.length; ++i) {\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev) => {\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath) => {\n if (!PATH_FS.resolve(oldpath)) {\n throw new FS.ErrnoError(44);\n }\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.symlink) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path) => {\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) {\n throw new FS.ErrnoError(75);\n }\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(28);\n }\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(55);\n }\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) {\n return;\n }\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!old_dir.node_ops.rename) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {\n throw new FS.ErrnoError(10);\n }\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally {\n FS.hashAddNode(old_node);\n }\n },\n rmdir: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.rmdir) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) {\n throw new FS.ErrnoError(54);\n }\n return node.node_ops.readdir(node);\n },\n unlink: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.unlink) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: path => {\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) {\n throw new FS.ErrnoError(44);\n }\n if (!link.node_ops.readlink) {\n throw new FS.ErrnoError(28);\n }\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow) => {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (!node.node_ops.getattr) {\n throw new FS.ErrnoError(63);\n }\n return node.node_ops.getattr(node);\n },\n lstat: path => {\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & ~4095,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode) => {\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid) => {\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len) => {\n if (len < 0) {\n throw new FS.ErrnoError(28);\n }\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isDir(node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!FS.isFile(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(28);\n }\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime) => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode) => {\n if (path === \"\") {\n throw new FS.ErrnoError(44);\n }\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) {\n mode = mode & 4095 | 32768;\n } else {\n mode = 0;\n }\n var node;\n if (typeof path == \"object\") {\n node = path;\n } else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) {\n throw new FS.ErrnoError(20);\n }\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (FS.isChrdev(node.mode)) {\n flags &= ~512;\n }\n if (flags & 65536 && !FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n if (flags & 512 && !created) {\n FS.truncate(node, 0);\n }\n flags &= ~(128 | 512 | 131072);\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) {\n FS.readFiles[path] = 1;\n }\n }\n return stream;\n },\n close: stream => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) {\n stream.stream_ops.close(stream);\n }\n } catch (e) {\n throw e;\n } finally {\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: stream => {\n return stream.fd === null;\n },\n llseek: (stream, offset, whence) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (!stream.seekable || !stream.stream_ops.llseek) {\n throw new FS.ErrnoError(70);\n }\n if (whence != 0 && whence != 1 && whence != 2) {\n throw new FS.ErrnoError(28);\n }\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.read) {\n throw new FS.ErrnoError(28);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.write) {\n throw new FS.ErrnoError(28);\n }\n if (stream.seekable && stream.flags & 1024) {\n FS.llseek(stream, 0, 2);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (offset < 0 || length <= 0) {\n throw new FS.ErrnoError(28);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (!stream.stream_ops.allocate) {\n throw new FS.ErrnoError(138);\n }\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags) => {\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {\n throw new FS.ErrnoError(2);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(2);\n }\n if (!stream.stream_ops.mmap) {\n throw new FS.ErrnoError(43);\n }\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags) => {\n if (!stream.stream_ops.msync) {\n return 0;\n }\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: stream => 0,\n ioctl: (stream, cmd, arg) => {\n if (!stream.stream_ops.ioctl) {\n throw new FS.ErrnoError(59);\n }\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {}) => {\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") {\n throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n }\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") {\n ret = UTF8ArrayToString(buf, 0);\n } else if (opts.encoding === \"binary\") {\n ret = buf;\n }\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {}) => {\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) {\n FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n } else {\n throw new Error(\"Unsupported data type\");\n }\n FS.close(stream);\n },\n cwd: () => FS.currentPath,\n chdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) {\n throw new FS.ErrnoError(44);\n }\n if (!FS.isDir(lookup.node.mode)) {\n throw new FS.ErrnoError(54);\n }\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: () => {\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: () => {\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: () => 0,\n write: (stream, buffer, offset, length, pos) => length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: () => {\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: () => {\n var node = FS.createNode(proc_self, \"fd\", 16384 | 511, 73);\n node.node_ops = {\n lookup: (parent, name) => {\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: () => stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: () => {\n if (Module[\"stdin\"]) {\n FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n }\n if (Module[\"stdout\"]) {\n FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n }\n if (Module[\"stderr\"]) {\n FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n } else {\n FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n }\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: () => {\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [ 44 ].forEach(code => {\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: () => {\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error) => {\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: () => {\n FS.init.initialized = false;\n _fflush(0);\n for (var i = 0; i < FS.streams.length; i++) {\n var stream = FS.streams[i];\n if (!stream) {\n continue;\n }\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite) => {\n var mode = 0;\n if (canRead) mode |= 292 | 73;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink) => {\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) {\n return null;\n }\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink) => {\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite) => {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while (parts.length) {\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn) => {\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: stream => {\n stream.seekable = false;\n },\n close: stream => {\n if (output && output.buffer && output.buffer.length) {\n output(10);\n }\n },\n read: (stream, buffer, offset, length, pos) => {\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos) => {\n for (var i = 0; i < length; i++) {\n try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: obj => {\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n if (typeof XMLHttpRequest != \"undefined\") {\n 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.\");\n } else if (read_) {\n try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n } else {\n throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n }\n },\n createLazyFile: (parent, name, url, canRead, canWrite) => {\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) {\n return undefined;\n }\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1024 * 1024;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to) => {\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n }\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) {\n return new Uint8Array(xhr.response || []);\n }\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter(chunkNum => {\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") {\n lazyArray.chunks[chunkNum] = doXHR(start, end);\n }\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else {\n var properties = {\n isDevice: false,\n url: url\n };\n }\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) {\n node.contents = properties.contents;\n } else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach(key => {\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents[position + i];\n }\n } else {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents.get(position + i);\n }\n }\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position) => {\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags) => {\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => {\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) {\n FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n }\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => {\n if (onerror) onerror();\n removeRunDependency(dep);\n })) {\n return;\n }\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") {\n asyncLoad(url, byteArray => processData(byteArray), onerror);\n } else {\n processData(url);\n }\n },\n indexedDB: () => {\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: () => {\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = () => {\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = () => {\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n try {\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var getRequest = files.get(path);\n getRequest.onsuccess = () => {\n if (FS.analyzePath(path).exists) {\n FS.unlink(path);\n }\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n};\n\nvar SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) {\n return path;\n }\n var dir;\n if (dirfd === -100) {\n dir = FS.cwd();\n } else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) {\n throw new FS.ErrnoError(44);\n }\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {\n return -54;\n }\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n 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) ], \n HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n 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) ], \n HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (flags & 2) {\n return 0;\n }\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n};\n\nfunction ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & ~7) {\n return -28;\n }\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) {\n return -44;\n }\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) {\n return -2;\n }\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n}\n\nfunction ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (cmd) {\n case 0:\n {\n var arg = SYSCALLS.get();\n if (arg < 0) {\n return -28;\n }\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n }\n\n case 1:\n case 2:\n return 0;\n\n case 3:\n return stream.flags;\n\n case 4:\n {\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n }\n\n case 5:\n {\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n }\n\n case 6:\n case 7:\n return 0;\n\n case 16:\n case 8:\n return -28;\n\n case 9:\n setErrNo(28);\n return -1;\n\n default:\n {\n return -28;\n }\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (op) {\n case 21509:\n case 21505:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21519:\n {\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n }\n\n case 21520:\n {\n if (!stream.tty) return -59;\n return -28;\n }\n\n case 21531:\n {\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n }\n\n case 21523:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21524:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_stat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nvar nowIsMonotonic = true;\n\nfunction __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n}\n\nfunction readI53FromI64(ptr) {\n return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296;\n}\n\nfunction __isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nvar __MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ];\n\nvar __MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ];\n\nfunction __yday_from_date(date) {\n var isLeapYear = __isLeapYear(date.getFullYear());\n var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday;\n}\n\nfunction __localtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n HEAP32[tmPtr + 32 >> 2] = dst;\n}\n\nfunction allocateUTF8(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = _malloc(size);\n if (ret) stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction __tzset_js(timezone, daylight, tzname) {\n var currentYear = new Date().getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;\n HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);\n function extractZone(date) {\n var match = date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return match ? match[1] : \"GMT\";\n }\n var winterName = extractZone(winter);\n var summerName = extractZone(summer);\n var winterNamePtr = allocateUTF8(winterName);\n var summerNamePtr = allocateUTF8(summerName);\n if (summerOffset < winterOffset) {\n HEAPU32[tzname >> 2] = winterNamePtr;\n HEAPU32[tzname + 4 >> 2] = summerNamePtr;\n } else {\n HEAPU32[tzname >> 2] = summerNamePtr;\n HEAPU32[tzname + 4 >> 2] = winterNamePtr;\n }\n}\n\nfunction _emscripten_date_now() {\n return Date.now();\n}\n\nvar _emscripten_get_now;\n\n_emscripten_get_now = () => performance.now();\n\nfunction _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\n\nfunction emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n}\n\nfunction _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) {\n return false;\n }\n let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\n for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) {\n return true;\n }\n }\n return false;\n}\n\nfunction _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n}\n\nfunction exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) {\n exitRuntime();\n }\n _proc_exit(status);\n}\n\nvar _exit = exitJS;\n\nfunction _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n}\n\nfunction _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n 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) ], \n HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction __arraySum(array, index) {\n var sum = 0;\n for (var i = 0; i <= index; sum += array[i++]) {}\n return sum;\n}\n\nvar __MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];\n\nvar __MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];\n\nfunction __addDays(date, days) {\n var newDate = new Date(date.getTime());\n while (days > 0) {\n var leap = __isLeapYear(newDate.getFullYear());\n var currentMonth = newDate.getMonth();\n var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];\n if (days > daysInCurrentMonth - newDate.getDate()) {\n days -= daysInCurrentMonth - newDate.getDate() + 1;\n newDate.setDate(1);\n if (currentMonth < 11) {\n newDate.setMonth(currentMonth + 1);\n } else {\n newDate.setMonth(0);\n newDate.setFullYear(newDate.getFullYear() + 1);\n }\n } else {\n newDate.setDate(newDate.getDate() + days);\n return newDate;\n }\n }\n return newDate;\n}\n\nfunction writeArrayToMemory(array, buffer) {\n HEAP8.set(array, buffer);\n}\n\nfunction _strftime(s, maxsize, format, tm) {\n var tm_zone = HEAP32[tm + 40 >> 2];\n var date = {\n tm_sec: HEAP32[tm >> 2],\n tm_min: HEAP32[tm + 4 >> 2],\n tm_hour: HEAP32[tm + 8 >> 2],\n tm_mday: HEAP32[tm + 12 >> 2],\n tm_mon: HEAP32[tm + 16 >> 2],\n tm_year: HEAP32[tm + 20 >> 2],\n tm_wday: HEAP32[tm + 24 >> 2],\n tm_yday: HEAP32[tm + 28 >> 2],\n tm_isdst: HEAP32[tm + 32 >> 2],\n tm_gmtoff: HEAP32[tm + 36 >> 2],\n tm_zone: tm_zone ? UTF8ToString(tm_zone) : \"\"\n };\n var pattern = UTF8ToString(format);\n var EXPANSION_RULES_1 = {\n \"%c\": \"%a %b %d %H:%M:%S %Y\",\n \"%D\": \"%m/%d/%y\",\n \"%F\": \"%Y-%m-%d\",\n \"%h\": \"%b\",\n \"%r\": \"%I:%M:%S %p\",\n \"%R\": \"%H:%M\",\n \"%T\": \"%H:%M:%S\",\n \"%x\": \"%m/%d/%y\",\n \"%X\": \"%H:%M:%S\",\n \"%Ec\": \"%c\",\n \"%EC\": \"%C\",\n \"%Ex\": \"%m/%d/%y\",\n \"%EX\": \"%H:%M:%S\",\n \"%Ey\": \"%y\",\n \"%EY\": \"%Y\",\n \"%Od\": \"%d\",\n \"%Oe\": \"%e\",\n \"%OH\": \"%H\",\n \"%OI\": \"%I\",\n \"%Om\": \"%m\",\n \"%OM\": \"%M\",\n \"%OS\": \"%S\",\n \"%Ou\": \"%u\",\n \"%OU\": \"%U\",\n \"%OV\": \"%V\",\n \"%Ow\": \"%w\",\n \"%OW\": \"%W\",\n \"%Oy\": \"%y\"\n };\n for (var rule in EXPANSION_RULES_1) {\n pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_1[rule]);\n }\n var WEEKDAYS = [ \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\" ];\n var MONTHS = [ \"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\" ];\n function leadingSomething(value, digits, character) {\n var str = typeof value == \"number\" ? value.toString() : value || \"\";\n while (str.length < digits) {\n str = character[0] + str;\n }\n return str;\n }\n function leadingNulls(value, digits) {\n return leadingSomething(value, digits, \"0\");\n }\n function compareByDay(date1, date2) {\n function sgn(value) {\n return value < 0 ? -1 : value > 0 ? 1 : 0;\n }\n var compare;\n if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {\n if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) {\n compare = sgn(date1.getDate() - date2.getDate());\n }\n }\n return compare;\n }\n function getFirstWeekStartDate(janFourth) {\n switch (janFourth.getDay()) {\n case 0:\n return new Date(janFourth.getFullYear() - 1, 11, 29);\n\n case 1:\n return janFourth;\n\n case 2:\n return new Date(janFourth.getFullYear(), 0, 3);\n\n case 3:\n return new Date(janFourth.getFullYear(), 0, 2);\n\n case 4:\n return new Date(janFourth.getFullYear(), 0, 1);\n\n case 5:\n return new Date(janFourth.getFullYear() - 1, 11, 31);\n\n case 6:\n return new Date(janFourth.getFullYear() - 1, 11, 30);\n }\n }\n function getWeekBasedYear(date) {\n var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);\n var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);\n var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);\n var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);\n var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);\n if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {\n if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {\n return thisDate.getFullYear() + 1;\n }\n return thisDate.getFullYear();\n }\n return thisDate.getFullYear() - 1;\n }\n var EXPANSION_RULES_2 = {\n \"%a\": function(date) {\n return WEEKDAYS[date.tm_wday].substring(0, 3);\n },\n \"%A\": function(date) {\n return WEEKDAYS[date.tm_wday];\n },\n \"%b\": function(date) {\n return MONTHS[date.tm_mon].substring(0, 3);\n },\n \"%B\": function(date) {\n return MONTHS[date.tm_mon];\n },\n \"%C\": function(date) {\n var year = date.tm_year + 1900;\n return leadingNulls(year / 100 | 0, 2);\n },\n \"%d\": function(date) {\n return leadingNulls(date.tm_mday, 2);\n },\n \"%e\": function(date) {\n return leadingSomething(date.tm_mday, 2, \" \");\n },\n \"%g\": function(date) {\n return getWeekBasedYear(date).toString().substring(2);\n },\n \"%G\": function(date) {\n return getWeekBasedYear(date);\n },\n \"%H\": function(date) {\n return leadingNulls(date.tm_hour, 2);\n },\n \"%I\": function(date) {\n var twelveHour = date.tm_hour;\n if (twelveHour == 0) twelveHour = 12; else if (twelveHour > 12) twelveHour -= 12;\n return leadingNulls(twelveHour, 2);\n },\n \"%j\": function(date) {\n return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);\n },\n \"%m\": function(date) {\n return leadingNulls(date.tm_mon + 1, 2);\n },\n \"%M\": function(date) {\n return leadingNulls(date.tm_min, 2);\n },\n \"%n\": function() {\n return \"\\n\";\n },\n \"%p\": function(date) {\n if (date.tm_hour >= 0 && date.tm_hour < 12) {\n return \"AM\";\n }\n return \"PM\";\n },\n \"%S\": function(date) {\n return leadingNulls(date.tm_sec, 2);\n },\n \"%t\": function() {\n return \"\\t\";\n },\n \"%u\": function(date) {\n return date.tm_wday || 7;\n },\n \"%U\": function(date) {\n var days = date.tm_yday + 7 - date.tm_wday;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%V\": function(date) {\n var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7) / 7);\n if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) {\n val++;\n }\n if (!val) {\n val = 52;\n var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;\n if (dec31 == 4 || dec31 == 5 && __isLeapYear(date.tm_year % 400 - 1)) {\n val++;\n }\n } else if (val == 53) {\n var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;\n if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) val = 1;\n }\n return leadingNulls(val, 2);\n },\n \"%w\": function(date) {\n return date.tm_wday;\n },\n \"%W\": function(date) {\n var days = date.tm_yday + 7 - (date.tm_wday + 6) % 7;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%y\": function(date) {\n return (date.tm_year + 1900).toString().substring(2);\n },\n \"%Y\": function(date) {\n return date.tm_year + 1900;\n },\n \"%z\": function(date) {\n var off = date.tm_gmtoff;\n var ahead = off >= 0;\n off = Math.abs(off) / 60;\n off = off / 60 * 100 + off % 60;\n return (ahead ? \"+\" : \"-\") + String(\"0000\" + off).slice(-4);\n },\n \"%Z\": function(date) {\n return date.tm_zone;\n },\n \"%%\": function() {\n return \"%\";\n }\n };\n pattern = pattern.replace(/%%/g, \"\\0\\0\");\n for (var rule in EXPANSION_RULES_2) {\n if (pattern.includes(rule)) {\n pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_2[rule](date));\n }\n }\n pattern = pattern.replace(/\\0\\0/g, \"%\");\n var bytes = intArrayFromString(pattern, false);\n if (bytes.length > maxsize) {\n return 0;\n }\n writeArrayToMemory(bytes, s);\n return bytes.length - 1;\n}\n\nfunction handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") {\n return EXITSTATUS;\n }\n quit_(1, e);\n}\n\nfunction allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n}\n\nfunction maybeExit() {\n if (!keepRuntimeAlive()) {\n try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n}\n\nfunction callUserCallback(func) {\n if (runtimeExited || ABORT) {\n return;\n }\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n}\n\nfunction runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n}\n\nfunction runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n}\n\nvar Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [ \"emscripten_sleep\", \"emscripten_wget\", \"emscripten_wget_data\", \"emscripten_idb_load\", \"emscripten_idb_store\", \"emscripten_idb_delete\", \"emscripten_idb_exists\", \"emscripten_idb_load_blob\", \"emscripten_idb_store_blob\", \"SDL_Delay\", \"emscripten_scan_registers\", \"emscripten_lazy_load_code\", \"emscripten_fiber_swap\", \"__load_secondary_module\", \"fd_sync\", \"__wasi_fd_sync\", \"_emval_await\", \"_dlopen_js\", \"__asyncjs__*\" ];\n for (var x in imports) {\n (function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") {\n var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n }\n })(x);\n }\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for (var x in exports) {\n (function(x) {\n var original = exports[x];\n if (typeof original == \"function\") {\n ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally {\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n } else {\n ret[x] = original;\n }\n })(x);\n }\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") {\n Fibers.trampoline();\n }\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject) => {\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0) => {\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) {\n return;\n }\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(() => _asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.resume();\n }\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) {\n throw asyncWasmReturnValue;\n }\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.pause();\n }\n runAndAbortIfError(() => _asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach(func => callUserCallback(func));\n } else {\n abort(\"invalid state: \" + Asyncify.state);\n }\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep(wakeUp => {\n startAsync().then(wakeUp);\n });\n }\n};\n\nfunction AsciiToString(ptr) {\n var str = \"\";\n while (1) {\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n}\n\nvar FSNode = function(parent, name, mode, rdev) {\n if (!parent) {\n parent = this;\n }\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n};\n\nvar readMode = 292 | 73;\n\nvar writeMode = 146;\n\nObject.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n});\n\nFS.FSNode = FSNode;\n\nFS.staticInit();\n\nvar wasmImports = {\n \"j\": __asyncjs__emglken_fill_stdin_buffer,\n \"s\": ___syscall_faccessat,\n \"e\": ___syscall_fcntl64,\n \"r\": ___syscall_getcwd,\n \"q\": ___syscall_ioctl,\n \"p\": ___syscall_openat,\n \"o\": ___syscall_stat64,\n \"m\": __emscripten_get_now_is_monotonic,\n \"l\": __localtime_js,\n \"k\": __tzset_js,\n \"b\": _emscripten_date_now,\n \"i\": _emscripten_memcpy_big,\n \"h\": _emscripten_resize_heap,\n \"a\": _exit,\n \"d\": _fd_close,\n \"n\": _fd_read,\n \"g\": _fd_seek,\n \"c\": _fd_write,\n \"f\": _strftime\n};\n\nvar asm = createWasm();\n\nvar ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"u\"]).apply(null, arguments);\n};\n\nvar _malloc = function() {\n return (_malloc = Module[\"asm\"][\"v\"]).apply(null, arguments);\n};\n\nvar _free = function() {\n return (_free = Module[\"asm\"][\"w\"]).apply(null, arguments);\n};\n\nvar _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"x\"]).apply(null, arguments);\n};\n\nvar _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"y\"]).apply(null, arguments);\n};\n\nvar _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"z\"]).apply(null, arguments);\n};\n\nvar ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"A\"]).apply(null, arguments);\n};\n\nvar ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"B\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n};\n\nvar stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"D\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"E\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"F\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"G\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"H\"]).apply(null, arguments);\n};\n\nvar ___start_em_js = Module[\"___start_em_js\"] = 18128;\n\nvar ___stop_em_js = Module[\"___stop_em_js\"] = 20813;\n\nModule[\"AsciiToString\"] = AsciiToString;\n\nModule[\"FS\"] = FS;\n\nvar calledRun;\n\ndependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n};\n\nfunction callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach(arg => {\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n}\n\nfunction run(args = arguments_) {\n if (runDependencies > 0) {\n return;\n }\n preRun();\n if (runDependencies > 0) {\n return;\n }\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else {\n doRun();\n }\n}\n\nif (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [ Module[\"preInit\"] ];\n while (Module[\"preInit\"].length > 0) {\n Module[\"preInit\"].pop()();\n }\n}\n\nvar shouldRunNow = true;\n\nif (Module[\"noInitialRun\"]) shouldRunNow = false;\n\nrun();\n\n\n return Module.ready\n}\n\n);\n})();\nexport default Module;","module.exports = require('./helpers/bundle-url').getBundleURL('ejVIo') + require('./helpers/bundle-manifest').resolve(\"huVfu\");","/*\n\nEmglken port of TADS\n====================\n\nCopyright (c) 2020 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/\n\nimport EmglkenVM from './vm.js'\nimport TADSCore from '../build/tads-core.js'\n\nexport default class TADS extends EmglkenVM\n{\n default_options()\n {\n return {\n vmcore: TADSCore,\n }\n }\n}","\nvar Module = (() => {\n var _scriptDir = import.meta.url;\n \n return (\nfunction(Module = {}) {\n\nvar Module = typeof Module != \"undefined\" ? Module : {};\n\nvar readyPromiseResolve, readyPromiseReject;\n\nModule[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n});\n\nvar moduleOverrides = Object.assign({}, Module);\n\nvar arguments_ = [];\n\nvar thisProgram = \"./this.program\";\n\nvar quit_ = (status, toThrow) => {\n throw toThrow;\n};\n\nvar ENVIRONMENT_IS_WEB = true;\n\nvar ENVIRONMENT_IS_WORKER = false;\n\nvar scriptDirectory = \"\";\n\nfunction locateFile(path) {\n if (Module[\"locateFile\"]) {\n return Module[\"locateFile\"](path, scriptDirectory);\n }\n return scriptDirectory + path;\n}\n\nvar read_, readAsync, readBinary, setWindowTitle;\n\nif (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) {\n scriptDirectory = self.location.href;\n } else if (typeof document != \"undefined\" && document.currentScript) {\n scriptDirectory = document.currentScript.src;\n }\n if (_scriptDir) {\n scriptDirectory = _scriptDir;\n }\n if (scriptDirectory.indexOf(\"blob:\") !== 0) {\n scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n } else {\n scriptDirectory = \"\";\n }\n {\n read_ = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) {\n readBinary = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n }\n readAsync = (url, onload, onerror) => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = () => {\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n }\n setWindowTitle = title => document.title = title;\n} else {}\n\nvar out = Module[\"print\"] || console.log.bind(console);\n\nvar err = Module[\"printErr\"] || console.warn.bind(console);\n\nObject.assign(Module, moduleOverrides);\n\nmoduleOverrides = null;\n\nif (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n\nif (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n\nif (Module[\"quit\"]) quit_ = Module[\"quit\"];\n\nvar wasmBinary;\n\nif (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n\nvar noExitRuntime = Module[\"noExitRuntime\"] || false;\n\nif (typeof WebAssembly != \"object\") {\n abort(\"no native wasm support detected\");\n}\n\nvar wasmMemory;\n\nvar ABORT = false;\n\nvar EXITSTATUS;\n\nfunction assert(condition, text) {\n if (!condition) {\n abort(text);\n }\n}\n\nvar UTF8Decoder = new TextDecoder(\"utf8\");\n\nfunction UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n}\n\nfunction UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n}\n\nfunction stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for (var i = 0; i < str.length; ++i) {\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n}\n\nfunction stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n}\n\nfunction lengthBytesUTF8(str) {\n var len = 0;\n for (var i = 0; i < str.length; ++i) {\n var c = str.charCodeAt(i);\n if (c <= 127) {\n len++;\n } else if (c <= 2047) {\n len += 2;\n } else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else {\n len += 3;\n }\n }\n return len;\n}\n\nvar HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n\nfunction updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n}\n\nvar wasmTable;\n\nvar __ATPRERUN__ = [];\n\nvar __ATINIT__ = [];\n\nvar __ATMAIN__ = [];\n\nvar __ATEXIT__ = [];\n\nvar __ATPOSTRUN__ = [];\n\nvar runtimeInitialized = false;\n\nvar runtimeExited = false;\n\nvar runtimeKeepaliveCounter = 0;\n\nfunction keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n}\n\nfunction preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [ Module[\"preRun\"] ];\n while (Module[\"preRun\"].length) {\n addOnPreRun(Module[\"preRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPRERUN__);\n}\n\nfunction initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n}\n\nfunction preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n}\n\nfunction exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n}\n\nfunction postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [ Module[\"postRun\"] ];\n while (Module[\"postRun\"].length) {\n addOnPostRun(Module[\"postRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n}\n\nfunction addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n}\n\nfunction addOnInit(cb) {\n __ATINIT__.unshift(cb);\n}\n\nfunction addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n}\n\nvar runDependencies = 0;\n\nvar runDependencyWatcher = null;\n\nvar dependenciesFulfilled = null;\n\nfunction getUniqueRunDependency(id) {\n return id;\n}\n\nfunction addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n}\n\nfunction removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n}\n\nfunction abort(what) {\n if (Module[\"onAbort\"]) {\n Module[\"onAbort\"](what);\n }\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n}\n\nvar dataURIPrefix = \"data:application/octet-stream;base64,\";\n\nfunction isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n}\n\nvar wasmBinaryFile;\n\nif (Module[\"locateFile\"]) {\n wasmBinaryFile = \"tads-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) {\n wasmBinaryFile = locateFile(wasmBinaryFile);\n }\n} else {\n wasmBinaryFile = new URL(\"tads-core.wasm\", import.meta.url).href;\n}\n\nfunction getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) {\n return new Uint8Array(wasmBinary);\n }\n if (readBinary) {\n return readBinary(file);\n }\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n}\n\nfunction getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) {\n throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n }\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n}\n\nfunction instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n}\n\nfunction instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n } else {\n return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n}\n\nfunction createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"ha\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"qa\"];\n addOnInit(Module[\"asm\"][\"ia\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) {\n try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n}\n\nvar tempDouble;\n\nvar tempI64;\n\nfunction __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async () => {\n if (!Module.emglken_stdin_buffers.length) {\n await new Promise(resolve => {\n Module.emglken_stdin_ready = resolve;\n });\n }\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) {\n HEAPU8.set(input, buffer);\n } else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n}\n\nfunction ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n}\n\nfunction callRuntimeCallbacks(callbacks) {\n while (callbacks.length > 0) {\n callbacks.shift()(Module);\n }\n}\n\nvar PATH = {\n isAbs: path => path.charAt(0) === \"/\",\n splitPath: filename => {\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot) => {\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === \".\") {\n parts.splice(i, 1);\n } else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) {\n for (;up; up--) {\n parts.unshift(\"..\");\n }\n }\n return parts;\n },\n normalize: path => {\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter(p => !!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) {\n path = \".\";\n }\n if (path && trailingSlash) {\n path += \"/\";\n }\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: path => {\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) {\n return \".\";\n }\n if (dir) {\n dir = dir.substr(0, dir.length - 1);\n }\n return root + dir;\n },\n basename: path => {\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r) => {\n return PATH.normalize(l + \"/\" + r);\n }\n};\n\nfunction getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return () => {\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return () => abort(\"randomDevice\");\n}\n\nvar PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") {\n throw new TypeError(\"Arguments to path.resolve must be strings\");\n } else if (!path) {\n return \"\";\n }\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter(p => !!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to) => {\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for (;start < arr.length; start++) {\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for (;end >= 0; end--) {\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push(\"..\");\n }\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n};\n\nfunction intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n}\n\nvar TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) {\n throw new FS.ErrnoError(43);\n }\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) {\n throw new FS.ErrnoError(60);\n }\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) {\n throw new FS.ErrnoError(60);\n }\n try {\n for (var i = 0; i < length; i++) {\n stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n }\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) {\n result += \"\\n\";\n }\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) {\n result += \"\\n\";\n }\n }\n if (!result) {\n return null;\n }\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n};\n\nfunction mmapAlloc(size) {\n abort();\n}\n\nvar MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16384 | 511, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {\n throw new FS.ErrnoError(63);\n }\n if (!MEMFS.ops_table) {\n MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n }\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1024 * 1024;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) {\n node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n }\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) {\n attr.size = 4096;\n } else if (FS.isFile(node.mode)) {\n attr.size = node.usedBytes;\n } else if (FS.isLink(node.mode)) {\n attr.size = node.link.length;\n } else {\n attr.size = 0;\n }\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) {\n node.mode = attr.mode;\n }\n if (attr.timestamp !== undefined) {\n node.timestamp = attr.timestamp;\n }\n if (attr.size !== undefined) {\n MEMFS.resizeFileStorage(node, attr.size);\n }\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for (var i in new_node.contents) {\n throw new FS.ErrnoError(55);\n }\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for (var i in node.contents) {\n throw new FS.ErrnoError(55);\n }\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [ \".\", \"..\" ];\n for (var key in node.contents) {\n if (!node.contents.hasOwnProperty(key)) {\n continue;\n }\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) {\n buffer.set(contents.subarray(position, position + size), offset);\n } else {\n for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];\n }\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) {\n canOwn = false;\n }\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n } else {\n for (var i = 0; i < length; i++) {\n node.contents[position + i] = buffer[offset + i];\n }\n }\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) {\n position += stream.position;\n } else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) {\n position += stream.node.usedBytes;\n }\n }\n if (position < 0) {\n throw new FS.ErrnoError(28);\n }\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) {\n contents = contents.subarray(position, position + length);\n } else {\n contents = Array.prototype.slice.call(contents, position, position + length);\n }\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n};\n\nfunction asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, arrayBuffer => {\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, event => {\n if (onerror) {\n onerror();\n } else {\n throw 'Loading data file \"' + url + '\" failed.';\n }\n });\n if (dep) addRunDependency(dep);\n}\n\nvar FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {}) => {\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) {\n throw new FS.ErrnoError(32);\n }\n var parts = path.split(\"/\").filter(p => !!p);\n var current = FS.root;\n var current_path = \"/\";\n for (var i = 0; i < parts.length; i++) {\n var islast = i === parts.length - 1;\n if (islast && opts.parent) {\n break;\n }\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) {\n current = current.mounted.root;\n }\n }\n if (!islast || opts.follow) {\n var count = 0;\n while (FS.isLink(current.mode)) {\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) {\n throw new FS.ErrnoError(32);\n }\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: node => {\n var path;\n while (true) {\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name) => {\n var hash = 0;\n for (var i = 0; i < name.length; i++) {\n hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n }\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) {\n FS.nameTable[hash] = node.name_next;\n } else {\n var current = FS.nameTable[hash];\n while (current) {\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name) => {\n var errCode = FS.mayLookup(parent);\n if (errCode) {\n throw new FS.ErrnoError(errCode, parent);\n }\n var hash = FS.hashName(parent.id, name);\n for (var node = FS.nameTable[hash]; node; node = node.name_next) {\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) {\n return node;\n }\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev) => {\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: node => {\n FS.hashRemoveNode(node);\n },\n isRoot: node => {\n return node === node.parent;\n },\n isMountpoint: node => {\n return !!node.mounted;\n },\n isFile: mode => {\n return (mode & 61440) === 32768;\n },\n isDir: mode => {\n return (mode & 61440) === 16384;\n },\n isLink: mode => {\n return (mode & 61440) === 40960;\n },\n isChrdev: mode => {\n return (mode & 61440) === 8192;\n },\n isBlkdev: mode => {\n return (mode & 61440) === 24576;\n },\n isFIFO: mode => {\n return (mode & 61440) === 4096;\n },\n isSocket: mode => {\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: str => {\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") {\n throw new Error(\"Unknown file open mode: \" + str);\n }\n return flags;\n },\n flagsToPermissionString: flag => {\n var perms = [ \"r\", \"w\", \"rw\" ][flag & 3];\n if (flag & 512) {\n perms += \"w\";\n }\n return perms;\n },\n nodePermissions: (node, perms) => {\n if (FS.ignorePermissions) {\n return 0;\n }\n if (perms.includes(\"r\") && !(node.mode & 292)) {\n return 2;\n } else if (perms.includes(\"w\") && !(node.mode & 146)) {\n return 2;\n } else if (perms.includes(\"x\") && !(node.mode & 73)) {\n return 2;\n }\n return 0;\n },\n mayLookup: dir => {\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name) => {\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir) => {\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) {\n return errCode;\n }\n if (isdir) {\n if (!FS.isDir(node.mode)) {\n return 54;\n }\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {\n return 10;\n }\n } else {\n if (FS.isDir(node.mode)) {\n return 31;\n }\n }\n return 0;\n },\n mayOpen: (node, flags) => {\n if (!node) {\n return 44;\n }\n if (FS.isLink(node.mode)) {\n return 32;\n } else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) {\n return 31;\n }\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => {\n for (var fd = fd_start; fd <= fd_end; fd++) {\n if (!FS.streams[fd]) {\n return fd;\n }\n }\n throw new FS.ErrnoError(33);\n },\n getStream: fd => FS.streams[fd],\n createStream: (stream, fd_start, fd_end) => {\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: fd => {\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: stream => {\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n },\n llseek: () => {\n throw new FS.ErrnoError(70);\n }\n },\n major: dev => dev >> 8,\n minor: dev => dev & 255,\n makedev: (ma, mi) => ma << 8 | mi,\n registerDevice: (dev, ops) => {\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: dev => FS.devices[dev],\n getMounts: mount => {\n var mounts = [];\n var check = [ mount ];\n while (check.length) {\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback) => {\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) {\n err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n }\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) {\n doCallback(null);\n }\n }\n mounts.forEach(mount => {\n if (!mount.type.syncfs) {\n return done(null);\n }\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint) => {\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) {\n throw new FS.ErrnoError(10);\n } else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n if (!FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) {\n FS.root = mountRoot;\n } else if (node) {\n node.mounted = mount;\n if (node.mount) {\n node.mount.mounts.push(mount);\n }\n }\n return mountRoot;\n },\n unmount: mountpoint => {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) {\n throw new FS.ErrnoError(28);\n }\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach(hash => {\n var current = FS.nameTable[hash];\n while (current) {\n var next = current.name_next;\n if (mounts.includes(current.mount)) {\n FS.destroyNode(current);\n }\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name) => {\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev) => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.mayCreate(parent, name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.mknod) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode) => {\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode) => {\n mode = mode !== undefined ? mode : 511;\n mode &= 511 | 512;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode) => {\n var dirs = path.split(\"/\");\n var d = \"\";\n for (var i = 0; i < dirs.length; ++i) {\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev) => {\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath) => {\n if (!PATH_FS.resolve(oldpath)) {\n throw new FS.ErrnoError(44);\n }\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.symlink) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path) => {\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) {\n throw new FS.ErrnoError(75);\n }\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(28);\n }\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(55);\n }\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) {\n return;\n }\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!old_dir.node_ops.rename) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {\n throw new FS.ErrnoError(10);\n }\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally {\n FS.hashAddNode(old_node);\n }\n },\n rmdir: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.rmdir) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) {\n throw new FS.ErrnoError(54);\n }\n return node.node_ops.readdir(node);\n },\n unlink: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.unlink) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: path => {\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) {\n throw new FS.ErrnoError(44);\n }\n if (!link.node_ops.readlink) {\n throw new FS.ErrnoError(28);\n }\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow) => {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (!node.node_ops.getattr) {\n throw new FS.ErrnoError(63);\n }\n return node.node_ops.getattr(node);\n },\n lstat: path => {\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & ~4095,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode) => {\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid) => {\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len) => {\n if (len < 0) {\n throw new FS.ErrnoError(28);\n }\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isDir(node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!FS.isFile(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(28);\n }\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime) => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode) => {\n if (path === \"\") {\n throw new FS.ErrnoError(44);\n }\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) {\n mode = mode & 4095 | 32768;\n } else {\n mode = 0;\n }\n var node;\n if (typeof path == \"object\") {\n node = path;\n } else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) {\n throw new FS.ErrnoError(20);\n }\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (FS.isChrdev(node.mode)) {\n flags &= ~512;\n }\n if (flags & 65536 && !FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n if (flags & 512 && !created) {\n FS.truncate(node, 0);\n }\n flags &= ~(128 | 512 | 131072);\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) {\n FS.readFiles[path] = 1;\n }\n }\n return stream;\n },\n close: stream => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) {\n stream.stream_ops.close(stream);\n }\n } catch (e) {\n throw e;\n } finally {\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: stream => {\n return stream.fd === null;\n },\n llseek: (stream, offset, whence) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (!stream.seekable || !stream.stream_ops.llseek) {\n throw new FS.ErrnoError(70);\n }\n if (whence != 0 && whence != 1 && whence != 2) {\n throw new FS.ErrnoError(28);\n }\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.read) {\n throw new FS.ErrnoError(28);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.write) {\n throw new FS.ErrnoError(28);\n }\n if (stream.seekable && stream.flags & 1024) {\n FS.llseek(stream, 0, 2);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (offset < 0 || length <= 0) {\n throw new FS.ErrnoError(28);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (!stream.stream_ops.allocate) {\n throw new FS.ErrnoError(138);\n }\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags) => {\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {\n throw new FS.ErrnoError(2);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(2);\n }\n if (!stream.stream_ops.mmap) {\n throw new FS.ErrnoError(43);\n }\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags) => {\n if (!stream.stream_ops.msync) {\n return 0;\n }\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: stream => 0,\n ioctl: (stream, cmd, arg) => {\n if (!stream.stream_ops.ioctl) {\n throw new FS.ErrnoError(59);\n }\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {}) => {\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") {\n throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n }\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") {\n ret = UTF8ArrayToString(buf, 0);\n } else if (opts.encoding === \"binary\") {\n ret = buf;\n }\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {}) => {\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) {\n FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n } else {\n throw new Error(\"Unsupported data type\");\n }\n FS.close(stream);\n },\n cwd: () => FS.currentPath,\n chdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) {\n throw new FS.ErrnoError(44);\n }\n if (!FS.isDir(lookup.node.mode)) {\n throw new FS.ErrnoError(54);\n }\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: () => {\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: () => {\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: () => 0,\n write: (stream, buffer, offset, length, pos) => length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: () => {\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: () => {\n var node = FS.createNode(proc_self, \"fd\", 16384 | 511, 73);\n node.node_ops = {\n lookup: (parent, name) => {\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: () => stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: () => {\n if (Module[\"stdin\"]) {\n FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n }\n if (Module[\"stdout\"]) {\n FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n }\n if (Module[\"stderr\"]) {\n FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n } else {\n FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n }\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: () => {\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [ 44 ].forEach(code => {\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: () => {\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error) => {\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: () => {\n FS.init.initialized = false;\n _fflush(0);\n for (var i = 0; i < FS.streams.length; i++) {\n var stream = FS.streams[i];\n if (!stream) {\n continue;\n }\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite) => {\n var mode = 0;\n if (canRead) mode |= 292 | 73;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink) => {\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) {\n return null;\n }\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink) => {\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite) => {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while (parts.length) {\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn) => {\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: stream => {\n stream.seekable = false;\n },\n close: stream => {\n if (output && output.buffer && output.buffer.length) {\n output(10);\n }\n },\n read: (stream, buffer, offset, length, pos) => {\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos) => {\n for (var i = 0; i < length; i++) {\n try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: obj => {\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n if (typeof XMLHttpRequest != \"undefined\") {\n 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.\");\n } else if (read_) {\n try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n } else {\n throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n }\n },\n createLazyFile: (parent, name, url, canRead, canWrite) => {\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) {\n return undefined;\n }\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1024 * 1024;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to) => {\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n }\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) {\n return new Uint8Array(xhr.response || []);\n }\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter(chunkNum => {\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") {\n lazyArray.chunks[chunkNum] = doXHR(start, end);\n }\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else {\n var properties = {\n isDevice: false,\n url: url\n };\n }\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) {\n node.contents = properties.contents;\n } else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach(key => {\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents[position + i];\n }\n } else {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents.get(position + i);\n }\n }\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position) => {\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags) => {\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => {\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) {\n FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n }\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => {\n if (onerror) onerror();\n removeRunDependency(dep);\n })) {\n return;\n }\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") {\n asyncLoad(url, byteArray => processData(byteArray), onerror);\n } else {\n processData(url);\n }\n },\n indexedDB: () => {\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: () => {\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = () => {\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = () => {\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n try {\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var getRequest = files.get(path);\n getRequest.onsuccess = () => {\n if (FS.analyzePath(path).exists) {\n FS.unlink(path);\n }\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n};\n\nvar SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) {\n return path;\n }\n var dir;\n if (dirfd === -100) {\n dir = FS.cwd();\n } else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) {\n throw new FS.ErrnoError(44);\n }\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {\n return -54;\n }\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n 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) ], \n HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n 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) ], \n HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (flags & 2) {\n return 0;\n }\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n};\n\nfunction ___syscall_dup(fd) {\n try {\n var old = SYSCALLS.getStreamFromFD(fd);\n return FS.createStream(old, 0).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & ~7) {\n return -28;\n }\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) {\n return -44;\n }\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) {\n return -2;\n }\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n}\n\nfunction ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (cmd) {\n case 0:\n {\n var arg = SYSCALLS.get();\n if (arg < 0) {\n return -28;\n }\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n }\n\n case 1:\n case 2:\n return 0;\n\n case 3:\n return stream.flags;\n\n case 4:\n {\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n }\n\n case 5:\n {\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n }\n\n case 6:\n case 7:\n return 0;\n\n case 16:\n case 8:\n return -28;\n\n case 9:\n setErrNo(28);\n return -1;\n\n default:\n {\n return -28;\n }\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_getdents64(fd, dirp, count) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n if (!stream.getdents) {\n stream.getdents = FS.readdir(stream.path);\n }\n var struct_size = 280;\n var pos = 0;\n var off = FS.llseek(stream, 0, 1);\n var idx = Math.floor(off / struct_size);\n while (idx < stream.getdents.length && pos + struct_size <= count) {\n var id;\n var type;\n var name = stream.getdents[idx];\n if (name === \".\") {\n id = stream.node.id;\n type = 4;\n } else if (name === \"..\") {\n var lookup = FS.lookupPath(stream.path, {\n parent: true\n });\n id = lookup.node.id;\n type = 4;\n } else {\n var child = FS.lookupNode(stream.node, name);\n id = child.id;\n type = FS.isChrdev(child.mode) ? 2 : FS.isDir(child.mode) ? 4 : FS.isLink(child.mode) ? 10 : 8;\n }\n tempI64 = [ id >>> 0, (tempDouble = id, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[dirp + pos >> 2] = tempI64[0], HEAP32[dirp + pos + 4 >> 2] = tempI64[1];\n tempI64 = [ (idx + 1) * struct_size >>> 0, (tempDouble = (idx + 1) * struct_size, \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[dirp + pos + 8 >> 2] = tempI64[0], HEAP32[dirp + pos + 12 >> 2] = tempI64[1];\n HEAP16[dirp + pos + 16 >> 1] = 280;\n HEAP8[dirp + pos + 18 >> 0] = type;\n stringToUTF8(name, dirp + pos + 19, 256);\n pos += struct_size;\n idx += 1;\n }\n FS.llseek(stream, idx * struct_size, 0);\n return pos;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (op) {\n case 21509:\n case 21505:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21519:\n {\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n }\n\n case 21520:\n {\n if (!stream.tty) return -59;\n return -28;\n }\n\n case 21531:\n {\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n }\n\n case 21523:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21524:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_lstat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.lstat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_mkdirat(dirfd, path, mode) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n path = PATH.normalize(path);\n if (path[path.length - 1] === \"/\") path = path.substr(0, path.length - 1);\n FS.mkdir(path, mode, 0);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_newfstatat(dirfd, path, buf, flags) {\n try {\n path = SYSCALLS.getStr(path);\n var nofollow = flags & 256;\n var allowEmpty = flags & 4096;\n flags = flags & ~6400;\n path = SYSCALLS.calculateAt(dirfd, path, allowEmpty);\n return SYSCALLS.doStat(nofollow ? FS.lstat : FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_readlinkat(dirfd, path, buf, bufsize) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (bufsize <= 0) return -28;\n var ret = FS.readlink(path);\n var len = Math.min(bufsize, lengthBytesUTF8(ret));\n var endChar = HEAP8[buf + len];\n stringToUTF8(ret, buf, bufsize + 1);\n HEAP8[buf + len] = endChar;\n return len;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_renameat(olddirfd, oldpath, newdirfd, newpath) {\n try {\n oldpath = SYSCALLS.getStr(oldpath);\n newpath = SYSCALLS.getStr(newpath);\n oldpath = SYSCALLS.calculateAt(olddirfd, oldpath);\n newpath = SYSCALLS.calculateAt(newdirfd, newpath);\n FS.rename(oldpath, newpath);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_rmdir(path) {\n try {\n path = SYSCALLS.getStr(path);\n FS.rmdir(path);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_stat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_unlinkat(dirfd, path, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (flags === 0) {\n FS.unlink(path);\n } else if (flags === 512) {\n FS.rmdir(path);\n } else {\n abort(\"Invalid flags passed to unlinkat\");\n }\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nvar nowIsMonotonic = true;\n\nfunction __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n}\n\nfunction __emscripten_throw_longjmp() {\n throw Infinity;\n}\n\nfunction readI53FromI64(ptr) {\n return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296;\n}\n\nfunction __gmtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getUTCSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getUTCHours();\n HEAP32[tmPtr + 12 >> 2] = date.getUTCDate();\n HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getUTCDay();\n var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);\n var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n}\n\nfunction __isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nvar __MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ];\n\nvar __MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ];\n\nfunction __yday_from_date(date) {\n var isLeapYear = __isLeapYear(date.getFullYear());\n var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;\n var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;\n return yday;\n}\n\nfunction __localtime_js(time, tmPtr) {\n var date = new Date(readI53FromI64(time) * 1e3);\n HEAP32[tmPtr >> 2] = date.getSeconds();\n HEAP32[tmPtr + 4 >> 2] = date.getMinutes();\n HEAP32[tmPtr + 8 >> 2] = date.getHours();\n HEAP32[tmPtr + 12 >> 2] = date.getDate();\n HEAP32[tmPtr + 16 >> 2] = date.getMonth();\n HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;\n HEAP32[tmPtr + 24 >> 2] = date.getDay();\n var yday = __yday_from_date(date) | 0;\n HEAP32[tmPtr + 28 >> 2] = yday;\n HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);\n var start = new Date(date.getFullYear(), 0, 1);\n var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset();\n var winterOffset = start.getTimezoneOffset();\n var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0;\n HEAP32[tmPtr + 32 >> 2] = dst;\n}\n\nfunction allocateUTF8(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = _malloc(size);\n if (ret) stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction __tzset_js(timezone, daylight, tzname) {\n var currentYear = new Date().getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n var winterOffset = winter.getTimezoneOffset();\n var summerOffset = summer.getTimezoneOffset();\n var stdTimezoneOffset = Math.max(winterOffset, summerOffset);\n HEAPU32[timezone >> 2] = stdTimezoneOffset * 60;\n HEAP32[daylight >> 2] = Number(winterOffset != summerOffset);\n function extractZone(date) {\n var match = date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return match ? match[1] : \"GMT\";\n }\n var winterName = extractZone(winter);\n var summerName = extractZone(summer);\n var winterNamePtr = allocateUTF8(winterName);\n var summerNamePtr = allocateUTF8(summerName);\n if (summerOffset < winterOffset) {\n HEAPU32[tzname >> 2] = winterNamePtr;\n HEAPU32[tzname + 4 >> 2] = summerNamePtr;\n } else {\n HEAPU32[tzname >> 2] = summerNamePtr;\n HEAPU32[tzname + 4 >> 2] = winterNamePtr;\n }\n}\n\nfunction _abort() {\n abort(\"\");\n}\n\nfunction _emscripten_date_now() {\n return Date.now();\n}\n\nvar _emscripten_get_now;\n\n_emscripten_get_now = () => performance.now();\n\nfunction _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\n\nfunction emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n}\n\nfunction _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) {\n return false;\n }\n let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\n for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) {\n return true;\n }\n }\n return false;\n}\n\nvar ENV = {};\n\nfunction getExecutableName() {\n return thisProgram || \"./this.program\";\n}\n\nfunction getEnvStrings() {\n if (!getEnvStrings.strings) {\n var lang = (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\";\n var env = {\n \"USER\": \"web_user\",\n \"LOGNAME\": \"web_user\",\n \"PATH\": \"/\",\n \"PWD\": \"/\",\n \"HOME\": \"/home/web_user\",\n \"LANG\": lang,\n \"_\": getExecutableName()\n };\n for (var x in ENV) {\n if (ENV[x] === undefined) delete env[x]; else env[x] = ENV[x];\n }\n var strings = [];\n for (var x in env) {\n strings.push(x + \"=\" + env[x]);\n }\n getEnvStrings.strings = strings;\n }\n return getEnvStrings.strings;\n}\n\nfunction writeAsciiToMemory(str, buffer, dontAddNull) {\n for (var i = 0; i < str.length; ++i) {\n HEAP8[buffer++ >> 0] = str.charCodeAt(i);\n }\n if (!dontAddNull) HEAP8[buffer >> 0] = 0;\n}\n\nfunction _environ_get(__environ, environ_buf) {\n var bufSize = 0;\n getEnvStrings().forEach(function(string, i) {\n var ptr = environ_buf + bufSize;\n HEAPU32[__environ + i * 4 >> 2] = ptr;\n writeAsciiToMemory(string, ptr);\n bufSize += string.length + 1;\n });\n return 0;\n}\n\nfunction _environ_sizes_get(penviron_count, penviron_buf_size) {\n var strings = getEnvStrings();\n HEAPU32[penviron_count >> 2] = strings.length;\n var bufSize = 0;\n strings.forEach(function(string) {\n bufSize += string.length + 1;\n });\n HEAPU32[penviron_buf_size >> 2] = bufSize;\n return 0;\n}\n\nfunction _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n}\n\nfunction exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) {\n exitRuntime();\n }\n _proc_exit(status);\n}\n\nvar _exit = exitJS;\n\nfunction _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n}\n\nfunction _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n 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) ], \n HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction __arraySum(array, index) {\n var sum = 0;\n for (var i = 0; i <= index; sum += array[i++]) {}\n return sum;\n}\n\nvar __MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];\n\nvar __MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];\n\nfunction __addDays(date, days) {\n var newDate = new Date(date.getTime());\n while (days > 0) {\n var leap = __isLeapYear(newDate.getFullYear());\n var currentMonth = newDate.getMonth();\n var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];\n if (days > daysInCurrentMonth - newDate.getDate()) {\n days -= daysInCurrentMonth - newDate.getDate() + 1;\n newDate.setDate(1);\n if (currentMonth < 11) {\n newDate.setMonth(currentMonth + 1);\n } else {\n newDate.setMonth(0);\n newDate.setFullYear(newDate.getFullYear() + 1);\n }\n } else {\n newDate.setDate(newDate.getDate() + days);\n return newDate;\n }\n }\n return newDate;\n}\n\nfunction writeArrayToMemory(array, buffer) {\n HEAP8.set(array, buffer);\n}\n\nfunction _strftime(s, maxsize, format, tm) {\n var tm_zone = HEAP32[tm + 40 >> 2];\n var date = {\n tm_sec: HEAP32[tm >> 2],\n tm_min: HEAP32[tm + 4 >> 2],\n tm_hour: HEAP32[tm + 8 >> 2],\n tm_mday: HEAP32[tm + 12 >> 2],\n tm_mon: HEAP32[tm + 16 >> 2],\n tm_year: HEAP32[tm + 20 >> 2],\n tm_wday: HEAP32[tm + 24 >> 2],\n tm_yday: HEAP32[tm + 28 >> 2],\n tm_isdst: HEAP32[tm + 32 >> 2],\n tm_gmtoff: HEAP32[tm + 36 >> 2],\n tm_zone: tm_zone ? UTF8ToString(tm_zone) : \"\"\n };\n var pattern = UTF8ToString(format);\n var EXPANSION_RULES_1 = {\n \"%c\": \"%a %b %d %H:%M:%S %Y\",\n \"%D\": \"%m/%d/%y\",\n \"%F\": \"%Y-%m-%d\",\n \"%h\": \"%b\",\n \"%r\": \"%I:%M:%S %p\",\n \"%R\": \"%H:%M\",\n \"%T\": \"%H:%M:%S\",\n \"%x\": \"%m/%d/%y\",\n \"%X\": \"%H:%M:%S\",\n \"%Ec\": \"%c\",\n \"%EC\": \"%C\",\n \"%Ex\": \"%m/%d/%y\",\n \"%EX\": \"%H:%M:%S\",\n \"%Ey\": \"%y\",\n \"%EY\": \"%Y\",\n \"%Od\": \"%d\",\n \"%Oe\": \"%e\",\n \"%OH\": \"%H\",\n \"%OI\": \"%I\",\n \"%Om\": \"%m\",\n \"%OM\": \"%M\",\n \"%OS\": \"%S\",\n \"%Ou\": \"%u\",\n \"%OU\": \"%U\",\n \"%OV\": \"%V\",\n \"%Ow\": \"%w\",\n \"%OW\": \"%W\",\n \"%Oy\": \"%y\"\n };\n for (var rule in EXPANSION_RULES_1) {\n pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_1[rule]);\n }\n var WEEKDAYS = [ \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\" ];\n var MONTHS = [ \"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\" ];\n function leadingSomething(value, digits, character) {\n var str = typeof value == \"number\" ? value.toString() : value || \"\";\n while (str.length < digits) {\n str = character[0] + str;\n }\n return str;\n }\n function leadingNulls(value, digits) {\n return leadingSomething(value, digits, \"0\");\n }\n function compareByDay(date1, date2) {\n function sgn(value) {\n return value < 0 ? -1 : value > 0 ? 1 : 0;\n }\n var compare;\n if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) {\n if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) {\n compare = sgn(date1.getDate() - date2.getDate());\n }\n }\n return compare;\n }\n function getFirstWeekStartDate(janFourth) {\n switch (janFourth.getDay()) {\n case 0:\n return new Date(janFourth.getFullYear() - 1, 11, 29);\n\n case 1:\n return janFourth;\n\n case 2:\n return new Date(janFourth.getFullYear(), 0, 3);\n\n case 3:\n return new Date(janFourth.getFullYear(), 0, 2);\n\n case 4:\n return new Date(janFourth.getFullYear(), 0, 1);\n\n case 5:\n return new Date(janFourth.getFullYear() - 1, 11, 31);\n\n case 6:\n return new Date(janFourth.getFullYear() - 1, 11, 30);\n }\n }\n function getWeekBasedYear(date) {\n var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);\n var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);\n var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);\n var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);\n var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);\n if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {\n if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {\n return thisDate.getFullYear() + 1;\n }\n return thisDate.getFullYear();\n }\n return thisDate.getFullYear() - 1;\n }\n var EXPANSION_RULES_2 = {\n \"%a\": function(date) {\n return WEEKDAYS[date.tm_wday].substring(0, 3);\n },\n \"%A\": function(date) {\n return WEEKDAYS[date.tm_wday];\n },\n \"%b\": function(date) {\n return MONTHS[date.tm_mon].substring(0, 3);\n },\n \"%B\": function(date) {\n return MONTHS[date.tm_mon];\n },\n \"%C\": function(date) {\n var year = date.tm_year + 1900;\n return leadingNulls(year / 100 | 0, 2);\n },\n \"%d\": function(date) {\n return leadingNulls(date.tm_mday, 2);\n },\n \"%e\": function(date) {\n return leadingSomething(date.tm_mday, 2, \" \");\n },\n \"%g\": function(date) {\n return getWeekBasedYear(date).toString().substring(2);\n },\n \"%G\": function(date) {\n return getWeekBasedYear(date);\n },\n \"%H\": function(date) {\n return leadingNulls(date.tm_hour, 2);\n },\n \"%I\": function(date) {\n var twelveHour = date.tm_hour;\n if (twelveHour == 0) twelveHour = 12; else if (twelveHour > 12) twelveHour -= 12;\n return leadingNulls(twelveHour, 2);\n },\n \"%j\": function(date) {\n return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);\n },\n \"%m\": function(date) {\n return leadingNulls(date.tm_mon + 1, 2);\n },\n \"%M\": function(date) {\n return leadingNulls(date.tm_min, 2);\n },\n \"%n\": function() {\n return \"\\n\";\n },\n \"%p\": function(date) {\n if (date.tm_hour >= 0 && date.tm_hour < 12) {\n return \"AM\";\n }\n return \"PM\";\n },\n \"%S\": function(date) {\n return leadingNulls(date.tm_sec, 2);\n },\n \"%t\": function() {\n return \"\\t\";\n },\n \"%u\": function(date) {\n return date.tm_wday || 7;\n },\n \"%U\": function(date) {\n var days = date.tm_yday + 7 - date.tm_wday;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%V\": function(date) {\n var val = Math.floor((date.tm_yday + 7 - (date.tm_wday + 6) % 7) / 7);\n if ((date.tm_wday + 371 - date.tm_yday - 2) % 7 <= 2) {\n val++;\n }\n if (!val) {\n val = 52;\n var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;\n if (dec31 == 4 || dec31 == 5 && __isLeapYear(date.tm_year % 400 - 1)) {\n val++;\n }\n } else if (val == 53) {\n var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;\n if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) val = 1;\n }\n return leadingNulls(val, 2);\n },\n \"%w\": function(date) {\n return date.tm_wday;\n },\n \"%W\": function(date) {\n var days = date.tm_yday + 7 - (date.tm_wday + 6) % 7;\n return leadingNulls(Math.floor(days / 7), 2);\n },\n \"%y\": function(date) {\n return (date.tm_year + 1900).toString().substring(2);\n },\n \"%Y\": function(date) {\n return date.tm_year + 1900;\n },\n \"%z\": function(date) {\n var off = date.tm_gmtoff;\n var ahead = off >= 0;\n off = Math.abs(off) / 60;\n off = off / 60 * 100 + off % 60;\n return (ahead ? \"+\" : \"-\") + String(\"0000\" + off).slice(-4);\n },\n \"%Z\": function(date) {\n return date.tm_zone;\n },\n \"%%\": function() {\n return \"%\";\n }\n };\n pattern = pattern.replace(/%%/g, \"\\0\\0\");\n for (var rule in EXPANSION_RULES_2) {\n if (pattern.includes(rule)) {\n pattern = pattern.replace(new RegExp(rule, \"g\"), EXPANSION_RULES_2[rule](date));\n }\n }\n pattern = pattern.replace(/\\0\\0/g, \"%\");\n var bytes = intArrayFromString(pattern, false);\n if (bytes.length > maxsize) {\n return 0;\n }\n writeArrayToMemory(bytes, s);\n return bytes.length - 1;\n}\n\nfunction handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") {\n return EXITSTATUS;\n }\n quit_(1, e);\n}\n\nfunction allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n}\n\nfunction maybeExit() {\n if (!keepRuntimeAlive()) {\n try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n}\n\nfunction callUserCallback(func) {\n if (runtimeExited || ABORT) {\n return;\n }\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n}\n\nfunction runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n}\n\nfunction runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n}\n\nvar Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [ \"invoke_*\", \"emscripten_sleep\", \"emscripten_wget\", \"emscripten_wget_data\", \"emscripten_idb_load\", \"emscripten_idb_store\", \"emscripten_idb_delete\", \"emscripten_idb_exists\", \"emscripten_idb_load_blob\", \"emscripten_idb_store_blob\", \"SDL_Delay\", \"emscripten_scan_registers\", \"emscripten_lazy_load_code\", \"emscripten_fiber_swap\", \"__load_secondary_module\", \"fd_sync\", \"__wasi_fd_sync\", \"_emval_await\", \"_dlopen_js\", \"__asyncjs__*\" ];\n for (var x in imports) {\n (function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") {\n var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n }\n })(x);\n }\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for (var x in exports) {\n (function(x) {\n var original = exports[x];\n if (typeof original == \"function\") {\n ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally {\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n } else {\n ret[x] = original;\n }\n })(x);\n }\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") {\n Fibers.trampoline();\n }\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject) => {\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0) => {\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) {\n return;\n }\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(() => _asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.resume();\n }\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) {\n throw asyncWasmReturnValue;\n }\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.pause();\n }\n runAndAbortIfError(() => _asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach(func => callUserCallback(func));\n } else {\n abort(\"invalid state: \" + Asyncify.state);\n }\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep(wakeUp => {\n startAsync().then(wakeUp);\n });\n }\n};\n\nfunction AsciiToString(ptr) {\n var str = \"\";\n while (1) {\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n}\n\nvar FSNode = function(parent, name, mode, rdev) {\n if (!parent) {\n parent = this;\n }\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n};\n\nvar readMode = 292 | 73;\n\nvar writeMode = 146;\n\nObject.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n});\n\nFS.FSNode = FSNode;\n\nFS.staticInit();\n\nvar wasmImports = {\n \"O\": __asyncjs__emglken_fill_stdin_buffer,\n \"ga\": ___syscall_dup,\n \"fa\": ___syscall_faccessat,\n \"G\": ___syscall_fcntl64,\n \"ea\": ___syscall_getcwd,\n \"da\": ___syscall_getdents64,\n \"ca\": ___syscall_ioctl,\n \"ba\": ___syscall_lstat64,\n \"aa\": ___syscall_mkdirat,\n \"$\": ___syscall_newfstatat,\n \"F\": ___syscall_openat,\n \"_\": ___syscall_readlinkat,\n \"Z\": ___syscall_renameat,\n \"E\": ___syscall_rmdir,\n \"Y\": ___syscall_stat64,\n \"X\": ___syscall_unlinkat,\n \"T\": __emscripten_get_now_is_monotonic,\n \"S\": __emscripten_throw_longjmp,\n \"R\": __gmtime_js,\n \"Q\": __localtime_js,\n \"P\": __tzset_js,\n \"C\": _abort,\n \"B\": _emscripten_date_now,\n \"A\": _emscripten_get_now,\n \"N\": _emscripten_memcpy_big,\n \"M\": _emscripten_resize_heap,\n \"W\": _environ_get,\n \"V\": _environ_sizes_get,\n \"y\": _exit,\n \"w\": _fd_close,\n \"U\": _fd_read,\n \"I\": _fd_seek,\n \"D\": _fd_write,\n \"L\": invoke_i,\n \"b\": invoke_ii,\n \"f\": invoke_iii,\n \"e\": invoke_iiii,\n \"c\": invoke_iiiii,\n \"j\": invoke_iiiiii,\n \"l\": invoke_iiiiiii,\n \"m\": invoke_iiiiiiii,\n \"s\": invoke_iiiiiiiii,\n \"t\": invoke_iiiiiiiiii,\n \"p\": invoke_iiiiiiiiiii,\n \"x\": invoke_iiiiiiiiiiii,\n \"q\": invoke_iiiiiiiiiiiiii,\n \"z\": invoke_iiiiiiiiiiiiiiii,\n \"v\": invoke_iiiiiiiiiiiiiiiiii,\n \"i\": invoke_v,\n \"h\": invoke_vi,\n \"d\": invoke_vii,\n \"a\": invoke_viii,\n \"g\": invoke_viiii,\n \"o\": invoke_viiiii,\n \"n\": invoke_viiiiii,\n \"K\": invoke_viiiiiii,\n \"r\": invoke_viiiiiiii,\n \"k\": invoke_viiiiiiiii,\n \"u\": invoke_viiiiiiiiiii,\n \"J\": invoke_viiiiiiiiiiiiiii,\n \"H\": _strftime\n};\n\nvar asm = createWasm();\n\nvar ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"ia\"]).apply(null, arguments);\n};\n\nvar _malloc = function() {\n return (_malloc = Module[\"asm\"][\"ja\"]).apply(null, arguments);\n};\n\nvar _free = function() {\n return (_free = Module[\"asm\"][\"ka\"]).apply(null, arguments);\n};\n\nvar _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"la\"]).apply(null, arguments);\n};\n\nvar _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"ma\"]).apply(null, arguments);\n};\n\nvar _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"na\"]).apply(null, arguments);\n};\n\nvar ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"oa\"]).apply(null, arguments);\n};\n\nvar ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"pa\"]).apply(null, arguments);\n};\n\nvar _setThrew = function() {\n return (_setThrew = Module[\"asm\"][\"ra\"]).apply(null, arguments);\n};\n\nvar _saveSetjmp = function() {\n return (_saveSetjmp = Module[\"asm\"][\"saveSetjmp\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n};\n\nvar stackSave = function() {\n return (stackSave = Module[\"asm\"][\"sa\"]).apply(null, arguments);\n};\n\nvar stackRestore = function() {\n return (stackRestore = Module[\"asm\"][\"ta\"]).apply(null, arguments);\n};\n\nvar stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"ua\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiii = Module[\"dynCall_iiiii\"] = function() {\n return (dynCall_iiiii = Module[\"dynCall_iiiii\"] = Module[\"asm\"][\"va\"]).apply(null, arguments);\n};\n\nvar dynCall_ii = Module[\"dynCall_ii\"] = function() {\n return (dynCall_ii = Module[\"dynCall_ii\"] = Module[\"asm\"][\"wa\"]).apply(null, arguments);\n};\n\nvar dynCall_vi = Module[\"dynCall_vi\"] = function() {\n return (dynCall_vi = Module[\"dynCall_vi\"] = Module[\"asm\"][\"xa\"]).apply(null, arguments);\n};\n\nvar dynCall_iii = Module[\"dynCall_iii\"] = function() {\n return (dynCall_iii = Module[\"dynCall_iii\"] = Module[\"asm\"][\"ya\"]).apply(null, arguments);\n};\n\nvar dynCall_viii = Module[\"dynCall_viii\"] = function() {\n return (dynCall_viii = Module[\"dynCall_viii\"] = Module[\"asm\"][\"za\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiiiii = Module[\"dynCall_viiiiiiii\"] = function() {\n return (dynCall_viiiiiiii = Module[\"dynCall_viiiiiiii\"] = Module[\"asm\"][\"Aa\"]).apply(null, arguments);\n};\n\nvar dynCall_vii = Module[\"dynCall_vii\"] = function() {\n return (dynCall_vii = Module[\"dynCall_vii\"] = Module[\"asm\"][\"Ba\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiii = Module[\"dynCall_viiiii\"] = function() {\n return (dynCall_viiiii = Module[\"dynCall_viiiii\"] = Module[\"asm\"][\"Ca\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiii = Module[\"dynCall_iiiiii\"] = function() {\n return (dynCall_iiiiii = Module[\"dynCall_iiiiii\"] = Module[\"asm\"][\"Da\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiii = Module[\"dynCall_viiiiii\"] = function() {\n return (dynCall_viiiiii = Module[\"dynCall_viiiiii\"] = Module[\"asm\"][\"Ea\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiiii = Module[\"dynCall_iiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiii = Module[\"dynCall_iiiiiiiii\"] = Module[\"asm\"][\"Fa\"]).apply(null, arguments);\n};\n\nvar dynCall_iiii = Module[\"dynCall_iiii\"] = function() {\n return (dynCall_iiii = Module[\"dynCall_iiii\"] = Module[\"asm\"][\"Ga\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiiiiii = Module[\"dynCall_viiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiii = Module[\"dynCall_viiiiiiiii\"] = Module[\"asm\"][\"Ha\"]).apply(null, arguments);\n};\n\nvar dynCall_viiii = Module[\"dynCall_viiii\"] = function() {\n return (dynCall_viiii = Module[\"dynCall_viiii\"] = Module[\"asm\"][\"Ia\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiii = Module[\"dynCall_iiiiiii\"] = function() {\n return (dynCall_iiiiiii = Module[\"dynCall_iiiiiii\"] = Module[\"asm\"][\"Ja\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiiiiiiii = Module[\"dynCall_viiiiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiiiii = Module[\"dynCall_viiiiiiiiiii\"] = Module[\"asm\"][\"Ka\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiiiii = Module[\"dynCall_iiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiii = Module[\"dynCall_iiiiiiiiii\"] = Module[\"asm\"][\"La\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiii = Module[\"dynCall_iiiiiiii\"] = function() {\n return (dynCall_iiiiiiii = Module[\"dynCall_iiiiiiii\"] = Module[\"asm\"][\"Ma\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiiiiii = Module[\"dynCall_iiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiii = Module[\"dynCall_iiiiiiiiiii\"] = Module[\"asm\"][\"Na\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiii\"] = Module[\"asm\"][\"Oa\"]).apply(null, arguments);\n};\n\nvar dynCall_v = Module[\"dynCall_v\"] = function() {\n return (dynCall_v = Module[\"dynCall_v\"] = Module[\"asm\"][\"Pa\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiiiiiii\"] = Module[\"asm\"][\"Qa\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiiii = Module[\"dynCall_viiiiiii\"] = function() {\n return (dynCall_viiiiiii = Module[\"dynCall_viiiiiii\"] = Module[\"asm\"][\"Ra\"]).apply(null, arguments);\n};\n\nvar dynCall_viiiiiiiiiiiiiii = Module[\"dynCall_viiiiiiiiiiiiiii\"] = function() {\n return (dynCall_viiiiiiiiiiiiiii = Module[\"dynCall_viiiiiiiiiiiiiii\"] = Module[\"asm\"][\"Sa\"]).apply(null, arguments);\n};\n\nvar dynCall_i = Module[\"dynCall_i\"] = function() {\n return (dynCall_i = Module[\"dynCall_i\"] = Module[\"asm\"][\"Ta\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiii\"] = Module[\"asm\"][\"Ua\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiiiii\"] = function() {\n return (dynCall_iiiiiiiiiiiiiiii = Module[\"dynCall_iiiiiiiiiiiiiiii\"] = Module[\"asm\"][\"Va\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"Wa\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"Xa\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"Ya\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"Za\"]).apply(null, arguments);\n};\n\nvar ___start_em_js = Module[\"___start_em_js\"] = 356528;\n\nvar ___stop_em_js = Module[\"___stop_em_js\"] = 359213;\n\nfunction invoke_viii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n dynCall_viii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_vii(index, a1, a2) {\n var sp = stackSave();\n try {\n dynCall_vii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiii(index, a1, a2, a3, a4, a5) {\n var sp = stackSave();\n try {\n return dynCall_iiiiii(index, a1, a2, a3, a4, a5);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iii(index, a1, a2) {\n var sp = stackSave();\n try {\n return dynCall_iii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) {\n var sp = stackSave();\n try {\n dynCall_viiiiii(index, a1, a2, a3, a4, a5, a6);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_iiii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_vi(index, a1) {\n var sp = stackSave();\n try {\n dynCall_vi(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n dynCall_viiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_ii(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ii(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiii(index, a1, a2, a3, a4, a5, a6);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiii(index, a1, a2, a3, a4, a5) {\n var sp = stackSave();\n try {\n dynCall_viiiii(index, a1, a2, a3, a4, a5);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n return dynCall_iiiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_v(index) {\n var sp = stackSave();\n try {\n dynCall_v(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {\n var sp = stackSave();\n try {\n dynCall_viiiiiii(index, a1, a2, a3, a4, a5, a6, a7);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) {\n var sp = stackSave();\n try {\n dynCall_viiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_i(index) {\n var sp = stackSave();\n try {\n return dynCall_i(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) {\n var sp = stackSave();\n try {\n return dynCall_iiiiiiiiiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nModule[\"AsciiToString\"] = AsciiToString;\n\nModule[\"FS\"] = FS;\n\nvar calledRun;\n\ndependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n};\n\nfunction callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach(arg => {\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n}\n\nfunction run(args = arguments_) {\n if (runDependencies > 0) {\n return;\n }\n preRun();\n if (runDependencies > 0) {\n return;\n }\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else {\n doRun();\n }\n}\n\nif (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [ Module[\"preInit\"] ];\n while (Module[\"preInit\"].length > 0) {\n Module[\"preInit\"].pop()();\n }\n}\n\nvar shouldRunNow = true;\n\nif (Module[\"noInitialRun\"]) shouldRunNow = false;\n\nrun();\n\n\n return Module.ready\n}\n\n);\n})();\nexport default Module;","module.exports = require('./helpers/bundle-url').getBundleURL('ejVIo') + require('./helpers/bundle-manifest').resolve(\"b8QSH\");","/*\n\nEmglken port of Scare\n=====================\n\nCopyright (c) 2023 Dannii Willis\nMIT licenced\nhttps://github.com/curiousdannii/emglken\n\n*/\n\nimport EmglkenVM from './vm.js'\nimport ScareCore from '../build/scare-core.js'\n\nexport default class Scare extends EmglkenVM\n{\n default_options()\n {\n return {\n vmcore: ScareCore,\n }\n }\n}","\nvar Module = (() => {\n var _scriptDir = import.meta.url;\n \n return (\nfunction(Module = {}) {\n\nvar Module = typeof Module != \"undefined\" ? Module : {};\n\nvar readyPromiseResolve, readyPromiseReject;\n\nModule[\"ready\"] = new Promise(function(resolve, reject) {\n readyPromiseResolve = resolve;\n readyPromiseReject = reject;\n});\n\nvar moduleOverrides = Object.assign({}, Module);\n\nvar arguments_ = [];\n\nvar thisProgram = \"./this.program\";\n\nvar quit_ = (status, toThrow) => {\n throw toThrow;\n};\n\nvar ENVIRONMENT_IS_WEB = true;\n\nvar ENVIRONMENT_IS_WORKER = false;\n\nvar scriptDirectory = \"\";\n\nfunction locateFile(path) {\n if (Module[\"locateFile\"]) {\n return Module[\"locateFile\"](path, scriptDirectory);\n }\n return scriptDirectory + path;\n}\n\nvar read_, readAsync, readBinary, setWindowTitle;\n\nif (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {\n if (ENVIRONMENT_IS_WORKER) {\n scriptDirectory = self.location.href;\n } else if (typeof document != \"undefined\" && document.currentScript) {\n scriptDirectory = document.currentScript.src;\n }\n if (_scriptDir) {\n scriptDirectory = _scriptDir;\n }\n if (scriptDirectory.indexOf(\"blob:\") !== 0) {\n scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n } else {\n scriptDirectory = \"\";\n }\n {\n read_ = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.send(null);\n return xhr.responseText;\n };\n if (ENVIRONMENT_IS_WORKER) {\n readBinary = url => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n xhr.responseType = \"arraybuffer\";\n xhr.send(null);\n return new Uint8Array(xhr.response);\n };\n }\n readAsync = (url, onload, onerror) => {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"arraybuffer\";\n xhr.onload = () => {\n if (xhr.status == 200 || xhr.status == 0 && xhr.response) {\n onload(xhr.response);\n return;\n }\n onerror();\n };\n xhr.onerror = onerror;\n xhr.send(null);\n };\n }\n setWindowTitle = title => document.title = title;\n} else {}\n\nvar out = Module[\"print\"] || console.log.bind(console);\n\nvar err = Module[\"printErr\"] || console.warn.bind(console);\n\nObject.assign(Module, moduleOverrides);\n\nmoduleOverrides = null;\n\nif (Module[\"arguments\"]) arguments_ = Module[\"arguments\"];\n\nif (Module[\"thisProgram\"]) thisProgram = Module[\"thisProgram\"];\n\nif (Module[\"quit\"]) quit_ = Module[\"quit\"];\n\nvar wasmBinary;\n\nif (Module[\"wasmBinary\"]) wasmBinary = Module[\"wasmBinary\"];\n\nvar noExitRuntime = Module[\"noExitRuntime\"] || false;\n\nif (typeof WebAssembly != \"object\") {\n abort(\"no native wasm support detected\");\n}\n\nvar wasmMemory;\n\nvar ABORT = false;\n\nvar EXITSTATUS;\n\nfunction assert(condition, text) {\n if (!condition) {\n abort(text);\n }\n}\n\nvar UTF8Decoder = new TextDecoder(\"utf8\");\n\nfunction UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n return UTF8Decoder.decode(heapOrArray.buffer ? heapOrArray.subarray(idx, endPtr) : new Uint8Array(heapOrArray.slice(idx, endPtr)));\n}\n\nfunction UTF8ToString(ptr, maxBytesToRead) {\n if (!ptr) return \"\";\n var maxPtr = ptr + maxBytesToRead;\n for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end;\n return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));\n}\n\nfunction stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for (var i = 0; i < str.length; ++i) {\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = 65536 + ((u & 1023) << 10) | u1 & 1023;\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n heap[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n heap[outIdx++] = 192 | u >> 6;\n heap[outIdx++] = 128 | u & 63;\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n heap[outIdx++] = 224 | u >> 12;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n } else {\n if (outIdx + 3 >= endIdx) break;\n heap[outIdx++] = 240 | u >> 18;\n heap[outIdx++] = 128 | u >> 12 & 63;\n heap[outIdx++] = 128 | u >> 6 & 63;\n heap[outIdx++] = 128 | u & 63;\n }\n }\n heap[outIdx] = 0;\n return outIdx - startIdx;\n}\n\nfunction stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n}\n\nfunction lengthBytesUTF8(str) {\n var len = 0;\n for (var i = 0; i < str.length; ++i) {\n var c = str.charCodeAt(i);\n if (c <= 127) {\n len++;\n } else if (c <= 2047) {\n len += 2;\n } else if (c >= 55296 && c <= 57343) {\n len += 4;\n ++i;\n } else {\n len += 3;\n }\n }\n return len;\n}\n\nvar HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\n\nfunction updateMemoryViews() {\n var b = wasmMemory.buffer;\n Module[\"HEAP8\"] = HEAP8 = new Int8Array(b);\n Module[\"HEAP16\"] = HEAP16 = new Int16Array(b);\n Module[\"HEAP32\"] = HEAP32 = new Int32Array(b);\n Module[\"HEAPU8\"] = HEAPU8 = new Uint8Array(b);\n Module[\"HEAPU16\"] = HEAPU16 = new Uint16Array(b);\n Module[\"HEAPU32\"] = HEAPU32 = new Uint32Array(b);\n Module[\"HEAPF32\"] = HEAPF32 = new Float32Array(b);\n Module[\"HEAPF64\"] = HEAPF64 = new Float64Array(b);\n}\n\nvar wasmTable;\n\nvar __ATPRERUN__ = [];\n\nvar __ATINIT__ = [];\n\nvar __ATMAIN__ = [];\n\nvar __ATEXIT__ = [];\n\nvar __ATPOSTRUN__ = [];\n\nvar runtimeInitialized = false;\n\nvar runtimeExited = false;\n\nvar runtimeKeepaliveCounter = 0;\n\nfunction keepRuntimeAlive() {\n return noExitRuntime || runtimeKeepaliveCounter > 0;\n}\n\nfunction preRun() {\n if (Module[\"preRun\"]) {\n if (typeof Module[\"preRun\"] == \"function\") Module[\"preRun\"] = [ Module[\"preRun\"] ];\n while (Module[\"preRun\"].length) {\n addOnPreRun(Module[\"preRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPRERUN__);\n}\n\nfunction initRuntime() {\n runtimeInitialized = true;\n if (!Module[\"noFSInit\"] && !FS.init.initialized) FS.init();\n FS.ignorePermissions = false;\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n}\n\nfunction preMain() {\n callRuntimeCallbacks(__ATMAIN__);\n}\n\nfunction exitRuntime() {\n ___funcs_on_exit();\n callRuntimeCallbacks(__ATEXIT__);\n FS.quit();\n TTY.shutdown();\n runtimeExited = true;\n}\n\nfunction postRun() {\n if (Module[\"postRun\"]) {\n if (typeof Module[\"postRun\"] == \"function\") Module[\"postRun\"] = [ Module[\"postRun\"] ];\n while (Module[\"postRun\"].length) {\n addOnPostRun(Module[\"postRun\"].shift());\n }\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n}\n\nfunction addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n}\n\nfunction addOnInit(cb) {\n __ATINIT__.unshift(cb);\n}\n\nfunction addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n}\n\nvar runDependencies = 0;\n\nvar runDependencyWatcher = null;\n\nvar dependenciesFulfilled = null;\n\nfunction getUniqueRunDependency(id) {\n return id;\n}\n\nfunction addRunDependency(id) {\n runDependencies++;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n}\n\nfunction removeRunDependency(id) {\n runDependencies--;\n if (Module[\"monitorRunDependencies\"]) {\n Module[\"monitorRunDependencies\"](runDependencies);\n }\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n}\n\nfunction abort(what) {\n if (Module[\"onAbort\"]) {\n Module[\"onAbort\"](what);\n }\n what = \"Aborted(\" + what + \")\";\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what += \". Build with -sASSERTIONS for more info.\";\n var e = new WebAssembly.RuntimeError(what);\n readyPromiseReject(e);\n throw e;\n}\n\nvar dataURIPrefix = \"data:application/octet-stream;base64,\";\n\nfunction isDataURI(filename) {\n return filename.startsWith(dataURIPrefix);\n}\n\nvar wasmBinaryFile;\n\nif (Module[\"locateFile\"]) {\n wasmBinaryFile = \"scare-core.wasm\";\n if (!isDataURI(wasmBinaryFile)) {\n wasmBinaryFile = locateFile(wasmBinaryFile);\n }\n} else {\n wasmBinaryFile = new URL(\"scare-core.wasm\", import.meta.url).href;\n}\n\nfunction getBinary(file) {\n try {\n if (file == wasmBinaryFile && wasmBinary) {\n return new Uint8Array(wasmBinary);\n }\n if (readBinary) {\n return readBinary(file);\n }\n throw \"both async and sync fetching of the wasm failed\";\n } catch (err) {\n abort(err);\n }\n}\n\nfunction getBinaryPromise(binaryFile) {\n if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {\n if (typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n if (!response[\"ok\"]) {\n throw \"failed to load wasm binary file at '\" + binaryFile + \"'\";\n }\n return response[\"arrayBuffer\"]();\n }).catch(function() {\n return getBinary(binaryFile);\n });\n }\n }\n return Promise.resolve().then(function() {\n return getBinary(binaryFile);\n });\n}\n\nfunction instantiateArrayBuffer(binaryFile, imports, receiver) {\n return getBinaryPromise(binaryFile).then(function(binary) {\n return WebAssembly.instantiate(binary, imports);\n }).then(function(instance) {\n return instance;\n }).then(receiver, function(reason) {\n err(\"failed to asynchronously prepare wasm: \" + reason);\n abort(reason);\n });\n}\n\nfunction instantiateAsync(binary, binaryFile, imports, callback) {\n if (!binary && typeof WebAssembly.instantiateStreaming == \"function\" && !isDataURI(binaryFile) && typeof fetch == \"function\") {\n return fetch(binaryFile, {\n credentials: \"same-origin\"\n }).then(function(response) {\n var result = WebAssembly.instantiateStreaming(response, imports);\n return result.then(callback, function(reason) {\n err(\"wasm streaming compile failed: \" + reason);\n err(\"falling back to ArrayBuffer instantiation\");\n return instantiateArrayBuffer(binaryFile, imports, callback);\n });\n });\n } else {\n return instantiateArrayBuffer(binaryFile, imports, callback);\n }\n}\n\nfunction createWasm() {\n var info = {\n \"a\": wasmImports\n };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n exports = Asyncify.instrumentWasmExports(exports);\n Module[\"asm\"] = exports;\n wasmMemory = Module[\"asm\"][\"E\"];\n updateMemoryViews();\n wasmTable = Module[\"asm\"][\"N\"];\n addOnInit(Module[\"asm\"][\"F\"]);\n removeRunDependency(\"wasm-instantiate\");\n return exports;\n }\n addRunDependency(\"wasm-instantiate\");\n function receiveInstantiationResult(result) {\n receiveInstance(result[\"instance\"]);\n }\n if (Module[\"instantiateWasm\"]) {\n try {\n return Module[\"instantiateWasm\"](info, receiveInstance);\n } catch (e) {\n err(\"Module.instantiateWasm callback failed with error: \" + e);\n readyPromiseReject(e);\n }\n }\n instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);\n return {};\n}\n\nvar tempDouble;\n\nvar tempI64;\n\nfunction __asyncjs__emglken_fill_stdin_buffer(buffer, maxlen) {\n return Asyncify.handleAsync(async () => {\n if (!Module.emglken_stdin_buffers.length) {\n await new Promise(resolve => {\n Module.emglken_stdin_ready = resolve;\n });\n }\n const input = Module.emglken_stdin_buffers.shift();\n const len = Math.min(input.length, maxlen);\n if (len == input.length) {\n HEAPU8.set(input, buffer);\n } else {\n HEAPU8.set(input.subarray(0, len), buffer);\n Module.emglken_stdin_buffers.unshift(input.subarray(len));\n }\n return len;\n });\n}\n\nfunction ExitStatus(status) {\n this.name = \"ExitStatus\";\n this.message = \"Program terminated with exit(\" + status + \")\";\n this.status = status;\n}\n\nfunction callRuntimeCallbacks(callbacks) {\n while (callbacks.length > 0) {\n callbacks.shift()(Module);\n }\n}\n\nvar PATH = {\n isAbs: path => path.charAt(0) === \"/\",\n splitPath: filename => {\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: (parts, allowAboveRoot) => {\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === \".\") {\n parts.splice(i, 1);\n } else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) {\n for (;up; up--) {\n parts.unshift(\"..\");\n }\n }\n return parts;\n },\n normalize: path => {\n var isAbsolute = PATH.isAbs(path), trailingSlash = path.substr(-1) === \"/\";\n path = PATH.normalizeArray(path.split(\"/\").filter(p => !!p), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) {\n path = \".\";\n }\n if (path && trailingSlash) {\n path += \"/\";\n }\n return (isAbsolute ? \"/\" : \"\") + path;\n },\n dirname: path => {\n var result = PATH.splitPath(path), root = result[0], dir = result[1];\n if (!root && !dir) {\n return \".\";\n }\n if (dir) {\n dir = dir.substr(0, dir.length - 1);\n }\n return root + dir;\n },\n basename: path => {\n if (path === \"/\") return \"/\";\n path = PATH.normalize(path);\n path = path.replace(/\\/$/, \"\");\n var lastSlash = path.lastIndexOf(\"/\");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments);\n return PATH.normalize(paths.join(\"/\"));\n },\n join2: (l, r) => {\n return PATH.normalize(l + \"/\" + r);\n }\n};\n\nfunction getRandomDevice() {\n if (typeof crypto == \"object\" && typeof crypto[\"getRandomValues\"] == \"function\") {\n var randomBuffer = new Uint8Array(1);\n return () => {\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else return () => abort(\"randomDevice\");\n}\n\nvar PATH_FS = {\n resolve: function() {\n var resolvedPath = \"\", resolvedAbsolute = false;\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path != \"string\") {\n throw new TypeError(\"Arguments to path.resolve must be strings\");\n } else if (!path) {\n return \"\";\n }\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = PATH.isAbs(path);\n }\n resolvedPath = PATH.normalizeArray(resolvedPath.split(\"/\").filter(p => !!p), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n },\n relative: (from, to) => {\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for (;start < arr.length; start++) {\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for (;end >= 0; end--) {\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push(\"..\");\n }\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n }\n};\n\nfunction intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n}\n\nvar TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = {\n input: [],\n output: [],\n ops: ops\n };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) {\n throw new FS.ErrnoError(43);\n }\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n fsync: function(stream) {\n stream.tty.ops.fsync(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) {\n throw new FS.ErrnoError(60);\n }\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) {\n throw new FS.ErrnoError(60);\n }\n try {\n for (var i = 0; i < length; i++) {\n stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n }\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (typeof window != \"undefined\" && typeof window.prompt == \"function\") {\n result = window.prompt(\"Input: \");\n if (result !== null) {\n result += \"\\n\";\n }\n } else if (typeof readline == \"function\") {\n result = readline();\n if (result !== null) {\n result += \"\\n\";\n }\n }\n if (!result) {\n return null;\n }\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n fsync: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n};\n\nfunction mmapAlloc(size) {\n abort();\n}\n\nvar MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, \"/\", 16384 | 511, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {\n throw new FS.ErrnoError(63);\n }\n if (!MEMFS.ops_table) {\n MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek\n }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n }\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n parent.timestamp = node.timestamp;\n }\n return node;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array(0);\n if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1024 * 1024;\n newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0);\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n } else {\n var oldContents = node.contents;\n node.contents = new Uint8Array(newSize);\n if (oldContents) {\n node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes)));\n }\n node.usedBytes = newSize;\n }\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) {\n attr.size = 4096;\n } else if (FS.isFile(node.mode)) {\n attr.size = node.usedBytes;\n } else if (FS.isLink(node.mode)) {\n attr.size = node.link.length;\n } else {\n attr.size = 0;\n }\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) {\n node.mode = attr.mode;\n }\n if (attr.timestamp !== undefined) {\n node.timestamp = attr.timestamp;\n }\n if (attr.size !== undefined) {\n MEMFS.resizeFileStorage(node, attr.size);\n }\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for (var i in new_node.contents) {\n throw new FS.ErrnoError(55);\n }\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.parent.timestamp = Date.now();\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n new_dir.timestamp = old_node.parent.timestamp;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for (var i in node.contents) {\n throw new FS.ErrnoError(55);\n }\n delete parent.contents[name];\n parent.timestamp = Date.now();\n },\n readdir: function(node) {\n var entries = [ \".\", \"..\" ];\n for (var key in node.contents) {\n if (!node.contents.hasOwnProperty(key)) {\n continue;\n }\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) {\n buffer.set(contents.subarray(position, position + size), offset);\n } else {\n for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];\n }\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) {\n canOwn = false;\n }\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = buffer.slice(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n } else {\n for (var i = 0; i < length; i++) {\n node.contents[position + i] = buffer[offset + i];\n }\n }\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) {\n position += stream.position;\n } else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) {\n position += stream.node.usedBytes;\n }\n }\n if (position < 0) {\n throw new FS.ErrnoError(28);\n }\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === HEAP8.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < contents.length) {\n if (contents.subarray) {\n contents = contents.subarray(position, position + length);\n } else {\n contents = Array.prototype.slice.call(contents, position, position + length);\n }\n }\n allocated = true;\n ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n HEAP8.set(contents, ptr);\n }\n return {\n ptr: ptr,\n allocated: allocated\n };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);\n return 0;\n }\n }\n};\n\nfunction asyncLoad(url, onload, onerror, noRunDep) {\n var dep = !noRunDep ? getUniqueRunDependency(\"al \" + url) : \"\";\n readAsync(url, arrayBuffer => {\n assert(arrayBuffer, 'Loading data file \"' + url + '\" failed (no arrayBuffer).');\n onload(new Uint8Array(arrayBuffer));\n if (dep) removeRunDependency(dep);\n }, event => {\n if (onerror) {\n onerror();\n } else {\n throw 'Loading data file \"' + url + '\" failed.';\n }\n });\n if (dep) addRunDependency(dep);\n}\n\nvar FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: \"/\",\n initialized: false,\n ignorePermissions: true,\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n lookupPath: (path, opts = {}) => {\n path = PATH_FS.resolve(path);\n if (!path) return {\n path: \"\",\n node: null\n };\n var defaults = {\n follow_mount: true,\n recurse_count: 0\n };\n opts = Object.assign(defaults, opts);\n if (opts.recurse_count > 8) {\n throw new FS.ErrnoError(32);\n }\n var parts = path.split(\"/\").filter(p => !!p);\n var current = FS.root;\n var current_path = \"/\";\n for (var i = 0; i < parts.length; i++) {\n var islast = i === parts.length - 1;\n if (islast && opts.parent) {\n break;\n }\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || islast && opts.follow_mount) {\n current = current.mounted.root;\n }\n }\n if (!islast || opts.follow) {\n var count = 0;\n while (FS.isLink(current.mode)) {\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count + 1\n });\n current = lookup.node;\n if (count++ > 40) {\n throw new FS.ErrnoError(32);\n }\n }\n }\n }\n return {\n path: current_path,\n node: current\n };\n },\n getPath: node => {\n var path;\n while (true) {\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== \"/\" ? mount + \"/\" + path : mount + path;\n }\n path = path ? node.name + \"/\" + path : node.name;\n node = node.parent;\n }\n },\n hashName: (parentid, name) => {\n var hash = 0;\n for (var i = 0; i < name.length; i++) {\n hash = (hash << 5) - hash + name.charCodeAt(i) | 0;\n }\n return (parentid + hash >>> 0) % FS.nameTable.length;\n },\n hashAddNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: node => {\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) {\n FS.nameTable[hash] = node.name_next;\n } else {\n var current = FS.nameTable[hash];\n while (current) {\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: (parent, name) => {\n var errCode = FS.mayLookup(parent);\n if (errCode) {\n throw new FS.ErrnoError(errCode, parent);\n }\n var hash = FS.hashName(parent.id, name);\n for (var node = FS.nameTable[hash]; node; node = node.name_next) {\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) {\n return node;\n }\n }\n return FS.lookup(parent, name);\n },\n createNode: (parent, name, mode, rdev) => {\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: node => {\n FS.hashRemoveNode(node);\n },\n isRoot: node => {\n return node === node.parent;\n },\n isMountpoint: node => {\n return !!node.mounted;\n },\n isFile: mode => {\n return (mode & 61440) === 32768;\n },\n isDir: mode => {\n return (mode & 61440) === 16384;\n },\n isLink: mode => {\n return (mode & 61440) === 40960;\n },\n isChrdev: mode => {\n return (mode & 61440) === 8192;\n },\n isBlkdev: mode => {\n return (mode & 61440) === 24576;\n },\n isFIFO: mode => {\n return (mode & 61440) === 4096;\n },\n isSocket: mode => {\n return (mode & 49152) === 49152;\n },\n flagModes: {\n \"r\": 0,\n \"r+\": 2,\n \"w\": 577,\n \"w+\": 578,\n \"a\": 1089,\n \"a+\": 1090\n },\n modeStringToFlags: str => {\n var flags = FS.flagModes[str];\n if (typeof flags == \"undefined\") {\n throw new Error(\"Unknown file open mode: \" + str);\n }\n return flags;\n },\n flagsToPermissionString: flag => {\n var perms = [ \"r\", \"w\", \"rw\" ][flag & 3];\n if (flag & 512) {\n perms += \"w\";\n }\n return perms;\n },\n nodePermissions: (node, perms) => {\n if (FS.ignorePermissions) {\n return 0;\n }\n if (perms.includes(\"r\") && !(node.mode & 292)) {\n return 2;\n } else if (perms.includes(\"w\") && !(node.mode & 146)) {\n return 2;\n } else if (perms.includes(\"x\") && !(node.mode & 73)) {\n return 2;\n }\n return 0;\n },\n mayLookup: dir => {\n var errCode = FS.nodePermissions(dir, \"x\");\n if (errCode) return errCode;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: (dir, name) => {\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, \"wx\");\n },\n mayDelete: (dir, name, isdir) => {\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var errCode = FS.nodePermissions(dir, \"wx\");\n if (errCode) {\n return errCode;\n }\n if (isdir) {\n if (!FS.isDir(node.mode)) {\n return 54;\n }\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {\n return 10;\n }\n } else {\n if (FS.isDir(node.mode)) {\n return 31;\n }\n }\n return 0;\n },\n mayOpen: (node, flags) => {\n if (!node) {\n return 44;\n }\n if (FS.isLink(node.mode)) {\n return 32;\n } else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== \"r\" || flags & 512) {\n return 31;\n }\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: (fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => {\n for (var fd = fd_start; fd <= fd_end; fd++) {\n if (!FS.streams[fd]) {\n return fd;\n }\n }\n throw new FS.ErrnoError(33);\n },\n getStream: fd => FS.streams[fd],\n createStream: (stream, fd_start, fd_end) => {\n if (!FS.FSStream) {\n FS.FSStream = function() {\n this.shared = {};\n };\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n },\n flags: {\n get: function() {\n return this.shared.flags;\n },\n set: function(val) {\n this.shared.flags = val;\n }\n },\n position: {\n get: function() {\n return this.shared.position;\n },\n set: function(val) {\n this.shared.position = val;\n }\n }\n });\n }\n stream = Object.assign(new FS.FSStream(), stream);\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: fd => {\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: stream => {\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n },\n llseek: () => {\n throw new FS.ErrnoError(70);\n }\n },\n major: dev => dev >> 8,\n minor: dev => dev & 255,\n makedev: (ma, mi) => ma << 8 | mi,\n registerDevice: (dev, ops) => {\n FS.devices[dev] = {\n stream_ops: ops\n };\n },\n getDevice: dev => FS.devices[dev],\n getMounts: mount => {\n var mounts = [];\n var check = [ mount ];\n while (check.length) {\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: (populate, callback) => {\n if (typeof populate == \"function\") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) {\n err(\"warning: \" + FS.syncFSRequests + \" FS.syncfs operations in flight at once, probably just doing extra work\");\n }\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(errCode) {\n FS.syncFSRequests--;\n return callback(errCode);\n }\n function done(errCode) {\n if (errCode) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(errCode);\n }\n return;\n }\n if (++completed >= mounts.length) {\n doCallback(null);\n }\n }\n mounts.forEach(mount => {\n if (!mount.type.syncfs) {\n return done(null);\n }\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: (type, opts, mountpoint) => {\n var root = mountpoint === \"/\";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) {\n throw new FS.ErrnoError(10);\n } else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n if (!FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n }\n var mount = {\n type: type,\n opts: opts,\n mountpoint: mountpoint,\n mounts: []\n };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) {\n FS.root = mountRoot;\n } else if (node) {\n node.mounted = mount;\n if (node.mount) {\n node.mount.mounts.push(mount);\n }\n }\n return mountRoot;\n },\n unmount: mountpoint => {\n var lookup = FS.lookupPath(mountpoint, {\n follow_mount: false\n });\n if (!FS.isMountpoint(lookup.node)) {\n throw new FS.ErrnoError(28);\n }\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach(hash => {\n var current = FS.nameTable[hash];\n while (current) {\n var next = current.name_next;\n if (mounts.includes(current.mount)) {\n FS.destroyNode(current);\n }\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: (parent, name) => {\n return parent.node_ops.lookup(parent, name);\n },\n mknod: (path, mode, dev) => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === \".\" || name === \"..\") {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.mayCreate(parent, name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.mknod) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: (path, mode) => {\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: (path, mode) => {\n mode = mode !== undefined ? mode : 511;\n mode &= 511 | 512;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: (path, mode) => {\n var dirs = path.split(\"/\");\n var d = \"\";\n for (var i = 0; i < dirs.length; ++i) {\n if (!dirs[i]) continue;\n d += \"/\" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: (path, mode, dev) => {\n if (typeof dev == \"undefined\") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: (oldpath, newpath) => {\n if (!PATH_FS.resolve(oldpath)) {\n throw new FS.ErrnoError(44);\n }\n var lookup = FS.lookupPath(newpath, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var newname = PATH.basename(newpath);\n var errCode = FS.mayCreate(parent, newname);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.symlink) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: (old_path, new_path) => {\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n lookup = FS.lookupPath(old_path, {\n parent: true\n });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, {\n parent: true\n });\n new_dir = lookup.node;\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) {\n throw new FS.ErrnoError(75);\n }\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(28);\n }\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== \".\") {\n throw new FS.ErrnoError(55);\n }\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) {\n return;\n }\n var isdir = FS.isDir(old_node.mode);\n var errCode = FS.mayDelete(old_dir, old_name, isdir);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!old_dir.node_ops.rename) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) {\n throw new FS.ErrnoError(10);\n }\n if (new_dir !== old_dir) {\n errCode = FS.nodePermissions(old_dir, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally {\n FS.hashAddNode(old_node);\n }\n },\n rmdir: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, true);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.rmdir) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n },\n readdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node.node_ops.readdir) {\n throw new FS.ErrnoError(54);\n }\n return node.node_ops.readdir(node);\n },\n unlink: path => {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var errCode = FS.mayDelete(parent, name, false);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n if (!parent.node_ops.unlink) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n },\n readlink: path => {\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) {\n throw new FS.ErrnoError(44);\n }\n if (!link.node_ops.readlink) {\n throw new FS.ErrnoError(28);\n }\n return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));\n },\n stat: (path, dontFollow) => {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n var node = lookup.node;\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (!node.node_ops.getattr) {\n throw new FS.ErrnoError(63);\n }\n return node.node_ops.getattr(node);\n },\n lstat: path => {\n return FS.stat(path, true);\n },\n chmod: (path, mode, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n mode: mode & 4095 | node.mode & ~4095,\n timestamp: Date.now()\n });\n },\n lchmod: (path, mode) => {\n FS.chmod(path, mode, true);\n },\n fchmod: (fd, mode) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chmod(stream.node, mode);\n },\n chown: (path, uid, gid, dontFollow) => {\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: !dontFollow\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n timestamp: Date.now()\n });\n },\n lchown: (path, uid, gid) => {\n FS.chown(path, uid, gid, true);\n },\n fchown: (fd, uid, gid) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chown(stream.node, uid, gid);\n },\n truncate: (path, len) => {\n if (len < 0) {\n throw new FS.ErrnoError(28);\n }\n var node;\n if (typeof path == \"string\") {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isDir(node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!FS.isFile(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n var errCode = FS.nodePermissions(node, \"w\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n node.node_ops.setattr(node, {\n size: len,\n timestamp: Date.now()\n });\n },\n ftruncate: (fd, len) => {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(28);\n }\n FS.truncate(stream.node, len);\n },\n utime: (path, atime, mtime) => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n node.node_ops.setattr(node, {\n timestamp: Math.max(atime, mtime)\n });\n },\n open: (path, flags, mode) => {\n if (path === \"\") {\n throw new FS.ErrnoError(44);\n }\n flags = typeof flags == \"string\" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode == \"undefined\" ? 438 : mode;\n if (flags & 64) {\n mode = mode & 4095 | 32768;\n } else {\n mode = 0;\n }\n var node;\n if (typeof path == \"object\") {\n node = path;\n } else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, {\n follow: !(flags & 131072)\n });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) {\n throw new FS.ErrnoError(20);\n }\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (FS.isChrdev(node.mode)) {\n flags &= ~512;\n }\n if (flags & 65536 && !FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n if (!created) {\n var errCode = FS.mayOpen(node, flags);\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n }\n if (flags & 512 && !created) {\n FS.truncate(node, 0);\n }\n flags &= ~(128 | 512 | 131072);\n var stream = FS.createStream({\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n });\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n if (Module[\"logReadFiles\"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) {\n FS.readFiles[path] = 1;\n }\n }\n return stream;\n },\n close: stream => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) {\n stream.stream_ops.close(stream);\n }\n } catch (e) {\n throw e;\n } finally {\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: stream => {\n return stream.fd === null;\n },\n llseek: (stream, offset, whence) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (!stream.seekable || !stream.stream_ops.llseek) {\n throw new FS.ErrnoError(70);\n }\n if (whence != 0 && whence != 1 && whence != 2) {\n throw new FS.ErrnoError(28);\n }\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: (stream, buffer, offset, length, position) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.read) {\n throw new FS.ErrnoError(28);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: (stream, buffer, offset, length, position, canOwn) => {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.write) {\n throw new FS.ErrnoError(28);\n }\n if (stream.seekable && stream.flags & 1024) {\n FS.llseek(stream, 0, 2);\n }\n var seeking = typeof position != \"undefined\";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: (stream, offset, length) => {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (offset < 0 || length <= 0) {\n throw new FS.ErrnoError(28);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (!stream.stream_ops.allocate) {\n throw new FS.ErrnoError(138);\n }\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: (stream, length, position, prot, flags) => {\n if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) {\n throw new FS.ErrnoError(2);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(2);\n }\n if (!stream.stream_ops.mmap) {\n throw new FS.ErrnoError(43);\n }\n return stream.stream_ops.mmap(stream, length, position, prot, flags);\n },\n msync: (stream, buffer, offset, length, mmapFlags) => {\n if (!stream.stream_ops.msync) {\n return 0;\n }\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: stream => 0,\n ioctl: (stream, cmd, arg) => {\n if (!stream.stream_ops.ioctl) {\n throw new FS.ErrnoError(59);\n }\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: (path, opts = {}) => {\n opts.flags = opts.flags || 0;\n opts.encoding = opts.encoding || \"binary\";\n if (opts.encoding !== \"utf8\" && opts.encoding !== \"binary\") {\n throw new Error('Invalid encoding type \"' + opts.encoding + '\"');\n }\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === \"utf8\") {\n ret = UTF8ArrayToString(buf, 0);\n } else if (opts.encoding === \"binary\") {\n ret = buf;\n }\n FS.close(stream);\n return ret;\n },\n writeFile: (path, data, opts = {}) => {\n opts.flags = opts.flags || 577;\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data == \"string\") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) {\n FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n } else {\n throw new Error(\"Unsupported data type\");\n }\n FS.close(stream);\n },\n cwd: () => FS.currentPath,\n chdir: path => {\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n if (lookup.node === null) {\n throw new FS.ErrnoError(44);\n }\n if (!FS.isDir(lookup.node.mode)) {\n throw new FS.ErrnoError(54);\n }\n var errCode = FS.nodePermissions(lookup.node, \"x\");\n if (errCode) {\n throw new FS.ErrnoError(errCode);\n }\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: () => {\n FS.mkdir(\"/tmp\");\n FS.mkdir(\"/home\");\n FS.mkdir(\"/home/web_user\");\n },\n createDefaultDevices: () => {\n FS.mkdir(\"/dev\");\n FS.registerDevice(FS.makedev(1, 3), {\n read: () => 0,\n write: (stream, buffer, offset, length, pos) => length\n });\n FS.mkdev(\"/dev/null\", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev(\"/dev/tty\", FS.makedev(5, 0));\n FS.mkdev(\"/dev/tty1\", FS.makedev(6, 0));\n var random_device = getRandomDevice();\n FS.createDevice(\"/dev\", \"random\", random_device);\n FS.createDevice(\"/dev\", \"urandom\", random_device);\n FS.mkdir(\"/dev/shm\");\n FS.mkdir(\"/dev/shm/tmp\");\n },\n createSpecialDirectories: () => {\n FS.mkdir(\"/proc\");\n var proc_self = FS.mkdir(\"/proc/self\");\n FS.mkdir(\"/proc/self/fd\");\n FS.mount({\n mount: () => {\n var node = FS.createNode(proc_self, \"fd\", 16384 | 511, 73);\n node.node_ops = {\n lookup: (parent, name) => {\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: {\n mountpoint: \"fake\"\n },\n node_ops: {\n readlink: () => stream.path\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n }, {}, \"/proc/self/fd\");\n },\n createStandardStreams: () => {\n if (Module[\"stdin\"]) {\n FS.createDevice(\"/dev\", \"stdin\", Module[\"stdin\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdin\");\n }\n if (Module[\"stdout\"]) {\n FS.createDevice(\"/dev\", \"stdout\", null, Module[\"stdout\"]);\n } else {\n FS.symlink(\"/dev/tty\", \"/dev/stdout\");\n }\n if (Module[\"stderr\"]) {\n FS.createDevice(\"/dev\", \"stderr\", null, Module[\"stderr\"]);\n } else {\n FS.symlink(\"/dev/tty1\", \"/dev/stderr\");\n }\n var stdin = FS.open(\"/dev/stdin\", 0);\n var stdout = FS.open(\"/dev/stdout\", 1);\n var stderr = FS.open(\"/dev/stderr\", 1);\n },\n ensureErrnoError: () => {\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.name = \"ErrnoError\";\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = \"FS error\";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [ 44 ].forEach(code => {\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = \"\";\n });\n },\n staticInit: () => {\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, \"/\");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = {\n \"MEMFS\": MEMFS\n };\n },\n init: (input, output, error) => {\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module[\"stdin\"] = input || Module[\"stdin\"];\n Module[\"stdout\"] = output || Module[\"stdout\"];\n Module[\"stderr\"] = error || Module[\"stderr\"];\n FS.createStandardStreams();\n },\n quit: () => {\n FS.init.initialized = false;\n _fflush(0);\n for (var i = 0; i < FS.streams.length; i++) {\n var stream = FS.streams[i];\n if (!stream) {\n continue;\n }\n FS.close(stream);\n }\n },\n getMode: (canRead, canWrite) => {\n var mode = 0;\n if (canRead) mode |= 292 | 73;\n if (canWrite) mode |= 146;\n return mode;\n },\n findObject: (path, dontResolveLastLink) => {\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (!ret.exists) {\n return null;\n }\n return ret.object;\n },\n analyzePath: (path, dontResolveLastLink) => {\n try {\n var lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, {\n parent: true\n });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, {\n follow: !dontResolveLastLink\n });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === \"/\";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createPath: (parent, path, canRead, canWrite) => {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n var parts = path.split(\"/\").reverse();\n while (parts.length) {\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: (parent, name, properties, canRead, canWrite) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: (parent, name, data, canRead, canWrite, canOwn) => {\n var path = name;\n if (parent) {\n parent = typeof parent == \"string\" ? parent : FS.getPath(parent);\n path = name ? PATH.join2(parent, name) : parent;\n }\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data == \"string\") {\n var arr = new Array(data.length);\n for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, 577);\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: (parent, name, input, output) => {\n var path = PATH.join2(typeof parent == \"string\" ? parent : FS.getPath(parent), name);\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: stream => {\n stream.seekable = false;\n },\n close: stream => {\n if (output && output.buffer && output.buffer.length) {\n output(10);\n }\n },\n read: (stream, buffer, offset, length, pos) => {\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: (stream, buffer, offset, length, pos) => {\n for (var i = 0; i < length; i++) {\n try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n forceLoadFile: obj => {\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n if (typeof XMLHttpRequest != \"undefined\") {\n 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.\");\n } else if (read_) {\n try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n } else {\n throw new Error(\"Cannot load without read() or XMLHttpRequest.\");\n }\n },\n createLazyFile: (parent, name, url, canRead, canWrite) => {\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) {\n return undefined;\n }\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = idx / this.chunkSize | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open(\"HEAD\", url, false);\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n var datalength = Number(xhr.getResponseHeader(\"Content-length\"));\n var header;\n var hasByteServing = (header = xhr.getResponseHeader(\"Accept-Ranges\")) && header === \"bytes\";\n var usesGzip = (header = xhr.getResponseHeader(\"Content-Encoding\")) && header === \"gzip\";\n var chunkSize = 1024 * 1024;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = (from, to) => {\n if (from > to) throw new Error(\"invalid range (\" + from + \", \" + to + \") or no bytes requested!\");\n if (to > datalength - 1) throw new Error(\"only \" + datalength + \" bytes available! programmer error!\");\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, false);\n if (datalength !== chunkSize) xhr.setRequestHeader(\"Range\", \"bytes=\" + from + \"-\" + to);\n xhr.responseType = \"arraybuffer\";\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType(\"text/plain; charset=x-user-defined\");\n }\n xhr.send(null);\n if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error(\"Couldn't load \" + url + \". Status: \" + xhr.status);\n if (xhr.response !== undefined) {\n return new Uint8Array(xhr.response || []);\n }\n return intArrayFromString(xhr.responseText || \"\", true);\n };\n var lazyArray = this;\n lazyArray.setDataGetter(chunkNum => {\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") {\n lazyArray.chunks[chunkNum] = doXHR(start, end);\n }\n if (typeof lazyArray.chunks[chunkNum] == \"undefined\") throw new Error(\"doXHR failed!\");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n out(\"LazyFiles on gzip forces download of the whole file when length is accessed\");\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest != \"undefined\") {\n if (!ENVIRONMENT_IS_WORKER) throw \"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._chunkSize;\n }\n }\n });\n var properties = {\n isDevice: false,\n contents: lazyArray\n };\n } else {\n var properties = {\n isDevice: false,\n url: url\n };\n }\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) {\n node.contents = properties.contents;\n } else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach(key => {\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n FS.forceLoadFile(node);\n return fn.apply(null, arguments);\n };\n });\n function writeChunks(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents[position + i];\n }\n } else {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents.get(position + i);\n }\n }\n return size;\n }\n stream_ops.read = (stream, buffer, offset, length, position) => {\n FS.forceLoadFile(node);\n return writeChunks(stream, buffer, offset, length, position);\n };\n stream_ops.mmap = (stream, length, position, prot, flags) => {\n FS.forceLoadFile(node);\n var ptr = mmapAlloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n writeChunks(stream, HEAP8, ptr, length, position);\n return {\n ptr: ptr,\n allocated: true\n };\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => {\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency(\"cp \" + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) {\n FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n }\n if (onload) onload();\n removeRunDependency(dep);\n }\n if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => {\n if (onerror) onerror();\n removeRunDependency(dep);\n })) {\n return;\n }\n finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == \"string\") {\n asyncLoad(url, byteArray => processData(byteArray), onerror);\n } else {\n processData(url);\n }\n },\n indexedDB: () => {\n return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;\n },\n DB_NAME: () => {\n return \"EM_FS_\" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: \"FILE_DATA\",\n saveFilesToDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = () => {\n out(\"creating db\");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readwrite\");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = () => {\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: (paths, onload = (() => {}), onerror = (() => {})) => {\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = () => {\n var db = openRequest.result;\n try {\n var transaction = db.transaction([ FS.DB_STORE_NAME ], \"readonly\");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0, fail = 0, total = paths.length;\n function finish() {\n if (fail == 0) onload(); else onerror();\n }\n paths.forEach(path => {\n var getRequest = files.get(path);\n getRequest.onsuccess = () => {\n if (FS.analyzePath(path).exists) {\n FS.unlink(path);\n }\n FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = () => {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n};\n\nvar SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n calculateAt: function(dirfd, path, allowEmpty) {\n if (PATH.isAbs(path)) {\n return path;\n }\n var dir;\n if (dirfd === -100) {\n dir = FS.cwd();\n } else {\n var dirstream = SYSCALLS.getStreamFromFD(dirfd);\n dir = dirstream.path;\n }\n if (path.length == 0) {\n if (!allowEmpty) {\n throw new FS.ErrnoError(44);\n }\n return dir;\n }\n return PATH.join2(dir, path);\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {\n return -54;\n }\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[buf + 8 >> 2] = stat.ino;\n HEAP32[buf + 12 >> 2] = stat.mode;\n HEAPU32[buf + 16 >> 2] = stat.nlink;\n HEAP32[buf + 20 >> 2] = stat.uid;\n HEAP32[buf + 24 >> 2] = stat.gid;\n HEAP32[buf + 28 >> 2] = stat.rdev;\n 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) ], \n HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];\n HEAP32[buf + 48 >> 2] = 4096;\n HEAP32[buf + 52 >> 2] = stat.blocks;\n var atime = stat.atime.getTime();\n var mtime = stat.mtime.getTime();\n var ctime = stat.ctime.getTime();\n tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];\n HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;\n tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];\n HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;\n tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), \n +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], \n HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];\n HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;\n 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) ], \n HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];\n return 0;\n },\n doMsync: function(addr, stream, len, flags, offset) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (flags & 2) {\n return 0;\n }\n var buffer = HEAPU8.slice(addr, addr + len);\n FS.msync(stream, buffer, offset, len, flags);\n },\n varargs: undefined,\n get: function() {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];\n return ret;\n },\n getStr: function(ptr) {\n var ret = UTF8ToString(ptr);\n return ret;\n },\n getStreamFromFD: function(fd) {\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n }\n};\n\nfunction ___syscall_faccessat(dirfd, path, amode, flags) {\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n if (amode & ~7) {\n return -28;\n }\n var lookup = FS.lookupPath(path, {\n follow: true\n });\n var node = lookup.node;\n if (!node) {\n return -44;\n }\n var perms = \"\";\n if (amode & 4) perms += \"r\";\n if (amode & 2) perms += \"w\";\n if (amode & 1) perms += \"x\";\n if (perms && FS.nodePermissions(node, perms)) {\n return -2;\n }\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction setErrNo(value) {\n HEAP32[___errno_location() >> 2] = value;\n return value;\n}\n\nfunction ___syscall_fcntl64(fd, cmd, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (cmd) {\n case 0:\n {\n var arg = SYSCALLS.get();\n if (arg < 0) {\n return -28;\n }\n var newStream;\n newStream = FS.createStream(stream, arg);\n return newStream.fd;\n }\n\n case 1:\n case 2:\n return 0;\n\n case 3:\n return stream.flags;\n\n case 4:\n {\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n }\n\n case 5:\n {\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[arg + offset >> 1] = 2;\n return 0;\n }\n\n case 6:\n case 7:\n return 0;\n\n case 16:\n case 8:\n return -28;\n\n case 9:\n setErrNo(28);\n return -1;\n\n default:\n {\n return -28;\n }\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_getcwd(buf, size) {\n try {\n if (size === 0) return -28;\n var cwd = FS.cwd();\n var cwdLengthInBytes = lengthBytesUTF8(cwd) + 1;\n if (size < cwdLengthInBytes) return -68;\n stringToUTF8(cwd, buf, size);\n return cwdLengthInBytes;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_ioctl(fd, op, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n switch (op) {\n case 21509:\n case 21505:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21519:\n {\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n }\n\n case 21520:\n {\n if (!stream.tty) return -59;\n return -28;\n }\n\n case 21531:\n {\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n }\n\n case 21523:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n case 21524:\n {\n if (!stream.tty) return -59;\n return 0;\n }\n\n default:\n return -28;\n }\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_openat(dirfd, path, flags, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n path = SYSCALLS.getStr(path);\n path = SYSCALLS.calculateAt(dirfd, path);\n var mode = varargs ? SYSCALLS.get() : 0;\n return FS.open(path, flags, mode).fd;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nfunction ___syscall_stat64(path, buf) {\n try {\n path = SYSCALLS.getStr(path);\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return -e.errno;\n }\n}\n\nvar nowIsMonotonic = true;\n\nfunction __emscripten_get_now_is_monotonic() {\n return nowIsMonotonic;\n}\n\nfunction __emscripten_throw_longjmp() {\n throw Infinity;\n}\n\nfunction _abort() {\n abort(\"\");\n}\n\nfunction _emscripten_date_now() {\n return Date.now();\n}\n\nvar _emscripten_get_now;\n\n_emscripten_get_now = () => performance.now();\n\nfunction _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.copyWithin(dest, src, src + num);\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\n\nfunction emscripten_realloc_buffer(size) {\n var b = wasmMemory.buffer;\n try {\n wasmMemory.grow(size - b.byteLength + 65535 >>> 16);\n updateMemoryViews();\n return 1;\n } catch (e) {}\n}\n\nfunction _emscripten_resize_heap(requestedSize) {\n var oldSize = HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n var maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize) {\n return false;\n }\n let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\n for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {\n var overGrownHeapSize = oldSize * (1 + .2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n var replacement = emscripten_realloc_buffer(newSize);\n if (replacement) {\n return true;\n }\n }\n return false;\n}\n\nvar ENV = {};\n\nfunction getExecutableName() {\n return thisProgram || \"./this.program\";\n}\n\nfunction getEnvStrings() {\n if (!getEnvStrings.strings) {\n var lang = (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\";\n var env = {\n \"USER\": \"web_user\",\n \"LOGNAME\": \"web_user\",\n \"PATH\": \"/\",\n \"PWD\": \"/\",\n \"HOME\": \"/home/web_user\",\n \"LANG\": lang,\n \"_\": getExecutableName()\n };\n for (var x in ENV) {\n if (ENV[x] === undefined) delete env[x]; else env[x] = ENV[x];\n }\n var strings = [];\n for (var x in env) {\n strings.push(x + \"=\" + env[x]);\n }\n getEnvStrings.strings = strings;\n }\n return getEnvStrings.strings;\n}\n\nfunction writeAsciiToMemory(str, buffer, dontAddNull) {\n for (var i = 0; i < str.length; ++i) {\n HEAP8[buffer++ >> 0] = str.charCodeAt(i);\n }\n if (!dontAddNull) HEAP8[buffer >> 0] = 0;\n}\n\nfunction _environ_get(__environ, environ_buf) {\n var bufSize = 0;\n getEnvStrings().forEach(function(string, i) {\n var ptr = environ_buf + bufSize;\n HEAPU32[__environ + i * 4 >> 2] = ptr;\n writeAsciiToMemory(string, ptr);\n bufSize += string.length + 1;\n });\n return 0;\n}\n\nfunction _environ_sizes_get(penviron_count, penviron_buf_size) {\n var strings = getEnvStrings();\n HEAPU32[penviron_count >> 2] = strings.length;\n var bufSize = 0;\n strings.forEach(function(string) {\n bufSize += string.length + 1;\n });\n HEAPU32[penviron_buf_size >> 2] = bufSize;\n return 0;\n}\n\nfunction _proc_exit(code) {\n EXITSTATUS = code;\n if (!keepRuntimeAlive()) {\n if (Module[\"onExit\"]) Module[\"onExit\"](code);\n ABORT = true;\n }\n quit_(code, new ExitStatus(code));\n}\n\nfunction exitJS(status, implicit) {\n EXITSTATUS = status;\n if (!keepRuntimeAlive()) {\n exitRuntime();\n }\n _proc_exit(status);\n}\n\nvar _exit = exitJS;\n\nfunction _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doReadv(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doReadv(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction convertI32PairToI53Checked(lo, hi) {\n return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN;\n}\n\nfunction _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var offset = convertI32PairToI53Checked(offset_low, offset_high);\n if (isNaN(offset)) return 61;\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.llseek(stream, offset, whence);\n 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) ], \n HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1];\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction doWritev(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAPU32[iov >> 2];\n var len = HEAPU32[iov + 4 >> 2];\n iov += 8;\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (typeof offset !== \"undefined\") {\n offset += curr;\n }\n }\n return ret;\n}\n\nfunction _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = doWritev(stream, iov, iovcnt);\n HEAPU32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS == \"undefined\" || !(e.name === \"ErrnoError\")) throw e;\n return e.errno;\n }\n}\n\nfunction handleException(e) {\n if (e instanceof ExitStatus || e == \"unwind\") {\n return EXITSTATUS;\n }\n quit_(1, e);\n}\n\nfunction allocateUTF8OnStack(str) {\n var size = lengthBytesUTF8(str) + 1;\n var ret = stackAlloc(size);\n stringToUTF8Array(str, HEAP8, ret, size);\n return ret;\n}\n\nfunction runAndAbortIfError(func) {\n try {\n return func();\n } catch (e) {\n abort(e);\n }\n}\n\nfunction maybeExit() {\n if (!keepRuntimeAlive()) {\n try {\n _exit(EXITSTATUS);\n } catch (e) {\n handleException(e);\n }\n }\n}\n\nfunction callUserCallback(func) {\n if (runtimeExited || ABORT) {\n return;\n }\n try {\n func();\n maybeExit();\n } catch (e) {\n handleException(e);\n }\n}\n\nfunction runtimeKeepalivePush() {\n runtimeKeepaliveCounter += 1;\n}\n\nfunction runtimeKeepalivePop() {\n runtimeKeepaliveCounter -= 1;\n}\n\nvar Asyncify = {\n instrumentWasmImports: function(imports) {\n var ASYNCIFY_IMPORTS = [ \"invoke_*\", \"emscripten_sleep\", \"emscripten_wget\", \"emscripten_wget_data\", \"emscripten_idb_load\", \"emscripten_idb_store\", \"emscripten_idb_delete\", \"emscripten_idb_exists\", \"emscripten_idb_load_blob\", \"emscripten_idb_store_blob\", \"SDL_Delay\", \"emscripten_scan_registers\", \"emscripten_lazy_load_code\", \"emscripten_fiber_swap\", \"__load_secondary_module\", \"fd_sync\", \"__wasi_fd_sync\", \"_emval_await\", \"_dlopen_js\", \"__asyncjs__*\" ];\n for (var x in imports) {\n (function(x) {\n var original = imports[x];\n var sig = original.sig;\n if (typeof original == \"function\") {\n var isAsyncifyImport = ASYNCIFY_IMPORTS.indexOf(x) >= 0 || x.startsWith(\"__asyncjs__\");\n }\n })(x);\n }\n },\n instrumentWasmExports: function(exports) {\n var ret = {};\n for (var x in exports) {\n (function(x) {\n var original = exports[x];\n if (typeof original == \"function\") {\n ret[x] = function() {\n Asyncify.exportCallStack.push(x);\n try {\n return original.apply(null, arguments);\n } finally {\n if (!ABORT) {\n var y = Asyncify.exportCallStack.pop();\n assert(y === x);\n Asyncify.maybeStopUnwind();\n }\n }\n };\n } else {\n ret[x] = original;\n }\n })(x);\n }\n return ret;\n },\n State: {\n Normal: 0,\n Unwinding: 1,\n Rewinding: 2,\n Disabled: 3\n },\n state: 0,\n StackSize: 8192,\n currData: null,\n handleSleepReturnValue: 0,\n exportCallStack: [],\n callStackNameToId: {},\n callStackIdToName: {},\n callStackId: 0,\n asyncPromiseHandlers: null,\n sleepCallbacks: [],\n getCallStackId: function(funcName) {\n var id = Asyncify.callStackNameToId[funcName];\n if (id === undefined) {\n id = Asyncify.callStackId++;\n Asyncify.callStackNameToId[funcName] = id;\n Asyncify.callStackIdToName[id] = funcName;\n }\n return id;\n },\n maybeStopUnwind: function() {\n if (Asyncify.currData && Asyncify.state === Asyncify.State.Unwinding && Asyncify.exportCallStack.length === 0) {\n Asyncify.state = Asyncify.State.Normal;\n runtimeKeepalivePush();\n runAndAbortIfError(_asyncify_stop_unwind);\n if (typeof Fibers != \"undefined\") {\n Fibers.trampoline();\n }\n }\n },\n whenDone: function() {\n return new Promise((resolve, reject) => {\n Asyncify.asyncPromiseHandlers = {\n resolve: resolve,\n reject: reject\n };\n });\n },\n allocateData: function() {\n var ptr = _malloc(12 + Asyncify.StackSize);\n Asyncify.setDataHeader(ptr, ptr + 12, Asyncify.StackSize);\n Asyncify.setDataRewindFunc(ptr);\n return ptr;\n },\n setDataHeader: function(ptr, stack, stackSize) {\n HEAP32[ptr >> 2] = stack;\n HEAP32[ptr + 4 >> 2] = stack + stackSize;\n },\n setDataRewindFunc: function(ptr) {\n var bottomOfCallStack = Asyncify.exportCallStack[0];\n var rewindId = Asyncify.getCallStackId(bottomOfCallStack);\n HEAP32[ptr + 8 >> 2] = rewindId;\n },\n getDataRewindFunc: function(ptr) {\n var id = HEAP32[ptr + 8 >> 2];\n var name = Asyncify.callStackIdToName[id];\n var func = Module[\"asm\"][name];\n return func;\n },\n doRewind: function(ptr) {\n var start = Asyncify.getDataRewindFunc(ptr);\n runtimeKeepalivePop();\n return start();\n },\n handleSleep: function(startAsync) {\n if (ABORT) return;\n if (Asyncify.state === Asyncify.State.Normal) {\n var reachedCallback = false;\n var reachedAfterCallback = false;\n startAsync((handleSleepReturnValue = 0) => {\n if (ABORT) return;\n Asyncify.handleSleepReturnValue = handleSleepReturnValue;\n reachedCallback = true;\n if (!reachedAfterCallback) {\n return;\n }\n Asyncify.state = Asyncify.State.Rewinding;\n runAndAbortIfError(() => _asyncify_start_rewind(Asyncify.currData));\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.resume();\n }\n var asyncWasmReturnValue, isError = false;\n try {\n asyncWasmReturnValue = Asyncify.doRewind(Asyncify.currData);\n } catch (err) {\n asyncWasmReturnValue = err;\n isError = true;\n }\n var handled = false;\n if (!Asyncify.currData) {\n var asyncPromiseHandlers = Asyncify.asyncPromiseHandlers;\n if (asyncPromiseHandlers) {\n Asyncify.asyncPromiseHandlers = null;\n (isError ? asyncPromiseHandlers.reject : asyncPromiseHandlers.resolve)(asyncWasmReturnValue);\n handled = true;\n }\n }\n if (isError && !handled) {\n throw asyncWasmReturnValue;\n }\n });\n reachedAfterCallback = true;\n if (!reachedCallback) {\n Asyncify.state = Asyncify.State.Unwinding;\n Asyncify.currData = Asyncify.allocateData();\n if (typeof Browser != \"undefined\" && Browser.mainLoop.func) {\n Browser.mainLoop.pause();\n }\n runAndAbortIfError(() => _asyncify_start_unwind(Asyncify.currData));\n }\n } else if (Asyncify.state === Asyncify.State.Rewinding) {\n Asyncify.state = Asyncify.State.Normal;\n runAndAbortIfError(_asyncify_stop_rewind);\n _free(Asyncify.currData);\n Asyncify.currData = null;\n Asyncify.sleepCallbacks.forEach(func => callUserCallback(func));\n } else {\n abort(\"invalid state: \" + Asyncify.state);\n }\n return Asyncify.handleSleepReturnValue;\n },\n handleAsync: function(startAsync) {\n return Asyncify.handleSleep(wakeUp => {\n startAsync().then(wakeUp);\n });\n }\n};\n\nfunction AsciiToString(ptr) {\n var str = \"\";\n while (1) {\n var ch = HEAPU8[ptr++ >> 0];\n if (!ch) return str;\n str += String.fromCharCode(ch);\n }\n}\n\nvar FSNode = function(parent, name, mode, rdev) {\n if (!parent) {\n parent = this;\n }\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n};\n\nvar readMode = 292 | 73;\n\nvar writeMode = 146;\n\nObject.defineProperties(FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? this.mode |= readMode : this.mode &= ~readMode;\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? this.mode |= writeMode : this.mode &= ~writeMode;\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n});\n\nFS.FSNode = FSNode;\n\nFS.staticInit();\n\nvar wasmImports = {\n \"s\": __asyncjs__emglken_fill_stdin_buffer,\n \"D\": ___syscall_faccessat,\n \"n\": ___syscall_fcntl64,\n \"C\": ___syscall_getcwd,\n \"B\": ___syscall_ioctl,\n \"A\": ___syscall_openat,\n \"z\": ___syscall_stat64,\n \"v\": __emscripten_get_now_is_monotonic,\n \"u\": __emscripten_throw_longjmp,\n \"t\": _abort,\n \"k\": _emscripten_date_now,\n \"r\": _emscripten_memcpy_big,\n \"q\": _emscripten_resize_heap,\n \"y\": _environ_get,\n \"x\": _environ_sizes_get,\n \"i\": _exit,\n \"m\": _fd_close,\n \"w\": _fd_read,\n \"p\": _fd_seek,\n \"l\": _fd_write,\n \"c\": invoke_i,\n \"g\": invoke_ii,\n \"f\": invoke_iiii,\n \"d\": invoke_iiiii,\n \"o\": invoke_ji,\n \"j\": invoke_v,\n \"b\": invoke_vi,\n \"a\": invoke_vii,\n \"h\": invoke_viii,\n \"e\": invoke_viiii\n};\n\nvar asm = createWasm();\n\nvar ___wasm_call_ctors = function() {\n return (___wasm_call_ctors = Module[\"asm\"][\"F\"]).apply(null, arguments);\n};\n\nvar _free = function() {\n return (_free = Module[\"asm\"][\"G\"]).apply(null, arguments);\n};\n\nvar _malloc = function() {\n return (_malloc = Module[\"asm\"][\"H\"]).apply(null, arguments);\n};\n\nvar _main = Module[\"_main\"] = function() {\n return (_main = Module[\"_main\"] = Module[\"asm\"][\"I\"]).apply(null, arguments);\n};\n\nvar _gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = function() {\n return (_gidispatch_get_game_id = Module[\"_gidispatch_get_game_id\"] = Module[\"asm\"][\"J\"]).apply(null, arguments);\n};\n\nvar _fflush = Module[\"_fflush\"] = function() {\n return (_fflush = Module[\"_fflush\"] = Module[\"asm\"][\"K\"]).apply(null, arguments);\n};\n\nvar ___errno_location = function() {\n return (___errno_location = Module[\"asm\"][\"L\"]).apply(null, arguments);\n};\n\nvar ___funcs_on_exit = function() {\n return (___funcs_on_exit = Module[\"asm\"][\"M\"]).apply(null, arguments);\n};\n\nvar _setThrew = function() {\n return (_setThrew = Module[\"asm\"][\"O\"]).apply(null, arguments);\n};\n\nvar _saveSetjmp = function() {\n return (_saveSetjmp = Module[\"asm\"][\"saveSetjmp\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_set_limits = function() {\n return (_emscripten_stack_set_limits = Module[\"asm\"][\"emscripten_stack_set_limits\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_base = function() {\n return (_emscripten_stack_get_base = Module[\"asm\"][\"emscripten_stack_get_base\"]).apply(null, arguments);\n};\n\nvar _emscripten_stack_get_end = function() {\n return (_emscripten_stack_get_end = Module[\"asm\"][\"emscripten_stack_get_end\"]).apply(null, arguments);\n};\n\nvar stackSave = function() {\n return (stackSave = Module[\"asm\"][\"P\"]).apply(null, arguments);\n};\n\nvar stackRestore = function() {\n return (stackRestore = Module[\"asm\"][\"Q\"]).apply(null, arguments);\n};\n\nvar stackAlloc = function() {\n return (stackAlloc = Module[\"asm\"][\"R\"]).apply(null, arguments);\n};\n\nvar dynCall_vi = Module[\"dynCall_vi\"] = function() {\n return (dynCall_vi = Module[\"dynCall_vi\"] = Module[\"asm\"][\"S\"]).apply(null, arguments);\n};\n\nvar dynCall_iiii = Module[\"dynCall_iiii\"] = function() {\n return (dynCall_iiii = Module[\"dynCall_iiii\"] = Module[\"asm\"][\"T\"]).apply(null, arguments);\n};\n\nvar dynCall_ii = Module[\"dynCall_ii\"] = function() {\n return (dynCall_ii = Module[\"dynCall_ii\"] = Module[\"asm\"][\"U\"]).apply(null, arguments);\n};\n\nvar dynCall_vii = Module[\"dynCall_vii\"] = function() {\n return (dynCall_vii = Module[\"dynCall_vii\"] = Module[\"asm\"][\"V\"]).apply(null, arguments);\n};\n\nvar dynCall_i = Module[\"dynCall_i\"] = function() {\n return (dynCall_i = Module[\"dynCall_i\"] = Module[\"asm\"][\"W\"]).apply(null, arguments);\n};\n\nvar dynCall_v = Module[\"dynCall_v\"] = function() {\n return (dynCall_v = Module[\"dynCall_v\"] = Module[\"asm\"][\"X\"]).apply(null, arguments);\n};\n\nvar dynCall_iiiii = Module[\"dynCall_iiiii\"] = function() {\n return (dynCall_iiiii = Module[\"dynCall_iiiii\"] = Module[\"asm\"][\"Y\"]).apply(null, arguments);\n};\n\nvar dynCall_viii = Module[\"dynCall_viii\"] = function() {\n return (dynCall_viii = Module[\"dynCall_viii\"] = Module[\"asm\"][\"Z\"]).apply(null, arguments);\n};\n\nvar dynCall_viiii = Module[\"dynCall_viiii\"] = function() {\n return (dynCall_viiii = Module[\"dynCall_viiii\"] = Module[\"asm\"][\"_\"]).apply(null, arguments);\n};\n\nvar dynCall_ji = Module[\"dynCall_ji\"] = function() {\n return (dynCall_ji = Module[\"dynCall_ji\"] = Module[\"asm\"][\"$\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_unwind = function() {\n return (_asyncify_start_unwind = Module[\"asm\"][\"aa\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_unwind = function() {\n return (_asyncify_stop_unwind = Module[\"asm\"][\"ba\"]).apply(null, arguments);\n};\n\nvar _asyncify_start_rewind = function() {\n return (_asyncify_start_rewind = Module[\"asm\"][\"ca\"]).apply(null, arguments);\n};\n\nvar _asyncify_stop_rewind = function() {\n return (_asyncify_stop_rewind = Module[\"asm\"][\"da\"]).apply(null, arguments);\n};\n\nvar ___start_em_js = Module[\"___start_em_js\"] = 107504;\n\nvar ___stop_em_js = Module[\"___stop_em_js\"] = 110189;\n\nfunction invoke_ii(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ii(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_vii(index, a1, a2) {\n var sp = stackSave();\n try {\n dynCall_vii(index, a1, a2);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_i(index) {\n var sp = stackSave();\n try {\n return dynCall_i(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_v(index) {\n var sp = stackSave();\n try {\n dynCall_v(index);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_vi(index, a1) {\n var sp = stackSave();\n try {\n dynCall_vi(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n return dynCall_iiiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n dynCall_viii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_iiii(index, a1, a2, a3) {\n var sp = stackSave();\n try {\n return dynCall_iiii(index, a1, a2, a3);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_viiii(index, a1, a2, a3, a4) {\n var sp = stackSave();\n try {\n dynCall_viiii(index, a1, a2, a3, a4);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nfunction invoke_ji(index, a1) {\n var sp = stackSave();\n try {\n return dynCall_ji(index, a1);\n } catch (e) {\n stackRestore(sp);\n if (e !== e + 0) throw e;\n _setThrew(1, 0);\n }\n}\n\nModule[\"AsciiToString\"] = AsciiToString;\n\nModule[\"FS\"] = FS;\n\nvar calledRun;\n\ndependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n};\n\nfunction callMain(args = []) {\n var entryFunction = _main;\n args.unshift(thisProgram);\n var argc = args.length;\n var argv = stackAlloc((argc + 1) * 4);\n var argv_ptr = argv >> 2;\n args.forEach(arg => {\n HEAP32[argv_ptr++] = allocateUTF8OnStack(arg);\n });\n HEAP32[argv_ptr] = 0;\n try {\n var ret = entryFunction(argc, argv);\n exitJS(ret, true);\n return ret;\n } catch (e) {\n return handleException(e);\n }\n}\n\nfunction run(args = arguments_) {\n if (runDependencies > 0) {\n return;\n }\n preRun();\n if (runDependencies > 0) {\n return;\n }\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n Module[\"calledRun\"] = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n readyPromiseResolve(Module);\n if (Module[\"onRuntimeInitialized\"]) Module[\"onRuntimeInitialized\"]();\n if (shouldRunNow) callMain(args);\n postRun();\n }\n if (Module[\"setStatus\"]) {\n Module[\"setStatus\"](\"Running...\");\n setTimeout(function() {\n setTimeout(function() {\n Module[\"setStatus\"](\"\");\n }, 1);\n doRun();\n }, 1);\n } else {\n doRun();\n }\n}\n\nif (Module[\"preInit\"]) {\n if (typeof Module[\"preInit\"] == \"function\") Module[\"preInit\"] = [ Module[\"preInit\"] ];\n while (Module[\"preInit\"].length > 0) {\n Module[\"preInit\"].pop()();\n }\n}\n\nvar shouldRunNow = true;\n\nif (Module[\"noInitialRun\"]) shouldRunNow = false;\n\nrun();\n\n\n return Module.ready\n}\n\n);\n})();\nexport default Module;","module.exports = require('./helpers/bundle-url').getBundleURL('ejVIo') + require('./helpers/bundle-manifest').resolve(\"iM1SU\");","import { useState, useEffect } from 'preact/hooks'\n\nimport CheapGlkOte from 'cheap-glkote'\n\nimport TextBuffer from './OutputBox/TextBuffer/TextBuffer'\nimport GridBuffer from './OutputBox/GridBuffer/GridBuffer'\n\nimport InputBox from './InputBox/InputBox'\nimport Status from './Status/Status'\n\nimport {\n Handlers,\n unhandledRejectionHandler,\n} from './common/playerHandlers'\n\nimport * as s from './Player.module.scss'\n\nconst INITIAL_STATUS = {\n stage: 'loading',\n details: ['Preparing'],\n}\n\nconst runMachine = ({ engine: Engine, wasmBinary, storyfile, handlers }) => {\n const { Dialog, GlkOte, send } = CheapGlkOte(handlers)\n const instance = new Engine()\n\n instance.init(storyfile, {\n Dialog,\n GlkOte,\n Glk: {},\n wasmBinary,\n arguments: ['storyfile'],\n })\n instance.start()\n\n return { send, instance }\n}\n\nexport default function Player ({\n vmParts: { storyfile, engine, wasmBinary },\n onFullscreenRequest,\n setMenuOpen,\n singleWindow,\n}) {\n const [status, setStatus] = useState(INITIAL_STATUS)\n\n const [windows, setWindows] = useState([])\n const [currentWindowId, setCurrentWindowId] = useState(null)\n const [inputType, setInputType] = useState(null)\n const [inbox, setInbox] = useState([])\n\n const [vm, setVm] = useState(null)\n const [sendMessage, setSendMessage] = useState(null)\n\n useEffect(() => {\n const handlers = Handlers({\n setStatus,\n setWindows,\n setCurrentWindowId,\n setInputType,\n setInbox,\n })\n\n setVm(runMachine({\n engine,\n wasmBinary,\n storyfile,\n handlers,\n }))\n\n const rejectionHandler =\n unhandledRejectionHandler(handlers.onExit)\n\n window.addEventListener('unhandledrejection', rejectionHandler)\n\n return () => {\n setVm(null)\n window.removeEventListener('unhandledrejection', rejectionHandler)\n }\n }, [storyfile, engine, wasmBinary])\n\n useEffect(() => {\n setSendMessage(() => vm\n ? vm.send\n : null)\n\n return () => setSendMessage(null)\n }, [vm])\n\n const textWindow = (inbox) => (currentWindow) => {\n const props = {\n inbox,\n currentWindow,\n }\n\n return ({\n buffer: ,\n grid: ,\n })[currentWindow.type]\n }\n\n const byTop = (a, b) =>\n a.top - b.top\n\n return status.stage !== 'ready'\n ? ()\n : (
    \n
    \n {\n windows\n .sort(byTop)\n .filter(singleWindow\n ? ({ id }) => id === currentWindowId\n : () => true)\n .map(textWindow(inbox))\n }\n
    \n \n
    )\n}\n","import FakeDialog from './fakeDialog.js'\nimport CheapGlkOte from './cheapGlkOte.js'\n\nconst noop = () => void null\n\nconst defaultHandlers = [\n 'onInit',\n 'onUpdateWindows',\n 'onUpdateInputs',\n 'onUpdateContent',\n 'onDisable',\n 'onFileNameRequest',\n 'onFileRead',\n 'onFileWrite',\n 'onExit',\n].reduce((acc, x) => ((acc[x] = noop), acc), {})\n\nconst defaultLoggers = {\n log: console.log,\n warning: console.warn,\n error: console.error,\n}\n\nconst defaultSize = {\n width: 80,\n height: 25,\n}\n\nexport default (handlers_, {loggers: loggers_, size: size_ } = {}) => {\n const handlers =\n Object.assign({}, defaultHandlers, handlers_)\n const loggers =\n Object.assign({}, defaultLoggers, loggers_)\n const size =\n Object.assign({}, defaultSize, size_)\n\n const Dialog = new FakeDialog(handlers, loggers)\n const GlkOte = new CheapGlkOte(handlers, loggers, size)\n\n const send = GlkOte.sendFn.bind(GlkOte)\n\n return {\n Dialog,\n GlkOte,\n send,\n }\n}\n","/**\n * @see: https://github.com/curiousdannii/glkote-term/blob/master/src/glkote-dumb.js\n * @see: https://github.com/curiousdannii/glkote-term/blob/master/src/electrofs.js\n */\n\nclass FakeDialog {\n constructor(handlers, loggers) {\n this.streaming = false\n this.handlers = handlers\n this.loggers = loggers\n }\n\n file_ref_exists({ usage }) {\n return usage === 'save'\n ? true\n : false\n }\n\n file_remove_ref () {\n return true\n }\n\n file_construct_ref(filename, usage) {\n return {\n filename,\n usage: usage || ''\n }\n }\n\n file_read(dirent, israw) {\n return this.handlers.onFileRead(dirent, israw)\n }\n\n file_write(dirent, content, israw) {\n if (content.length === 0) return (void null)\n this.handlers.onFileWrite(dirent, content, israw)\n }\n\n open(tosave, usage, gameid, callback) {\n this.handlers.onFileNameRequest(tosave, usage, gameid, callback)\n }\n\n log(message) {\n this.loggers.log(message)\n }\n\n warning(message) {\n this.loggers.warn(message)\n }\n\n error(message) {\n this.loggers.error(message)\n }\n}\n\nexport default FakeDialog\n","/**\n * @see: https://github.com/curiousdannii/glkote-term/blob/master/src/glkote-dumb.js\n */\n\nimport GlkOte from './glkOte/glkote-term.js'\n\nclass CheapGlkOte extends GlkOte {\n constructor(handlers, loggers, size) {\n super(size)\n\n this.handlers = handlers\n this.loggers = loggers\n }\n\n sendFn (message, type, window) {\n this.send_response(\n type,\n window,\n message)\n }\n\n init (iface) {\n this.handlers.onInit()\n super.init(iface)\n }\n\n update_inputs (data) {\n if (!data.length) return []\n this.handlers.onUpdateInputs(data)\n }\n\n accept_specialinput (data) {\n if (data.type === 'fileref_prompt') {\n const callback = ref =>\n this.send_response(\n 'specialresponse', null, 'fileref_prompt', ref)\n\n this.interface.Dialog.open(\n data.filemode !== 'read',\n data.filetype,\n data.gameid,\n callback)\n } else {\n this.error(\n 'Request for unknown special input type: ' + data.type)\n }\n }\n\n update_content (messages) {\n this.handlers.onUpdateContent(messages)\n }\n\n exit () {\n this.handlers.onExit()\n super.exit()\n }\n\n cancel_inputs (data) {\n this.handlers.onUpdateInputs(data)\n }\n\n disable (data) {\n this.handlers.onDisable(data)\n }\n\n update_windows (windows) {\n this.handlers.onUpdateWindows(windows)\n }\n\n log (message) {\n this.loggers.log(message)\n }\n\n warning (message) {\n this.loggers.warn(message)\n }\n\n error (message) {\n this.loggers.error(message)\n }\n}\n\nexport default CheapGlkOte\n","/**\n * @see: https://github.com/curiousdannii/glkote-term/blob/master/src/glkote-term.js\n */\n\nclass GlkOte {\n constructor({width, height}) {\n this.width = width\n this.height = height\n\n this.current_metrics = null\n this.disabled = false\n this.generation = 0\n this.interface = null\n this.version = '0.5.1'\n }\n\n measure_window() {\n return {\n width: this.width,\n height: this.height,\n buffercharheight: 1,\n buffercharwidth: 1,\n buffermarginx: 0,\n buffermarginy: 0,\n graphicsmarginx: 0,\n graphicsmarginy: 0,\n gridcharheight: 1,\n gridcharwidth: 1,\n gridmarginx: 0,\n gridmarginy: 0,\n inspacingx: 0,\n inspacingy: 0,\n outspacingx: 0,\n outspacingy: 0\n }\n }\n\n getinterface() {\n return this.interface\n }\n\n init(iface) {\n if (!iface) {\n this.error('No game interface object has been provided.')\n }\n if (!iface.accept) {\n this.error('The game interface object must have an accept() function.')\n }\n\n this.interface = iface\n this.current_metrics = this.measure_window()\n\n this.send_response('init', null, this.current_metrics)\n }\n\n update(data) {\n if (data.type === 'error') {\n this.error(data.message)\n }\n if (data.type === 'pass') {\n return\n }\n if (data.type !== 'update' && data.type !== 'exit') {\n this.log(`Ignoring unknown message type: ${data.type}`)\n return\n }\n if (data.gen === this.generation) {\n this.log(`Ignoring repeated generation number: ${data.gen}`)\n return\n }\n if (data.gen < this.generation) {\n this.log(\n `Ignoring out-of-order generation number: got ${data.gen}, currently at ${this.generation}`\n )\n return\n }\n this.generation = data.gen\n\n if (this.disabled) {\n this.disable(false)\n }\n\n /* Handle the update */\n if (data.input != null) {\n this.cancel_inputs(data.input)\n }\n if (data.windows != null) {\n this.update_windows(data.windows)\n }\n if (data.content != null && data.content.length) {\n this.update_content(data.content)\n }\n if (data.input != null) {\n this.update_inputs(data.input)\n }\n\n /* Disable everything if requested */\n this.disabled = false\n if (data.disabled || data.specialinput) {\n this.disable(true)\n }\n\n if (data.specialinput != null) {\n this.accept_specialinput(data.specialinput)\n }\n\n /* Detach all handlers and exit */\n if (data.type === 'exit') {\n this.exit()\n }\n }\n\n send_response(type, win, val, val2) {\n const res = {\n type: type,\n gen: this.generation,\n }\n\n if (win) {\n res.window = win.id\n }\n\n if (type === 'init' || type === 'arrange') {\n res.metrics = val\n }\n\n if (type === 'init') {\n res.support = this.support()\n }\n\n if (type === 'char') {\n res.value = val\n }\n\n if (type === 'line') {\n res.value = val\n }\n\n if (type === 'specialresponse') {\n res.response = val\n res.value = val2\n }\n\n this.interface.accept(res)\n }\n\n support() {\n return []\n }\n}\n\nexport default GlkOte\n","import { useEffect, useRef, useState } from 'preact/hooks'\n\nimport TextMessage from '../TextMessage/TextMessage'\n\nimport * as s from '../../Player.module.scss'\n\nconst eol = { style: 'endOfLine' }\nconst scrollTarget = { style: 'scrollTarget' }\n\nconst isFakeStatus = (w) =>\n w.height < 5\n\nconst trimInputPrompt = (messages) =>\n messages.length < 1\n ? messages\n : messages.slice(-1)[0].text === '>'\n ? messages.slice(0, messages.length - 1)\n : messages\n\nconst parseInbox = (inbox, currentWindow) => {\n const currentInbox =\n inbox.find(({ id }) =>\n id === currentWindow.id)\n\n if (!currentInbox) {\n return {\n clear: false,\n incoming: [scrollTarget],\n }\n }\n\n const { text: inboxMessagesRaw } =\n currentInbox\n\n const incoming =\n inboxMessagesRaw\n /* Normalize. */\n .map(({ content }) =>\n content\n ? [...trimInputPrompt(content), eol]\n : [eol])\n /* Flatten. */\n .reduce((acc, x) =>\n acc.concat(x), [scrollTarget])\n\n return {\n incoming,\n clear: isFakeStatus(currentWindow)\n ? true\n : currentInbox.clear,\n }\n}\n\nexport default function TextBuffer ({ inbox, currentWindow }) {\n const [messages, setMessages] = useState([])\n const textBufferEl = useRef(null)\n\n useEffect(() => {\n const { incoming, clear } =\n parseInbox(inbox, currentWindow)\n\n setMessages((messages) => clear\n ? incoming\n : messages.concat(incoming))\n\n setTimeout(() => {\n const scrollTargets =\n textBufferEl.current.querySelectorAll(`.${scrollTarget.style}`)\n const freshScrollTarget =\n scrollTargets[scrollTargets.length - 1]\n\n freshScrollTarget\n ? freshScrollTarget.scrollIntoView()\n : textBufferEl.current.scrollTo({\n top: textBufferEl.current.scrollHeight,\n behavior: 'smooth',\n })\n }, 0)\n }, [currentWindow, inbox])\n\n const classes = () => [\n s.buffer,\n isFakeStatus(currentWindow)\n ? s.gridBuffer\n : s.textBuffer,\n ].join(' ')\n\n return (\n \n {messages.map(TextMessage)}\n \n )\n}\n","import * as s from './TextMessage.module.scss'\n\nexport default function TextMessage ({ style, text }) {\n const defaultContent = (\n \n {text}\n )\n\n return ({\n grid:\n (text?.length > 0 ?
    {text}
    :
    ),\n input:\n (> {text}),\n subheader:\n ({text}),\n emphasized:\n ({text}),\n scrollTarget:\n (
    ),\n endOfLine:\n (
    ),\n })[style] || defaultContent\n}\n",".message {\n &.input {\n color: var(--input-color);\n }\n\n &.emphasized,\n &.subheader {\n color: var(--accent-color);\n }\n}\n\n.scrollTarget {\n scroll-margin-block-start: var(--inner-padding);\n}\n",".elseifplayer {\n height: 100%;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n\n background-color: var(--bg-color);\n color: var(--main-color);\n padding: var(--outer-padding);\n\n .output {\n display: flex;\n flex-grow: 2;\n flex-direction: column;\n overflow-y: hidden;\n overflow-wrap: break-word;\n\n border: var(--border-width) solid var(--main-color);\n\n .buffer {\n overflow-y: scroll;\n box-sizing: border-box;\n\n padding: var(--inner-padding);\n\n &:empty {\n display: none;\n }\n\n & > br:first-child,\n & > br:last-child,\n & > br + br + br {\n display: none;\n }\n\n &.gridBuffer {\n flex-shrink: 0;\n max-height: 100%;\n border-bottom: var(--separator-width) solid var(--main-color);\n }\n\n &.textBuffer {\n flex: 2 1;\n outline: none;\n scroll-behavior: smooth;\n }\n }\n }\n}\n","import { useEffect, useState } from 'preact/hooks'\n\nimport TextMessage from '../TextMessage/TextMessage'\n\nimport * as s from '../../Player.module.scss'\n\nexport default function GridBuffer ({ inbox, currentWindow }) {\n const [prevMessages, setPrevMessages] = useState([])\n const [messages, setMessages] = useState([])\n\n useEffect(() => {\n const currentInboxObj =\n inbox.find(({ id }) =>\n id === currentWindow.id)\n\n const currentInbox = currentInboxObj?.lines ?? []\n\n const newOrPrev = (cur, prev) => (i) => {\n const byId = (list, i) =>\n list.find(({ line }) => line === i)\n\n return byId(cur, i) || byId(prev, i)\n }\n\n const rawMessages =\n Array(currentWindow.gridheight)\n .fill(null)\n .map((_, i) => i)\n .map(newOrPrev(currentInbox, prevMessages))\n\n /* */\n\n const shouldUpdatePrev = (rawMessages, prevMessages) => {\n const serialize = JSON.stringify\n return serialize(rawMessages) !== serialize(prevMessages)\n }\n\n if (shouldUpdatePrev(rawMessages, prevMessages)) {\n setPrevMessages(rawMessages)\n }\n\n /* */\n\n\n const rawMessagesContent =\n rawMessages\n .map((x) => x.content)\n .flat()\n .map((message) => ({\n ...message,\n text: message.text.trim(),\n }))\n\n const isEmpty =\n rawMessagesContent\n .map(({ text }) => text.length)\n .every((l) => l === 0)\n\n const getGridStyle = ({ style }) => {\n if (['alert', 'normal'].includes(style)) return 'grid'\n return style || 'grid'\n }\n\n const messages =\n rawMessagesContent\n .map((message) => ({\n style: getGridStyle(message),\n text: message.text.replace(' ', ' / '),\n }))\n\n setMessages(isEmpty ? [] : messages)\n }, [inbox, currentWindow, prevMessages])\n\n return (\n
    \n {messages.map(TextMessage)}\n
    \n )\n}\n","import { useEffect, useRef, useState } from 'preact/hooks'\n\nimport MenuButton from './MenuButton/MenuButton'\n\nimport * as s from './InputBox.module.scss'\n\n/* eslint-disable */\nconst keyCodes = {\n KEY_BACKSPACE: 8,\n KEY_TAB: 9,\n KEY_RETURN: 13,\n KEY_ESC: 27,\n KEY_PAGEUP: 33,\n KEY_PAGEDOWN: 34,\n KEY_END: 35,\n KEY_HOME: 36,\n KEY_LEFT: 37,\n KEY_UP: 38,\n KEY_RIGHT: 39,\n KEY_DOWN: 40\n}\n\nconst keyNames = {\n [keyCodes.KEY_BACKSPACE]: 'delete',\n [keyCodes.KEY_TAB]: 'tab',\n [keyCodes.KEY_RETURN]: 'return',\n [keyCodes.KEY_ESC]: 'escape',\n [keyCodes.KEY_PAGEUP]: 'pageup',\n [keyCodes.KEY_PAGEDOWN]: 'pagedown',\n [keyCodes.KEY_END]: 'end',\n [keyCodes.KEY_HOME]: 'home',\n [keyCodes.KEY_LEFT]: 'left',\n [keyCodes.KEY_UP]: 'up',\n [keyCodes.KEY_RIGHT]: 'right',\n [keyCodes.KEY_DOWN]: 'down'\n}\n/* eslint-enable */\n\nconst hasModifier = (event) => {\n const modifiers = [\n event.altKey,\n event.ctrlKey,\n event.metaKey,\n event.shiftKey,\n ]\n\n return modifiers.some((modifier) => modifier === true)\n}\n\nexport default function InputBox ({\n inputType,\n windows,\n currentWindowId,\n sendMessage,\n onFullscreenRequest,\n setMenuOpen,\n}) {\n const [targetWindow, setTargetWindow] = useState(null)\n const [inputText, setInputText] = useState('')\n const [lastInput, setLastInput] = useState('')\n const inputEl = useRef(null)\n\n useEffect(() => {\n let setFocus = () => {\n inputEl.current && inputEl.current.focus()\n }\n\n setInputText('')\n setFocus()\n\n document.addEventListener('fullscreenchange', setFocus)\n return () => document.removeEventListener('fullscreenchange', setFocus)\n }, [inputType])\n\n useEffect(() => {\n setTargetWindow(\n windows\n .find(({ id }) =>\n id === currentWindowId))\n }, [currentWindowId, windows])\n\n const send = (message) => {\n sendMessage(\n message,\n inputType,\n targetWindow)\n setLastInput(message)\n setInputText('')\n }\n\n const charHandler = (event) =>\n (event.keyCode === 229\n ? charHandlerMobile\n : charHandlerDefault)(event)\n\n const charHandlerDefault = (event) => {\n if (hasModifier(event)) { return undefined }\n\n event.preventDefault()\n\n const key =\n keyNames[event.keyCode] ||\n event.key\n\n send(key)\n }\n\n const charHandlerMobile = (event) =>\n setTimeout(() => {\n send(event.target.value.slice(-1).toUpperCase())\n setInputText('')\n })\n\n const lineHandler = ({ keyCode, target: { value } }) => {\n if (keyCode === keyCodes.KEY_RETURN) {\n send(value)\n }\n }\n\n const lineArrowHandler = ({ keyCode }) => {\n if (keyCode === keyCodes.KEY_UP) {\n setInputText(lastInput)\n\n setTimeout(() => {\n const end = lastInput.length\n inputEl.current.setSelectionRange(end, end)\n }, 0)\n }\n if (keyCode === keyCodes.KEY_DOWN) {\n setInputText('')\n }\n }\n\n const inputHandlers = {\n char: {\n maxlength: '1',\n placeholder: 'Press any key here',\n onKeyDown: charHandler,\n },\n line: {\n placeholder: ' > ',\n onKeyDown: lineArrowHandler,\n onKeyPress: lineHandler,\n },\n finished: {\n placeholder: 'The program has finished',\n disabled: true,\n },\n }\n\n return (\n
    \n setInputText(value)}\n type='search' />\n setMenuOpen(true)} />\n
    \n )\n}\n","import * as s from './MenuButton.module.scss'\n\nexport default function MenuButton ({ onClick }) {\n return (\n \n \n \n \n \n \n \n )\n}\n",".menuButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n outline-offset: -8px;\n position: absolute;\n right: 0;\n height: 100%;\n padding: 0;\n\n @media (max-width: 800px) {\n padding: 0 calc(0.5 * var(--inner-padding));\n overflow: hidden;\n }\n\n &:focus-visible {\n outline-offset: -4px;\n }\n\n .menuIcon {\n height: 32px;\n fill: none;\n stroke: currentColor;\n stroke-width: 2px;\n\n @media (max-width: 800px) {\n transform: scaleX(2) scaleY(0.5);\n fill: currentColor;\n }\n }\n}\n",".inputControls {\n position: relative;\n margin-top: var(--input-box-margin);\n\n .inputBox {\n font: inherit;\n color: inherit;\n outline: 0;\n\n background-color: var(--bg-color);\n border: var(--border-width) solid var(--main-color);\n border-top: var(--separator-width) solid var(--main-color);\n padding: var(--inner-padding);\n padding-right: calc(4 * var(--inner-padding));\n margin: 0;\n width: 100%;\n\n &::placeholder {\n color: var(--main-color);\n opacity: 1;\n }\n\n &:focus::placeholder {\n opacity: 0.5;\n }\n\n &::-webkit-search-cancel-button {\n display: none;\n }\n }\n}\n","import { Link } from 'wouter-preact'\n\nimport * as s from './Status.module.scss'\n\nconst fail = (details) => (\n
    \n

    \n Error\n

    \n {details.map((x) => (

    {x}

    ))}\n
    \n \n Home\n \n |\n \n Report bug\n \n
    \n)\n\nconst loading = (details) => (\n
    \n {details.map((x) => (
    {x}
    ))}\n
    \n)\n\nexport default ({ stage, details }) =>\n ({ fail, loading })[stage](details)\n","@keyframes dots0123 {\n 0% { content: ''; }\n 33% { content: '.'; }\n 66% { content: '..'; }\n 100% { content: '...'; }\n}\n\n.status {\n word-break: break-word;\n padding-block: var(--inner-padding);\n\n @media (max-width: 800px) {\n padding: var(--inner-padding);\n }\n\n &.loading > div:after {\n animation: dots0123 1s infinite;\n content: '';\n }\n}\n\n","import { encode, decode } from 'base32768'\n\nexport const Handlers = ({\n setStatus,\n setWindows,\n setCurrentWindowId,\n setInputType,\n setInbox,\n}) => ({\n onInit: () => {\n setStatus({ stage: 'ready' })\n },\n /* */\n onUpdateWindows: (windows) => {\n setWindows(windows)\n },\n onUpdateInputs: (data) => {\n if (data.length === 0) return null\n\n const { type, id } = data[0]\n setCurrentWindowId(id)\n setInputType(type)\n },\n onUpdateContent: (inbox) => {\n setInbox(inbox)\n },\n onDisable: () => {\n setInputType(null)\n },\n /* */\n onFileNameRequest: (_tosave, usage, _gameId, setFileName) => {\n setFileName({\n usage,\n filename: prompt('Enter the filename'),\n })\n },\n onFileRead: ({ filename }) => {\n const content = localStorage.getItem(`fake-fs/${filename}`)\n return decode(content)\n },\n onFileWrite: ({ filename }, content) => {\n localStorage.setItem(`fake-fs/${filename}`, encode(content))\n },\n /* */\n onExit: () => {\n setInputType('finished')\n },\n})\n\nexport const unhandledRejectionHandler = (onExit) => (event) => {\n if (event.reason.name === 'ExitStatus' || event.reason.message === 'Program terminated with exit(0)') {\n onExit()\n } else {\n console.error('Unhandled rejection (promise: ', event.promise, ', reason: ', event.reason, ').')\n }\n event.preventDefault()\n}\n","/**\r\n Base32768 is a binary-to-text encoding optimised for UTF-16-encoded text.\r\n (e.g. Windows, Java, JavaScript)\r\n*/\r\n\r\n// Z is a number, usually a uint15 but sometimes a uint7\r\n\r\nconst BITS_PER_CHAR = 15 // Base32768 is a 15-bit encoding\r\nconst BITS_PER_BYTE = 8\r\n\r\nconst pairStrings = [\r\n 'ҠҿԀԟڀڿݠޟ߀ߟကဟႠႿᄀᅟᆀᆟᇠሿበቿዠዿጠጿᎠᏟᐠᙟᚠᛟកសᠠᡟᣀᣟᦀᦟ᧠᧿ᨠᨿᯀᯟᰀᰟᴀᴟ⇠⇿⋀⋟⍀⏟␀␟─❟➀➿⠀⥿⦠⦿⨠⩟⪀⪿⫠⭟ⰀⰟⲀⳟⴀⴟⵀⵟ⺠⻟㇀㇟㐀䶟䷀龿ꀀꑿ꒠꒿ꔀꗿꙀꙟꚠꛟ꜀ꝟꞀꞟꡀꡟ',\r\n 'ƀƟɀʟ'\r\n]\r\n\r\nconst lookupE = {}\r\nconst lookupD = {}\r\npairStrings.forEach((pairString, r) => {\r\n // Decompression\r\n const encodeRepertoire = []\r\n pairString.match(/../gu).forEach(pair => {\r\n const first = pair.codePointAt(0)\r\n const last = pair.codePointAt(1)\r\n for (let codePoint = first; codePoint <= last; codePoint++) {\r\n encodeRepertoire.push(String.fromCodePoint(codePoint))\r\n }\r\n })\r\n\r\n const numZBits = BITS_PER_CHAR - BITS_PER_BYTE * r // 0 -> 15, 1 -> 7\r\n lookupE[numZBits] = encodeRepertoire\r\n encodeRepertoire.forEach((chr, z) => {\r\n lookupD[chr] = [numZBits, z]\r\n })\r\n})\r\n\r\nconst encode = uint8Array => {\r\n const length = uint8Array.length\r\n\r\n let str = ''\r\n let z = 0\r\n let numZBits = 0\r\n\r\n for (let i = 0; i < length; i++) {\r\n const uint8 = uint8Array[i]\r\n\r\n // Take most significant bit first\r\n for (let j = BITS_PER_BYTE - 1; j >= 0; j--) {\r\n const bit = (uint8 >> j) & 1\r\n\r\n z = (z << 1) + bit\r\n numZBits++\r\n\r\n if (numZBits === BITS_PER_CHAR) {\r\n str += lookupE[numZBits][z]\r\n z = 0\r\n numZBits = 0\r\n }\r\n }\r\n }\r\n\r\n if (numZBits !== 0) {\r\n // Final bits require special treatment.\r\n\r\n // z = bbbbbbcccccccc, numZBits = 14, padBits = 1\r\n // z = bbbbbcccccccc, numZBits = 13, padBits = 2\r\n // z = bbbbcccccccc, numZBits = 12, padBits = 3\r\n // z = bbbcccccccc, numZBits = 11, padBits = 4\r\n // z = bbcccccccc, numZBits = 10, padBits = 5\r\n // z = bcccccccc, numZBits = 9, padBits = 6\r\n // z = cccccccc, numZBits = 8, padBits = 7\r\n // => Pad `z` out to 15 bits using 1s, then encode as normal (r = 0)\r\n\r\n // z = ccccccc, numZBits = 7, padBits = 0\r\n // z = cccccc, numZBits = 6, padBits = 1\r\n // z = ccccc, numZBits = 5, padBits = 2\r\n // z = cccc, numZBits = 4, padBits = 3\r\n // z = ccc, numZBits = 3, padBits = 4\r\n // z = cc, numZBits = 2, padBits = 5\r\n // z = c, numZBits = 1, padBits = 6\r\n // => Pad `z` out to 7 bits using 1s, then encode specially (r = 1)\r\n\r\n while (!(numZBits in lookupE)) {\r\n z = (z << 1) + 1\r\n numZBits++\r\n }\r\n\r\n str += lookupE[numZBits][z]\r\n }\r\n\r\n return str\r\n}\r\n\r\nconst decode = str => {\r\n const length = str.length\r\n\r\n // This length is a guess. There's a chance we allocate one more byte here\r\n // than we actually need. But we can count and slice it off later\r\n const uint8Array = new Uint8Array(Math.floor(length * BITS_PER_CHAR / BITS_PER_BYTE))\r\n let numUint8s = 0\r\n let uint8 = 0\r\n let numUint8Bits = 0\r\n\r\n for (let i = 0; i < length; i++) {\r\n const chr = str.charAt(i)\r\n\r\n if (!(chr in lookupD)) {\r\n throw new Error(`Unrecognised Base32768 character: ${chr}`)\r\n }\r\n\r\n const [numZBits, z] = lookupD[chr]\r\n\r\n if (numZBits !== BITS_PER_CHAR && i !== length - 1) {\r\n throw new Error('Secondary character found before end of input at position ' + String(i))\r\n }\r\n\r\n // Take most significant bit first\r\n for (let j = numZBits - 1; j >= 0; j--) {\r\n const bit = (z >> j) & 1\r\n\r\n uint8 = (uint8 << 1) + bit\r\n numUint8Bits++\r\n\r\n if (numUint8Bits === BITS_PER_BYTE) {\r\n uint8Array[numUint8s] = uint8\r\n numUint8s++\r\n uint8 = 0\r\n numUint8Bits = 0\r\n }\r\n }\r\n }\r\n\r\n // Final padding bits! Requires special consideration!\r\n // Remember how we always pad with 1s?\r\n // Note: there could be 0 such bits, check still works though\r\n if (uint8 !== ((1 << numUint8Bits) - 1)) {\r\n throw new Error('Padding mismatch')\r\n }\r\n\r\n return new Uint8Array(uint8Array.buffer, 0, numUint8s)\r\n}\r\n\r\nexport { encode, decode }\r\n","import { useEffect, useRef } from 'preact/hooks'\nimport { Link } from 'wouter-preact'\n\nimport ThemeSelector from\n '~/src/components/ThemeSelector/ThemeSelector'\n\nimport * as s from './MenuOverlay.module.scss'\n\nexport default function MenuOverlay ({\n themeEngine, onFullscreenRequest, menuOpen, setMenuOpen,\n}) {\n const dialog = useRef(null)\n\n useEffect(() => {\n const dialogOpen = dialog.current.open\n\n if (menuOpen && !dialogOpen) {\n dialog.current.showModal()\n }\n\n if (!menuOpen && dialogOpen) {\n dialog.current.close()\n }\n }, [menuOpen])\n\n useEffect(() => {\n const currentDialog = dialog.current\n const closeHandler = () => {\n setMenuOpen(false)\n }\n\n currentDialog.addEventListener('close', closeHandler)\n return () => currentDialog.removeEventListener('close', closeHandler)\n }, [dialog, setMenuOpen])\n\n\n return (\n \n
    \n
    \n dialog.current.close()}\n >\n Close this menu\n \n
    \n\n
    \n {\n dialog.current.close()\n onFullscreenRequest()\n }}\n >\n Full screen\n \n themeEngine.setRandomTheme()}\n >\n Set a random theme\n \n \n
    \n\n
    \n \n ElseIfPlayer\n \n
    \n
    \n
    \n )\n}\n",".menu {\n width: 100%;\n\n border-left: none;\n border-right: none;\n text-align: center;\n padding-top: 0;\n padding-bottom: 0;\n\n background-color: var(--bg-color);\n border-color: var(--main-color);\n color: var(--main-color);\n\n &::backdrop {\n background: none;\n backdrop-filter: blur(2px);\n }\n\n & > section {\n margin: 32px auto 40px;\n gap: 32px;\n max-width: 270px;\n display: flex;\n flex-direction: column;\n }\n\n .navigation {\n color: var(--accent-color);\n }\n\n .appearance {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n select,\n button {\n width: 100%;\n }\n}\n","import Status from '~/src/components/Player/Status/Status'\n\nexport default function NotFoundView () {\n return
    \n \n
    \n}\n",".app {\n min-height: 100%;\n box-sizing: border-box;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n color: var(--main-color);\n background-color: var(--bg-color);\n\n /* */\n &.home, &.games, &.themes {\n padding: var(--inner-padding);\n\n /* Fix for Jumping Scrollbar Issue */\n @media (min-width: 800px) {\n padding-left: calc(100vw - 100% + var(--inner-padding));\n }\n }\n\n /* Player view */\n &.play, &.focus {\n height: 100%;\n max-height: 100dvh;\n\n @media (min-width: 800px) {\n & > main {\n max-height: 90%;\n margin: auto;\n }\n }\n }\n\n /* */\n & > main {\n flex: 1 1 auto;\n\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n\n @media (min-width: 800px) {\n margin: 5vh 0;\n max-width: 800px;\n }\n }\n}\n"],"names":["$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","l","u","_scriptDir","i","t","o","r","f","$6b876c53408b349f$export$b7e3ae3d7c15e42e","$6b876c53408b349f$export$a8ecead220dd38a6","$6b876c53408b349f$export$c789db2c85949867","$6b876c53408b349f$export$d61e5f8e032e1547","$6b876c53408b349f$export$77694752ff0b3730","$7742cff3645aa0b6$export$1ee2ee71de083e4d","$7742cff3645aa0b6$export$b7e3ae3d7c15e42e","$7742cff3645aa0b6$export$a8ecead220dd38a6","$7742cff3645aa0b6$export$64cbebf88d5f7b08","$7742cff3645aa0b6$export$d61e5f8e032e1547","$7264401512871bae$export$ab1029bcae9ddb4a","$7264401512871bae$export$347a3a46df242257","$d7f5f88be915a221$export$471f7ae5c4103ae1","$6003de219045a58b$export$729c8b7179294ba","$6003de219045a58b$export$d7ddd398f22d79ef","$6003de219045a58b$export$79863f625c4e57","$6003de219045a58b$export$d12a05a2da93ee73","$6003de219045a58b$export$899fbdb5fa08b653","$6003de219045a58b$export$d9a33280f07116d9","$parcel$global","globalThis","self","window","global","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$49c1aa6c5541520f$export$bdfd709ae4826697","$49c1aa6c5541520f$var$bundleURL","value","$49c1aa6c5541520f$var$getBundleURL","matches","stack","match","replace","$551174e99d8c5924$var$n","$551174e99d8c5924$export$41c562ebe57d11e2","$551174e99d8c5924$var$u","$551174e99d8c5924$export$a8257692ac88316c","$551174e99d8c5924$var$t","$551174e99d8c5924$var$o","$551174e99d8c5924$var$r","$551174e99d8c5924$var$f","$551174e99d8c5924$var$e","$551174e99d8c5924$var$c","$551174e99d8c5924$var$s","$551174e99d8c5924$var$a","$551174e99d8c5924$var$v","Array","isArray","$551174e99d8c5924$var$h","$551174e99d8c5924$var$p","parentNode","removeChild","$551174e99d8c5924$export$c8a8987d4410bf2d","arguments","length","children","defaultProps","$551174e99d8c5924$var$d","type","props","key","ref","__k","__","__b","__e","__d","__c","__h","constructor","__v","vnode","$551174e99d8c5924$export$ffb0004e005737fa","$551174e99d8c5924$export$16fa2f45be04daa8","context","$551174e99d8c5924$var$g","indexOf","$551174e99d8c5924$var$w","push","$551174e99d8c5924$var$x","__r","debounceRendering","c","sort","shift","__P","$551174e99d8c5924$var$L","__n","ownerSVGElement","$551174e99d8c5924$var$M","$551174e99d8c5924$var$m","base","$551174e99d8c5924$var$P","a","h","p","y","_","b","m","w","x","P","$551174e99d8c5924$var$C","$551174e99d8c5924$var$$","$551174e99d8c5924$var$A","nextSibling","$551174e99d8c5924$var$q","unmount","current","$551174e99d8c5924$var$O","componentWillUnmount","appendChild","insertBefore","$551174e99d8c5924$var$I","setProperty","test","$551174e99d8c5924$var$T","style","cssText","toLowerCase","slice","addEventListener","$551174e99d8c5924$var$z","$551174e99d8c5924$var$j","removeEventListener","removeAttribute","setAttribute","event","d","g","C","S","$","A","H","I","contextType","__E","prototype","render","$551174e99d8c5924$var$B","sub","state","_sb","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","forEach","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","$551174e99d8c5924$var$N","k","localName","nodeType","document","createTextNode","createElementNS","createElement","is","data","childNodes","dangerouslySetInnerHTML","attributes","name","__html","innerHTML","$551174e99d8c5924$var$H","checked","diffed","some","$551174e99d8c5924$export$e530037191fcd5d7","getDerivedStateFromError","setState","componentDidCatch","forceUpdate","Promise","then","bind","resolve","setTimeout","$8161a3c5d316e860$var$_","$8161a3c5d316e860$export$34b9dba7ce09269b","__source","__self","$5c5fa90583e4b8e8$var$t","$5c5fa90583e4b8e8$var$r","$5c5fa90583e4b8e8$var$u","$5c5fa90583e4b8e8$var$i","$5c5fa90583e4b8e8$var$o","$5c5fa90583e4b8e8$var$f","$5c5fa90583e4b8e8$var$c","$5c5fa90583e4b8e8$var$e","$5c5fa90583e4b8e8$var$a","$5c5fa90583e4b8e8$var$v","$5c5fa90583e4b8e8$var$l","$5c5fa90583e4b8e8$var$m","$5c5fa90583e4b8e8$var$d","__H","__V","$5c5fa90583e4b8e8$export$60241385465d0a34","$5c5fa90583e4b8e8$export$13e3392192263954","$5c5fa90583e4b8e8$var$B","__N","filter","every","$5c5fa90583e4b8e8$export$6d9c69b0de29b591","$5c5fa90583e4b8e8$var$z","$5c5fa90583e4b8e8$export$e5c5a5f917a5871c","$5c5fa90583e4b8e8$export$b8f5890fc79d6aca","$5c5fa90583e4b8e8$export$1538c33de8887b59","$5c5fa90583e4b8e8$var$b","$5c5fa90583e4b8e8$var$k","$5c5fa90583e4b8e8$var$w","requestAnimationFrame","$5c5fa90583e4b8e8$var$j","$5c5fa90583e4b8e8$var$g","clearTimeout","cancelAnimationFrame","$fe1664b9958a6563$var$canUseDOM","$fe1664b9958a6563$var$is","$fe1664b9958a6563$export$90fc3a17d93f704c","fn","args","$e85d6386137e524a$var$relativePath","path","location","pathname","$e85d6386137e524a$var$absolutePath","to","$e85d6386137e524a$var$eventPushState","$e85d6386137e524a$var$eventReplaceState","$e85d6386137e524a$export$4bf9923669ad6c63","$e85d6386137e524a$var$subscribeToLocationUpdates","callback","$e85d6386137e524a$export$3a1ff78c39f8a86","ssrFn","subscribe","getSnapshot","getSSRSnapshot","_instance","_value","_getSnapshot","$e85d6386137e524a$var$currentPathname","$e85d6386137e524a$export$2a28ef6a9fe822a4","ssrPath","$e85d6386137e524a$export$ff7962acd6052c28","history","original","result","apply","Event","dispatchEvent","$d7bafb128031febe$var$escapeRx","str","$d7bafb128031febe$var$rxForSegment","repeat","optional","prefix","capture","$d7bafb128031febe$var$pathToRegexp","pattern","groupRx","lastIndex","keys","exec","segment","mod","index","prev","substring","regexp","RegExp","$bf49b3b08868bbb1$var$defaultRouter","hook","opts","navOpts","matcher","makeRegexpFn","cache","getRegexp","out","params","reduce","$bf49b3b08868bbb1$var$RouterCtx","Consumer","Provider","splice","$bf49b3b08868bbb1$export$9a302a45f65d0572","$bf49b3b08868bbb1$var$useLocationFromRouter","router","$bf49b3b08868bbb1$export$3f79f0b98112cf57","$bf49b3b08868bbb1$export$55185c17a0fcbe46","parent","updateRouter","proto","ownBase","$bf49b3b08868bbb1$export$e7b0ac011bb776c6","component","useRouteMatch","$bf49b3b08868bbb1$export$a6c7ac8248d6e38a","navigate","href","onClick","handleClick","ctrlKey","metaKey","altKey","shiftKey","button","defaultPrevented","preventDefault","extraProps","jsx","$bf49b3b08868bbb1$var$flattenChildren","concat","map","$bf49b3b08868bbb1$export$b5d5cf8927ab7262","originalLocation","element","$66f2da609d6d9bfe$var$windowLocation","hash","$66f2da609d6d9bfe$export$8eb08f90c24d5079","url","encodeURIComponent","$66f2da609d6d9bfe$export$4fac2eeccfa4a8ca","currentView","split","Boolean","$66f2da609d6d9bfe$export$b37f3f4c9f6562f7","currentLocation","setCurrentLocation","onHashChange","newLocation","scrollTo","$1a1447a1dbeb7cc3$export$d9a33280f07116d9","$1e789317f11755fe$var$LS_THEME_KEY","$1e789317f11755fe$var$DEFAULT_THEME","$1e789317f11755fe$var$getSavedTheme","savedTheme","localStorage","getItem","$1e789317f11755fe$var$assertTheme","theme","includes","$1e789317f11755fe$export$818080cba8053148","initialTheme","currentTheme","setCurrentTheme","setTheme","newTheme","setItem","setRandomTheme","randomTheme","Math","floor","random","themes","$1708390c5041b6e2$export$2e2bcd8739ae039","setLocation","buildLink","onChange","target","file","files","URL","createObjectURL","$bc4fc25313d9323c$export$2e2bcd8739ae039","urlRE","placeholder","onKeyPress","keyCode","encodeURI","$7c39639b64b564e0$export$2e2bcd8739ae039","themeEngine","options","$85078130a8d7a0de$export$2e2bcd8739ae039","rel","$c416337fc7df6b27$export$2e2bcd8739ae039","ifdb","$8072c402bd1a5d6e$export$2e2bcd8739ae039","$a9795ef4044b2e22$var$tutorialGame","$a9795ef4044b2e22$export$2e2bcd8739ae039","className","title","game","$d21b3c63351f5932$var$Preview","join","$d21b3c63351f5932$export$2e2bcd8739ae039","$02f1d47ba060901a$export$2e2bcd8739ae039","VM","dialog","Dialog","streaming","FS","Module","filename_map","filename_counter","close","stream","fstream","fclose","fmode","file_write","fref","createNode","mode","isDir","isFile","ErrnoError","node","node_ops","stream_ops","timestamp","Date","now","getattr","size","atime","ctime","dev","gid","ino","mtime","nlink","rdev","uid","get_dialog_ref","filename","usage","gameid","AsciiToString","_gidispatch_get_game_id","file_construct_ref","llseek","offset","whence","position","curpos","ftell","fseek","lookup","realname","file_ref_exists","mknod","mmap","mount","msync","open","flags","file_fopen","file_read","Uint8Array","read","buffer","min","subarray","buf","BufferClass","from","fread","readdir","readlink","register_filename","suffix","fakename","rename","rmdir","setattr","symlink","unlink","file_remove_ref","write","fwrite","end_of_write","old_data","$7c4ebf67e8338ec8$var$base_options","$7c4ebf67e8338ec8$export$2e2bcd8739ae039","assign","default_options","start","encoder","TextEncoder","show_help","emglken_stdin_buffers","emglken_stdin_ready","locateFile","print","startsWith","endsWith","obj","JSON","parse","specialinput","last_fr_usage","filetype","GlkOte","update","console","log","preRun","EFS","mkdir","chdir","wasmBinary","accept","response","json_data","stringify","encode","vmcore","$15b39ab17ec5a236$exports","getBundleURL","$1c3c240882313db4$var$Module","readyPromiseResolve","readyPromiseReject","read_","readAsync","readBinary","wasmMemory","EXITSTATUS","HEAP8","HEAPU8","HEAP16","HEAP32","HEAPU32","wasmBinaryFile","tempDouble","tempI64","calledRun","reject","moduleOverrides","arguments_","thisProgram","quit_","status","toThrow","scriptDirectory","currentScript","src","substr","lastIndexOf","xhr","XMLHttpRequest","send","responseText","onload","onerror","responseType","warn","noExitRuntime","WebAssembly","abort","ABORT","UTF8Decoder","TextDecoder","UTF8ArrayToString","heapOrArray","idx","maxBytesToRead","endIdx","endPtr","decode","UTF8ToString","ptr","maxPtr","end","stringToUTF8Array","heap","outIdx","maxBytesToWrite","startIdx","charCodeAt","u1","lengthBytesUTF8","len","updateMemoryViews","Int8Array","Int16Array","Int32Array","Uint16Array","Uint32Array","Float32Array","Float64Array","__ATPRERUN__","__ATINIT__","__ATMAIN__","__ATEXIT__","__ATPOSTRUN__","runtimeExited","runtimeKeepaliveCounter","runDependencies","runDependencyWatcher","dependenciesFulfilled","addRunDependency","removeRunDependency","clearInterval","what","RuntimeError","isDataURI","getBinary","instantiateArrayBuffer","binaryFile","imports","receiver","getBinaryPromise","fetch","credentials","catch","binary","instantiate","instance","reason","ExitStatus","message","callRuntimeCallbacks","callbacks","exceptionCaught","uncaughtExceptionCount","exceptionLast","ExceptionInfo","excPtr","set_type","get_type","set_destructor","destructor","get_destructor","set_refcount","refcount","set_caught","caught","get_caught","set_rethrown","rethrown","get_rethrown","set_adjusted_ptr","add_ref","release_ref","adjustedPtr","get_adjusted_ptr","get_exception_ptr","___cxa_is_pointer_type","adjusted","___cxa_find_matching_catch","thrown","setTempRet0","info","thrownType","caughtType","___cxa_can_catch","PATH","isAbs","charAt","splitPath","splitPathRe","normalizeArray","parts","allowAboveRoot","up","last","unshift","normalize","isAbsolute","trailingSlash","dirname","root","dir","basename","lastSlash","paths","join2","PATH_FS","resolvedPath","resolvedAbsolute","cwd","TypeError","relative","trim","arr","fromParts","toParts","samePartsLength","outputParts","intArrayFromString","stringy","dontAddNull","u8array","numBytesWritten","TTY","ttys","shutdown","ops","input","output","registerDevice","tty","seekable","fsync","pos","get_char","bytesRead","undefined","put_char","default_tty_ops","prompt","readline","val","default_tty1_ops","MEMFS","ops_table","isBlkdev","isFIFO","allocate","link","chrdev","chrdev_stream_ops","contents","usedBytes","isLink","isChrdev","getFileDataAsTypedArray","expandFileStorage","newCapacity","prevCapacity","max","oldContents","resizeFileStorage","newSize","attr","blksize","blocks","ceil","genericErrors","old_node","new_dir","new_name","new_node","lookupNode","entries","hasOwnProperty","newname","oldpath","canOwn","prot","allocated","byteOffset","mmapFlags","mounts","devices","streams","nextInode","nameTable","currentPath","initialized","ignorePermissions","filesystems","syncFSRequests","lookupPath","follow_mount","recurse_count","current_path","islast","isMountpoint","mounted","follow","count","getPath","isRoot","mountpoint","hashName","parentid","hashAddNode","name_next","hashRemoveNode","errCode","mayLookup","nodeName","FSNode","destroyNode","isSocket","flagModes","modeStringToFlags","flagsToPermissionString","flag","perms","nodePermissions","mayCreate","mayDelete","isdir","errno","mayOpen","MAX_OPEN_FDS","nextfd","fd_start","fd_end","fd","getStream","createStream","FSStream","shared","defineProperties","object","isRead","isWrite","isAppend","closeStream","device","getDevice","major","minor","makedev","ma","mi","getMounts","check","pop","syncfs","populate","completed","doCallback","done","errored","pseudo","mountRoot","next","create","mkdirTree","dirs","mkdev","newpath","old_path","new_path","old_dir","old_dirname","new_dirname","old_name","stat","dontFollow","lstat","chmod","lchmod","fchmod","chown","lchown","fchown","truncate","ftruncate","utime","created","ungotten","error","readFiles","isClosed","getdents","seeking","bytesWritten","munmap","ioctl","cmd","arg","readFile","encoding","ret","writeFile","actualNumBytes","ArrayBuffer","isView","byteLength","createDefaultDirectories","createDefaultDevices","random_device","getRandomDevice","crypto","randomBuffer","getRandomValues","createDevice","createSpecialDirectories","proc_self","createStandardStreams","ensureErrnoError","setErrno","staticInit","quit","_fflush","getMode","canRead","canWrite","findObject","dontResolveLastLink","analyzePath","exists","parentExists","parentPath","parentObject","createPath","reverse","part","createFile","properties","createDataFile","forceLoadFile","isDevice","isFolder","createLazyFile","LazyUint8Array","lengthKnown","chunks","chunkOffset","chunkSize","chunkNum","getter","setDataGetter","cacheLength","header","datalength","Number","getResponseHeader","hasByteServing","usesGzip","doXHR","setRequestHeader","overrideMimeType","lazyArray","_length","_chunkSize","writeChunks","createPreloadedFile","dontCreateFile","preFinish","dep","fullname","processData","byteArray","finish","Browser","handledByPreloadPlugin","arrayBuffer","text","indexedDB","mozIndexedDB","webkitIndexedDB","msIndexedDB","DB_NAME","DB_VERSION","DB_STORE_NAME","saveFilesToDB","openRequest","onupgradeneeded","db","createObjectStore","onsuccess","transaction","objectStore","ok","fail","total","putRequest","put","loadFilesFromDB","getRequest","SYSCALLS","DEFAULT_POLLMASK","calculateAt","dirfd","allowEmpty","dirstream","getStreamFromFD","doStat","func","abs","getTime","doMsync","addr","varargs","getStr","__isLeapYear","year","__MONTH_DAYS_LEAP_CUMULATIVE","__MONTH_DAYS_REGULAR_CUMULATIVE","allocateUTF8","_malloc","ENV","getEnvStrings","strings","env","navigator","languages","exitJS","implicit","___funcs_on_exit","__MONTH_DAYS_LEAP","__MONTH_DAYS_REGULAR","_strftime","maxsize","format","tm","tm_zone","date","tm_sec","tm_min","tm_hour","tm_mday","tm_mon","tm_year","tm_wday","tm_yday","tm_isdst","tm_gmtoff","EXPANSION_RULES_1","rule","WEEKDAYS","MONTHS","leadingSomething","digits","character","toString","leadingNulls","compareByDay","date1","date2","compare","sgn","getFullYear","getMonth","getDate","getFirstWeekStartDate","janFourth","getDay","getWeekBasedYear","thisDate","__addDays","days","newDate","leap","currentMonth","daysInCurrentMonth","setDate","setMonth","setFullYear","janFourthThisYear","janFourthNextYear","firstWeekStartThisYear","firstWeekStartNextYear","EXPANSION_RULES_2","twelveHour","__arraySum","array","sum","jan1","dec31","off","ahead","String","bytes","handleException","runAndAbortIfError","Asyncify","instrumentWasmImports","ASYNCIFY_IMPORTS","sig","instrumentWasmExports","exportCallStack","maybeStopUnwind","State","Normal","Unwinding","Rewinding","Disabled","StackSize","currData","handleSleepReturnValue","callStackNameToId","callStackIdToName","callStackId","asyncPromiseHandlers","sleepCallbacks","getCallStackId","funcName","_asyncify_stop_unwind","Fibers","trampoline","whenDone","allocateData","setDataHeader","setDataRewindFunc","stackSize","bottomOfCallStack","rewindId","getDataRewindFunc","doRewind","handleSleep","startAsync","reachedCallback","reachedAfterCallback","_asyncify_start_rewind","mainLoop","resume","asyncWasmReturnValue","isError","handled","pause","_asyncify_start_unwind","_asyncify_stop_rewind","_free","callUserCallback","maybeExit","_exit","handleAsync","wakeUp","wasmImports","maxlen","exception_addRef","_setThrew","exception_decRef","a1","dynCall_ii","___cxa_free_exception","amode","newStream","___errno_location","cwdLengthInBytes","op","argp","time","tmPtr","readI53FromI64","getSeconds","getMinutes","getHours","yday","__yday_from_date","monthDaysCumulative","isLeapYear","getTimezoneOffset","summerOffset","winterOffset","dst","timezone","daylight","tzname","currentYear","winter","summer","extractZone","toTimeString","stdTimezoneOffset","winterName","summerName","winterNamePtr","summerNamePtr","dest","num","copyWithin","requestedSize","oldSize","alignUp","multiple","cutDown","overGrownHeapSize","emscripten_realloc_buffer","grow","__environ","environ_buf","bufSize","string","writeAsciiToMemory","penviron_count","penviron_buf_size","iov","iovcnt","pnum","doReadv","curr","offset_low","offset_high","newOffset","hi","lo","NaN","isNaN","doWritev","a2","a3","sp","stackSave","dynCall_diii","stackRestore","dynCall_fiii","dynCall_i","dynCall_iii","dynCall_iiii","a4","dynCall_iiiii","a5","dynCall_iiiiii","a6","dynCall_iiiiiii","a7","dynCall_iiiiiiii","a8","a9","a10","a11","dynCall_iiiiiiiiiiii","dynCall_ji","dynCall_jiiii","dynCall_v","dynCall_vi","dynCall_vii","dynCall_viii","dynCall_viiii","dynCall_viiiii","dynCall_viiiiiii","dynCall_viiiiiiiiii","a12","a13","a14","a15","dynCall_viiiiiiiiiiiiiii","loc","createWasm","receiveInstance","cb","instantiateAsync","instantiateStreaming","_main","stackAlloc","run","addOnPreRun","doRun","shouldRunNow","callMain","entryFunction","argc","argv","argv_ptr","postRun","addOnPostRun","ch","fromCharCode","runCaller","ready","$90bdb86e43292d66$exports","$a5c3b71e8affc86f$var$Module","emglken_common_buffer_transformer","numchars","dont_reduce","utf32","fromCodePoint","new_str","newbuf","codePointAt","newlen","Infinity","getUTCSeconds","getUTCMinutes","getUTCHours","getUTCDate","getUTCMonth","getUTCFullYear","getUTCDay","UTC","guessedOffset","dstOffset","trueOffset","setTime","getYear","lowerrest","special_cases","thischar","slightly_less_special_cases","toUpperCase","$b4505afa6c4299ab$exports","$6b4c486f96eb5551$var$Module","$56d7e4ab31bcd78a$exports","$5da5b9828ec10744$var$Module","old","dirp","outPtr","child","nofollow","bufsize","endChar","olddirfd","newdirfd","performance","dynCall_iiiiiiiii","dynCall_iiiiiiiiii","dynCall_iiiiiiiiiii","dynCall_iiiiiiiiiiiiii","dynCall_iiiiiiiiiiiiiiii","a16","a17","dynCall_iiiiiiiiiiiiiiiiii","dynCall_viiiiii","dynCall_viiiiiiii","dynCall_viiiiiiiii","dynCall_viiiiiiiiiii","$9057ad164b194cd9$exports","$504b148d08d37416$var$Module","$11084da5888c7d7e$var$formats","extensions","engine","$11084da5888c7d7e$export$1784a1ff765207b7","find","wasmBinaryName","$5e25d1360d04c823$export$2e2bcd8739ae039","handlers","loggers","dirent","israw","onFileRead","content","onFileWrite","tosave","onFileNameRequest","warning","$640511b266482529$export$2e2bcd8739ae039","width","height","current_metrics","disabled","generation","interface","version","measure_window","buffercharheight","buffercharwidth","buffermarginx","buffermarginy","graphicsmarginx","graphicsmarginy","gridcharheight","gridcharwidth","gridmarginx","gridmarginy","inspacingx","inspacingy","outspacingx","outspacingy","getinterface","iface","send_response","gen","disable","cancel_inputs","windows","update_windows","update_content","update_inputs","accept_specialinput","exit","win","val2","res","metrics","support","$25e930408cddd3f8$export$2e2bcd8739ae039","sendFn","onInit","onUpdateInputs","filemode","messages","onUpdateContent","onExit","onDisable","onUpdateWindows","$db6ac6276ae4f3e4$var$noop","$db6ac6276ae4f3e4$var$defaultHandlers","acc","$db6ac6276ae4f3e4$var$defaultLoggers","$db6ac6276ae4f3e4$var$defaultSize","$db6ac6276ae4f3e4$export$2e2bcd8739ae039","handlers_","loggers_","size_","$7742cff3645aa0b6$exports","$0f82f0e8d6bc47f2$export$2e2bcd8739ae039","defaultContent","grid","subheader","emphasized","scrollTarget","endOfLine","$c5dda773199830f0$var$eol","$c5dda773199830f0$var$scrollTarget","$c5dda773199830f0$var$isFakeStatus","$c5dda773199830f0$var$trimInputPrompt","$c5dda773199830f0$var$parseInbox","inbox","currentWindow","currentInbox","clear","incoming","inboxMessagesRaw","$c5dda773199830f0$export$2e2bcd8739ae039","setMessages","textBufferEl","scrollTargets","querySelectorAll","freshScrollTarget","scrollIntoView","top","scrollHeight","behavior","tabindex","$272a9a66be55229e$export$2e2bcd8739ae039","prevMessages","setPrevMessages","currentInboxObj","lines","rawMessages","gridheight","fill","byId","list","line","shouldUpdatePrev","serialize","rawMessagesContent","flat","isEmpty","getGridStyle","$1aca019851cc147a$export$2e2bcd8739ae039","class","viewBox","xmlns","$6ceab6f7d9d9af03$var$keyCodes","KEY_BACKSPACE","KEY_TAB","KEY_RETURN","KEY_ESC","KEY_PAGEUP","KEY_PAGEDOWN","KEY_END","KEY_HOME","KEY_LEFT","KEY_UP","KEY_RIGHT","KEY_DOWN","$6ceab6f7d9d9af03$var$keyNames","$6ceab6f7d9d9af03$var$hasModifier","modifiers","modifier","$6ceab6f7d9d9af03$export$2e2bcd8739ae039","inputType","currentWindowId","sendMessage","onFullscreenRequest","setMenuOpen","targetWindow","setTargetWindow","inputText","setInputText","lastInput","setLastInput","inputEl","setFocus","focus","charHandlerDefault","charHandlerMobile","inputHandlers","char","maxlength","onKeyDown","setSelectionRange","finished","autofocus","autocomplete","spellCheck","autocapitalize","autocorrect","onDblClick","onInput","$1068788a6b5bd866$var$fail","details","$1068788a6b5bd866$var$loading","$1068788a6b5bd866$export$2e2bcd8739ae039","stage","loading","$a3e838a981d9102e$var$lookupE","$a3e838a981d9102e$var$lookupD","$a3e838a981d9102e$var$pairStrings","pairString","encodeRepertoire","pair","first","codePoint","numZBits","$a3e838a981d9102e$var$BITS_PER_CHAR","$a3e838a981d9102e$var$BITS_PER_BYTE","chr","z","$a3e838a981d9102e$export$c564cdbbe6da493","uint8Array","uint8","j","bit","$a3e838a981d9102e$export$2f872c0f2117be69","numUint8s","numUint8Bits","$55fe02cc0e361ca1$export$fe1040197752eb59","setStatus","setWindows","setCurrentWindowId","setInputType","setInbox","_tosave","_gameId","setFileName","$55fe02cc0e361ca1$export$877ebb39146e6928","promise","$d1e73e56b58e412e$var$INITIAL_STATUS","$d1e73e56b58e412e$var$runMachine","Engine","storyfile","Glk","$d1e73e56b58e412e$export$2e2bcd8739ae039","vmParts","singleWindow","vm","setVm","setSendMessage","rejectionHandler","$cc5481a01a7ff6bc$var$INITIAL_STATUS","$cc5481a01a7ff6bc$var$prepareVM","setParts","st","fetchWasm","statusText","all","$cc5481a01a7ff6bc$export$2e2bcd8739ae039","$dcf9cc7c30fac7fa$export$2e2bcd8739ae039","menuOpen","dialogOpen","showModal","currentDialog","closeHandler","tabIndex","$b5ee9fb5e8b4f417$var$decode","encodedUrl","decodeURIComponent","$b5ee9fb5e8b4f417$export$2e2bcd8739ae039","targetUrl","setTargetUrl","documentElement","requestFullscreen","$1425950ba2693d8f$export$2e2bcd8739ae039","$6003de219045a58b$exports","playerView","app","getElementById","firstChild","vnodeId","createVNode","isStaticChildren","normalizedProps","isValidElement","rerenderQueue","prevDebounce","defer","depthSort","EMPTY_OBJ","EMPTY_ARR","IS_NON_DIMENSIONAL","removeNode","createRef","Fragment","Component","this","getDomSibling","childIndex","sibling","updateParentDomPointers","enqueueRender","process","renderQueueLength","commitQueue","oldVNode","oldDom","parentDom","diff","commitRoot","diffChildren","renderResult","newParentVNode","oldParentVNode","globalContext","isSvg","excessDomChildren","isHydrating","childVNode","newDom","firstChildDom","refs","oldChildren","oldChildrenLength","reorderChildren","placeChild","getLastDom","applyRef","tmp","toChildArray","nextDom","sibDom","outer","lastDom","diffProps","dom","newProps","oldProps","hydrate","setStyle","oldValue","useCapture","eventProxyCapture","eventProxy","newVNode","isNew","oldState","snapshot","clearProcessingException","provider","componentContext","renderHook","newType","doRender","diffElementNodes","oldHtml","newHtml","parentVNode","skipRemove","replaceNode","cloneElement","createContext","defaultValue","contextId","contextValue","subs","ctx","_props","errorInfo","ctor","currentIndex","currentComponent","previousComponent","prevRaf","currentHook","afterPaintEffects","EMPTY","oldBeforeDiff","oldBeforeRender","oldAfterDiff","oldCommit","oldBeforeUnmount","getHookState","hooks","useState","initialState","useReducer","invokeOrReturn","reducer","hookState","_reducer","action","currentValue","nextValue","_hasScuFromHooks","updateHookState","stateHooks","prevScu","shouldUpdate","hookItem","prevCWU","useEffect","argsChanged","_pendingArgs","useLayoutEffect","useRef","initialValue","useMemo","useImperativeHandle","createHandle","factory","useCallback","useContext","useDebugValue","formatter","useErrorBoundary","errState","useId","__m","mask","flushAfterPaintEffects","invokeCleanup","invokeEffect","afterNextFrame","hasErrored","HAS_RAF","raf","timeout","comp","cleanup","oldArgs","newArgs"],"version":3,"file":"index.7852e909.js.map"} \ No newline at end of file diff --git a/docs/index.e07a7069.js b/docs/index.e07a7069.js new file mode 100644 index 0000000..254ff9b --- /dev/null +++ b/docs/index.e07a7069.js @@ -0,0 +1,2 @@ +function e(e,r,n,o){Object.defineProperty(e,r,{get:n,set:o,enumerable:!0,configurable:!0})}var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},n={},o={},t=r.parcelRequire847f;null==t&&((t=function(e){if(e in n)return n[e].exports;if(e in o){var r=o[e];delete o[e];var t={id:e,exports:{}};return n[e]=t,r.call(t.exports,t,t.exports),t.exports}var i=Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}).register=function(e,r){o[e]=r},r.parcelRequire847f=t),t.register("6MsPj",function(r,n){"use strict";e(r.exports,"register",function(){return o},function(e){return o=e}),e(r.exports,"resolve",function(){return t},function(e){return t=e});var o,t,i={};o=function(e){for(var r=Object.keys(e),n=0;n","node_modules/@parcel/runtime-js/lib/helpers/bundle-manifest.js","node_modules/@parcel/runtime-js/lib/runtime-58c6364ba08d2459.js"],"sourcesContent":["function $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $parcel$global =\ntypeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequire847f\"];\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequire847f\"] = parcelRequire;\n}\nparcelRequire.register(\"6MsPj\", function(module, exports) {\n\n$parcel$export(module.exports, \"register\", function () { return $4efd962872f6b362$export$6503ec6e8aabbaf; }, function (v) { return $4efd962872f6b362$export$6503ec6e8aabbaf = v; });\n$parcel$export(module.exports, \"resolve\", function () { return $4efd962872f6b362$export$f7ad0328861e2f03; }, function (v) { return $4efd962872f6b362$export$f7ad0328861e2f03 = v; });\nvar $4efd962872f6b362$export$6503ec6e8aabbaf;\nvar $4efd962872f6b362$export$f7ad0328861e2f03;\n\"use strict\";\nvar $4efd962872f6b362$var$mapping = {};\nfunction $4efd962872f6b362$var$register(pairs) {\n var keys = Object.keys(pairs);\n for(var i = 0; i < keys.length; i++)$4efd962872f6b362$var$mapping[keys[i]] = pairs[keys[i]];\n}\nfunction $4efd962872f6b362$var$resolve(id) {\n var resolved = $4efd962872f6b362$var$mapping[id];\n if (resolved == null) throw new Error(\"Could not resolve bundle with id \" + id);\n return resolved;\n}\n$4efd962872f6b362$export$6503ec6e8aabbaf = $4efd962872f6b362$var$register;\n$4efd962872f6b362$export$f7ad0328861e2f03 = $4efd962872f6b362$var$resolve;\n\n});\n\nvar $4feb04ae40983a6e$exports = {};\n\n(parcelRequire(\"6MsPj\")).register(JSON.parse('{\"1WcZ2\":\"index.4a5edb74.js\",\"4QCNJ\":\"bocfel-core.ee206e48.wasm\",\"kBXOE\":\"git-core.b75bc635.wasm\",\"ida9s\":\"hugo-core.34679da7.wasm\",\"90qbH\":\"tads-core.768683a2.wasm\",\"32xWV\":\"scare-core.0f93f725.wasm\",\"depHM\":\"index.62ef15f1.css\"}'));\n\n\n//# sourceMappingURL=index.e07a7069.js.map\n","\"use strict\";\n\nvar mapping = {};\nfunction register(pairs) {\n var keys = Object.keys(pairs);\n for (var i = 0; i < keys.length; i++) {\n mapping[keys[i]] = pairs[keys[i]];\n }\n}\nfunction resolve(id) {\n var resolved = mapping[id];\n if (resolved == null) {\n throw new Error('Could not resolve bundle with id ' + id);\n }\n return resolved;\n}\nmodule.exports.register = register;\nmodule.exports.resolve = resolve;","require('./helpers/bundle-manifest').register(JSON.parse(\"{\\\"1WcZ2\\\":\\\"index.4a5edb74.js\\\",\\\"4QCNJ\\\":\\\"bocfel-core.ee206e48.wasm\\\",\\\"kBXOE\\\":\\\"git-core.b75bc635.wasm\\\",\\\"ida9s\\\":\\\"hugo-core.34679da7.wasm\\\",\\\"90qbH\\\":\\\"tads-core.768683a2.wasm\\\",\\\"32xWV\\\":\\\"scare-core.0f93f725.wasm\\\",\\\"depHM\\\":\\\"index.62ef15f1.css\\\"}\"));"],"names":["$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","self","window","global","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$4efd962872f6b362$export$6503ec6e8aabbaf","$4efd962872f6b362$export$f7ad0328861e2f03","$4efd962872f6b362$var$mapping","pairs","keys","i","length","resolved","JSON","parse"],"version":3,"file":"index.e07a7069.js.map"} \ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..eaa1cc2 --- /dev/null +++ b/docs/index.html @@ -0,0 +1 @@ + ElseIFPlayer
    \ No newline at end of file diff --git a/docs/open-sans-cyrillic-400-normal.09174fa0.woff2 b/docs/open-sans-cyrillic-400-normal.09174fa0.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..6bc81f45b26e5af33975150afd2ae71355e3f163 GIT binary patch literal 10652 zcmV;NDPz`mPew8T0RR9104baR5&!@I08In{04X*A0RR9100000000000000000000 z0000QN*jkJ9D-N|U_Vn-K~!Dt*ZU@5g=leDz5yHknW*)X2MX+%IXx(4*|Nk{XjWOiG4p4J8!$EM- ztkkle6k2h9kly=C6nP7?+_|O?@dEG|0s5TpVQyk3V~%eTJ8}V z`y`i#$S%HD-PJuGJ~kGeFzyKtzTyrpQFa?4eE z+l=A-Lxiz~5%{I8w;2=8ceGV9w5mhxIwqV&!%}^><{PBNa!e4yU0;?w9qNZi{-@3o z8s3+zK;13?c3Dthx^$X9 z8fidUYvL*WqeA-w{}XpL+9)ANCzSP zhFBJ_h0yU*i9AMX1soZhTn(p)#CHGK#>@*?ZMW}OtV?4)QjYGmjH#7k+x;VaE0}-? z+5UzCl$cs>Bxe#NPZ@-otYsNPfh@W96;P@Sgo+rjBI_lm3KFJh19DBZ841eBanOyV zfaNK1hbI8+3GTSFGXXF^icXDR_CJmq6}SKKQ4!SrPYzE>Tm{CkObHy~9-}4@$_9^* z2cf}LW2B|5b_p9@25~qDaXhR84A&@--?o4V3sS@fHBLrO6hv9Df)lOL9eptzlQADFu@&dz zYTS;8@hslNhxisqlfuC>A6%haYj*mh>0+_o9WVFS_YbqEqOpcPn)cp-(dmV?^AlcD z{WH{0<&&6xpI}w&^3~T%@?hl&L$z18>1?+alBF)@8>M`3`aoBq5)ELHz><>j<@6?B12G(0|Q+31@d@FMX7<7k;LcHllUCukV>>4Nzfy@+{Af)9ABXn zSM2o8%{`jEz6)pVQXJV+2@p#r9dcse2@rqK(O{tGuu@rCnIoKoPGZb~hnaS65W9Lc z-xU}A!ss=Op?U|>lam@iqDm=(F5VRdiJ$B%+5Qx7_^tG2Pt~O&WrtLGKQU9M@jrh@ zRRS!}2oj8s5TtAGp-ChZVu+vZC3MtL2^1hqk+C;yH}&KsVmv@uNu5-4w=fYwCSFJ4S&yM5h3AZ!OKf`WqG=DwE|c(qr- zdGWnNKE8j!r3plcBcOsl+l1`KQ0OYSUG4_^boL!om|OxR4Gq7_poFK zi&Sr$=7s59(q+P8HrF;ibAus^80454^OZN=Q&}8S>I_WqPurRTm9vPgh9Q`}f;t69S zH=#{%lS30(!2jR>|NA%^AnMI|=3j{}qoWD8X_&StL1@7E-Q<4l*5vhn*a z26(~%&UG1Ao;(fp$vRZ)S3aB_R+(mTs|^CB$b{ zP?BQ|xx8y-5BtSrBmS<@8JPexs!t`bgkDo7;pEAk-aXvP$%a#J1B;1pSHQ+u5Ybw}nP>Eg1H;D8CX?67KobXE`ciwki+`EDG$1 zV!Rxm7W~wktVZoz+ZI;TvW(!eeX?If=%Ao>PX$R0i#qI*LR)r+-;sB2wERNtdiy{K z=E$v0f*aqAKc0Xp_H&Y5yTWfbc!WDr}S7o~C~=FMC&+%oI*ftsE{p zXXm{HyRIY_F76d?n@?ct`9^+=p$a>C>QMLUd+D_6L{pA$*A7=fqDe3d-tdxGk|=|k z33enH>u-^NFpE1^O2TX3Q~K1{sMqRLTYG<`$)vffv0K=NDLo>C)7u@uxl2Km-1Kpbs;&;*DO6PN3!2MhiG;Q&j~B?G12lF>#$_xwdSDG(_1%^aJn#fjQ)HA+21l{>Y(2@%CmrNSE2s%)T=Z$E5im%a3*3lhx&9RJzmfq;XayR1XgHF4=k)rJ|IdQJ2=3}wk+&9b&N`V*e zpgMOuH0hSfjjM$j9*)PJY#h}wu2&A+i5R!BlBrl)`6XjuhBhvz(uuJ~u!Qq9T6^S8 zC(=N-Q>Z!1yU(fa-4Ow{xXiebjVOq2O;asAM*>rdUowo4B~p zc7ySJl5r!mj-wW44J_2q2)v>UMr)o@c1U|%kr|BrWJ5qf03BL$ZE!)6-Qfm;BjL)y zD^8lOIgV?v_2UT!u%%;xq62RinVPNd&;%?2T$Tw+_b)zEo)T7qgClmdUb91bavxTz zVklbfw%2D%6?G}qQ8X1mP=hY=*TGdR27=kM+nppXyR>pt47gq8s#EUu<)#Ff6U?Y+ zj}b>)S7K_p(na(c&NTwQa!CQ=Xb|RzGS*nv2vlUDeW3=Xp&1}{hpYT`!Fu7^5g%2% zw{}bd;zw5;IL~ph^5XG);w2{S+7K(a9s#x(D zkeq9YA63cgj+`dvf|XTxgur8><<`0D$+wM$J+YSU(T=7?8%9FGX*Rdu2dcr49H`iV z${{X>;P57B1_OMgyiW^eFh(HiE}QsQ0`&Qn0}0YZ==D@{Gs;z`W1aD>5>_A7^lNj2$DxHK<0!%1lxq0^1)r!)3xOhR~s#y4CTuIVKZ$P1Tb9TmW#PH ziW5xwsJeGDoK?4TD~TeBaobAzzIzgY?M67j&hSA$z#j1?N=Q#PmqQ(g7Z6ISV2NvZ z3b~VB9qHkLMV>4;gx08z=pTH1A3zmfE~kVAedoczW7lb`_Nye59vjrBd!FTiswce5 z*TYztAWFW!;Il~u3t*$maKzXDDd#$D0ZhTU4p@V0TJUL4g{17+c1m)l^W5&Y%jWVG zNX7qyi-n0vd#4O^I2tSQ!K?0zuKJo?`TXth(4Wz(2st+wnZJM!2H#XmRw%P{_YCaze0$G@Gw_;CimSCUk|Z5xu**xiVJm^tMt~ z4@~h2UT*G0v+EKjxDrJLJyo>EA^N6Mq{nBlqBjG1hI9PE z=AtgcDu1-?ItF9UWGn(`b(814YIarp!&GHgdUy$vop@Dpjl6^>U3;>H#6Lg{rnz#O za4XyW%({zNNl%<~%4cz#Gq}{VL;72QtsOMLH$q!nx?Y!cku7(Xl>G}H4@@F)X>6$Q zVP6f^hd@CbEJ;^%C*W*ZAtT`?xzvE zB|PFv0@Gi$sp-_-vikNn8j_RH2XeUcSWW6~V|jTdxxfUN;?~p|^|^DfnF;pCQb=M< ziNAEk{OH&ZY*8!17;s|5O($m|xlZPY1g6+zZ}^e=;a?7@NB(K5#cffkASx3Wwq?L% z+LnkZPBdDP*NNpI)*?+erusNf2N?i}D)QP|r;I~R&e}%(0fpi8b+*s_-^GzPj2Diz z*&+;h5r&f|`EC)`HMlvD@rr->s2P@ICI1_y8WzfvEmw z4QL8|bOROsO~VDs>A?rm+YsL|Vb$*tDeEvIN-Bb2tt91$61_j-E!-@{TgK)z=th8; zy@T@v1*TDYYM(igO{*0yz0W-k?sK0%;qw-)uG7XQ)>gnY`&elz(p8)0>2NasbaP=i z&h={-Jf_-y{W4~8YcySkeCV39%fbsM5(@M>2B54huF{GpDIrO+s3MrSyEu@s_?s3b zB3KQX(n|tK^(URfoDC6ZpD#1y$~co{(%wq>0YM~`uu&l&*iT%>Z8|1F+r!`ADHv84 zA{vDA!vp1zal1DJF_~aV>lU^$(vXk7)<6d&ILra zy+QsEC6m{!N-}Na?msN!W+;#E@T$F2VC7;NXxR$RpCmG?ps9ea6v_dUS3z&@GUQIS zSxqNW3i*1SlCeU|+`@swRac72OA#gP>Gi9|R1w~!@C z+=8G%M0K#(?g9O3iif((Mz`h1kLHB|pw@1Vea@rzsgfC|;Ck;v(mmfwtdr;O@ddP7 zOO#%_2J>b`+zHFy79*M@gS{>FA%t2J!LuOWI{2Eu@M^-qRq?Y2eQ{c;b@d_@zPR&4niA z!UYa#;Jk;lhm3DoBgS3QHht*4j7Z^hySPNprnhBLrf&cW87fxm=2e|koHh3}r1d+p z$3|+oCYzo;oUr^SS=nH{t1-_DOzk!=kvFV2rmuJwwVrrTK1&sQRy!CmsNf-0=Y|`R zr9aY|t@C)n4H6&UhQ;?MUC{Q_u&K6_=jx%p=>cZ+I0bh?>q2n_SdSH8U<}v*zzie- zR|l{=FDQSgB1k6QN%S=Prvp;kG+5h&91J-7(|}cJzy#M%#7S;S3}GsmDo_TtwvRXd zk^QnFgo|AHCBL41eO3Z_f+<=Ec}Wr3z_kbc-srxqpK+%K{={*&Jtg~hYdv)MPw!~V zHM)Z<&*#be@7DGY+^&t@KQHs2`R{>y>{t<$O4PIr?Eb~znLE=T)1m6EQsb%8t(esQhMD_wYAg+UyPQ>A*fu2AVhf~4>(V{3k^~Usf`lf` zUQ?4(n%adXrUfXiw}wt)bH%TJY1n!>MgHV|jkKuBcLM&0n-*y6{Uw#KhpH9ZUCU?B zJEtX1I~TCQYsHiFKTitUIJ<>ee~c6+3hY+dWE!=GY`0pFZ@0vbPC4EF7^STebm22r zhM)BJY;KuvzHYF~I}tTRg60|zXkIGWh4>igSzusRPA&7b7>494lpkNNAf}Uw6RbCw zYn*4QCRRG+n5wlC#WbGsZj-gboN;&+BhXD3Z<}sOR*O+@boERQEZ?o0Ar7iJDwq`5 z$Tq3F(=wc_4Na}GkC4Z^H;5S;q?QJQ|D$dPd1(}cMNptVDd%#7qIL?;%33du_W<4OO0R%BD&>hf8h zPx^w;lUw`Z2AMnhUK+M+2bBR`tVkY4*+#U#np~-14u)&BqP#`z6)&s8G_=tjyu|X$ zU&!P+`o{k+j3?kolCYoDs?3_qy!0tiYw0qlwH%VEWq=19y- z984^|{FxkUJCE`n&l|_@*3>R5lJO5KRoQZCy76y!!_Kw28R7o#nKW8O*^2={-?I^i zM7pzpKO;FCZ-ybc$EHux^}mup&e-jz*WN{k&1IhbuzTA zG@w6;>B;$#(}STnGV;txL6)J2u8)mDh)gqsFpD%*tK>y#@4aK2i-zkPy&Hz>i^n$H zKWtb%d*1up`q_q()%DQ&nZYKk&;*u0QIpGDgT$?*-%|0{YI{(vU5ByVI^S4c{a@bA ztJUXNi`F3-1R6K9sC>%a+r)#`RBJn-5z}%lD4|DQKP%LkYa z8)JbqSdyTh&_4W^%L~%T-HRR1U$pavjjHwaqD}1W@KWWjXp;PA#gB@&P+r(F=d~PC zjIyn0Q;PmbEWk*umi-ITZ7t`e1rFt4q=-TxFTV$4XeI{(nH+RajtjJ(4nPjB_lKltUNK}|y1z7GJD@{n zX4GV^>7;9(>Bps0fD0c01IrgrmR~k_kh$V)bu3D1Ia-5(lU6J;k@t7#&H0zOxBWVn zG@ril{e_Sa`|I@SvMQn%t?v-?F1BEzH(Rz9)&JWI1i<<*HBjE{N#zC_243AiT!A0!zV_u?Pxw zuF1}M%E#cvr7rSD1z_bTJ`WT#QvvyHh^|aTW(UG2I5*SSf&dw6$cG`=*18EOFiJ=! z&0U0S(ZSzpjRanWb1-5C#=I6LBzP!5G=y_K)khOyhjkR z=A2inODQTzzP`auk#CqlC{%OxIbmf-DAS0oEumNP+(JEb-RS|PDsGBL3%phNs`BXT z;22s?z#eLeRwZ_w2U|K7AVh&Mq^eEl1@Ise{|ubDjrwk1;XaIhr0epl} zW@2be8OccSJn=ji6{d-NGL#3P1CB%ugRHPKzwq=OBB?u2T$#+jI{(TX^3!0wG(ZJI-|~dui&X zs!La9cV;QbsLHl9`XY!4I|tSCz~?aex%3} z7wibg+t8_)wDTQ#vp)5+9(4*u2eN8?qoYb)b1^1ezd$Z10y z19>Xz(5Na`rWwurWWC?PaEag&+-dghN@YJvr$+!6o~2W&B{In4_8zNHNYO2B>QwS< zc}>gvab~&n@0Tnr5vn#p{hy!f%P*#%1bR43nSvEM(GIK^EhA(tQtFvRe3DetlN`vbun)(mpKNwMf&c zVARWRwA?GotUAL<6M0gi`E`2UkJX)$zwgr*;3mTaBtyx+tTm()F)fJn)wlYEyZ7LF?JNkOaI` zpak#OkUll5P1r`L!pmW0CN>87@O*&-e#LIi%@khG7)$(TxHMAwPK}o(1$w2^QaqD` z0=<({XoPgN<7&c)NYCO9+w9y{YsX?ZsTG+J>J}fC;DscMBauktD-xcAHm;w>BM^-RO7^Aoe0zvi(r$8cr2y%$BUkCWiJN3!F z4xvwx1cj6iA~|r3{c9fXk;^nJOfPX%6sD;$mn5`g0^v(hyfKxMojj|6-H3%`9>Q3& zws7Fon`rx?Su=ov^i=PZ!c_Dv#G#u%blDK5wBiGe{%W!d0A2&szXq#u-gICgk3S?t z@SJI}TAbOYZyvFQof{9HF(MY>F6Spc3v>9#Ap=lr3k4TIy$}WuAFaR0*{JR1gAO~r z+*SvX4WjuA7Z$d;l|0s6m*?6!;>=rG-Ha}5OsS&5yF&&$2FV$7f=4lM&upAfO`XGIoWB2Z9> zN)|7~5dp!je!5omaUzX58JP|#5LTIJu_w=zdPTM@?ekEq@QdlRhT~*e`1;lJ_j2{t z$hD-3=)M!7Y?5p}wB#mj_2gz}N^g}Hr`^l)KJAy&+TeS}UZMy(gPX{p;!S1qMz6H- zsaQqT+d4GcKl)BYGvvxv4aMWTDGn!lt79`cO6CYi9oT#KblsN~spsn@#MXzAVB=#P zbR=<6_{2Pd=3Z6vdF**#q^`ad0hsoUo7DN8uv;Q}!YjTBjO=$xf9?vU+$eDJt+u^T zXM!8;n)s$fF)*2N)bAtJ=>rh;UP58b&KMiNa*P43s%CXUzc5@1Uz{GJa-ZcG6PoX0 zG(dG^kS4aoQlWeGq*+;1>D7P;=qOoD7%=woBg44VY)#6@hswiXAE(W(u2SK z#66l*FFGMkt%Yapa9@#yHfjQqXA>bOvDSMW%hd>*^69%dT354OQ@481{=RM!ZPl+Pf`*sjUgo)PAwny>Uc99K zPNnkLDNFWQVMJ_h+Gg%qWQ{#?iN_%*IZ_y|IWJ+d_fv39(Ppb7ZJ9iQin4_(uOctH zY46!UiC3vRQq0nJm0DexLjxd=zx^g>Hlv6%gBDl?^KZ_KP_vd|ZP1E4B&mbbS79AF!v(v9g1bddd=xsQ7KlrO~WIQ{pDdKh_ z+-F*)XE~EV|1D`>7Kz?pVC&fb%!r4cbxyA8Xx1)2<|k)szte7$`)U<@J|a@ z+H0Tgn^`|^$x=(yQ@Ay|KBo^A{X}#fdGS+L8mkcY=C@~mEH}i@P7wWp8xUmr!mOn0Rm#Krnj;+{fq)| z2a8j7+|EEt>0C}?Pr*wvbMY|MyajHVn$ek&3+3&Oh1HlRgN4AwAL=qE@=v% zbfj$U4l4xv{3BF$@#>?n3}Ym`J(xh7AD)V7IkbQURq)i7h1n2Un0*aFUD^Kx#4Yfc1+}J|4#UqPFD(nL^7QFGx^y-gh3usE ztFHnmoBT&XgjNP_i3m07mjosI08m-KGdm{^_8>m%NMYwdgOWqf#^-0yem z^xE9kIS~LI)IS`6f4`OIKDHx9aJ1Gh=Bm74we1IhwyvFq1hSJ_#0%~z#~angg9p5w zencmipEQZc8ACifz>6tQZ$6~nK+PQ7zX$@I(f=$Tt<&d5YMDDa4X7s+fM!n|#&7uw zIyLRIYh3GL$WlWOiMtYu6_NP_otuk^)jf8lWQ;qzV8hVnIs4^l24%bF6yiIE`l8-_H~&&f~&>#heIfrI+?J zxh5?ejZ_+D*+e}Dv$n@z^&y*vF#SYjY^MBF(X$ z{GR4P&d8u=q%o*8O4pAu^ zH?dPsHqBA9neFc640!?{i+4*pppJmjB)cisy?_FkUT!*x-F066)z~mX34%h=*9<5x zEzTzpOcoiQm2+R-=NZ7MRS0o|gnDvIRRM>cufiw=v?@qCRH|?aVO|kq6d?-`09X(; zP=x@!U2@CW-Ukzrscm3OXvXXfaYKz%yu_0)mo?a&9PviQv4118Ld0 zqs}r`_lYEDCABa{^QmD^gUw`8DtDCrbr_9|Fuo*$9%A+qoTe}-CGnz=1QR`^>0y#& zNGq>tMnTWI7%f%&ER`WW2D{=hC%Ey1Xp_3-1zp&h+9m{jl1+(Zvbe6yUfkUbG)rUq z#60_y1bsb5#uuA0M%&|V>^bwL?oB~o@*^wX73C6yPxKrVI~p1hd1ldy4+PYW#(Us> zFnSbS-dF9_x;qQFIVrBrUtH|}pxPx)c5!r29Bg85>0@WntyROuinUp+j0-G{Hx|Y- z=EfLiCaF`?>=@Bhz}Vo&$e=?#>Oen(zJ9Eyx1*~=?Px8uwPP*q0!H z68K^9>ims=fHBOT3he)15gwdhN?S<@eh76MK{V`r946~vj==@M4|syO&Yjw4a_%tk`O;FeEawjy81`>QjlLQ z*pK-{luWv?Eik+Hy4dn|QNAwFs8F#9hxT%(3Sg}l8gN!p@EQg?nE1#qThI8pY5@Qv C;#SE3 literal 0 HcmV?d00001 diff --git a/docs/open-sans-cyrillic-400-normal.2a726790.woff b/docs/open-sans-cyrillic-400-normal.2a726790.woff new file mode 100644 index 0000000000000000000000000000000000000000..1e5d6c89890f5f8013a260ad40c5c67c20ded80f GIT binary patch literal 8640 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 literal 0 HcmV?d00001 diff --git a/docs/open-sans-cyrillic-ext-400-normal.650c7d3f.woff b/docs/open-sans-cyrillic-ext-400-normal.650c7d3f.woff new file mode 100644 index 0000000000000000000000000000000000000000..1ec98e385a63dd009217d86f9e2b276c8e4e1296 GIT binary patch literal 15412 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 z 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 OF%%U5z#0r11^y2uKbgD$ literal 0 HcmV?d00001 diff --git a/docs/open-sans-greek-400-normal.dc2ae4bd.woff2 b/docs/open-sans-greek-400-normal.dc2ae4bd.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ce49b50c0373898495067b72a3a96ad5717373f3 GIT binary patch literal 8952 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 S0&)PA+nYYh-O{VPX-xp2x{{#) literal 0 HcmV?d00001 diff --git a/docs/open-sans-greek-ext-400-normal.2d040ff0.woff2 b/docs/open-sans-greek-ext-400-normal.2d040ff0.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..75bfc5515cc71f5ec27ec04c0752aeff5ca8401d GIT binary patch literal 3752 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 SBUV?p-0J$K7y8ne0001RmoxYP literal 0 HcmV?d00001 diff --git a/docs/open-sans-greek-ext-400-normal.ca43dd21.woff b/docs/open-sans-greek-ext-400-normal.ca43dd21.woff new file mode 100644 index 0000000000000000000000000000000000000000..c270c4b6987af50c8af6b76f0af4a75448941eb9 GIT binary patch literal 1500 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 C!%;W@ literal 0 HcmV?d00001 diff --git a/docs/open-sans-latin-400-normal.36b20d2c.woff b/docs/open-sans-latin-400-normal.36b20d2c.woff new file mode 100644 index 0000000000000000000000000000000000000000..b9064af6ddb03700c6acc6ef5e29d7c7a97d5513 GIT binary patch literal 15088 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 NIso8zAkZA({{h@h{3iea literal 0 HcmV?d00001 diff --git a/docs/open-sans-latin-400-normal.7cf38e2c.woff2 b/docs/open-sans-latin-400-normal.7cf38e2c.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..15339ea9ccdd3bc54b25dfe54800f1c3bb730d26 GIT binary patch literal 16740 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 H%mV%&A_Ar> literal 0 HcmV?d00001 diff --git a/docs/open-sans-latin-ext-400-normal.b040be2e.woff2 b/docs/open-sans-latin-ext-400-normal.b040be2e.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..0bc7ce746d66f1379df1acb5fc74b320f09a8ed6 GIT binary patch literal 12972 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 literal 0 HcmV?d00001 diff --git a/docs/open-sans-vietnamese-400-normal.979797dd.woff2 b/docs/open-sans-vietnamese-400-normal.979797dd.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..8f59cae0a0723d9e877e3f74fb1eb7c2ac5f61b1 GIT binary patch literal 7136 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�H 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¬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�JG?P)DXpv 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

    lCE4^IF1Iq4rS*B|RT>H1nxC)Yu|niLhgYETE& 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

    (?z*b(TC}VbeL{XFukfN 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

      -sn_~c{+24iQdFoRjs z0a_j5?20!_B3bIZSM$3;>PxCAGze;%?|B>90H&T$aT$o*)Gn&!M!5d$jPkVz7~e|K zpklG99xu(4?@E;;Zkr(aG%(FD8zK-1fx5nXO4{91xaBiS3nB$^dUJ7zCa>1uGDWY} zc%H-LguvZXSCKKhAe;eNh*FbGM|~k(?6Co%%rSNATz+x@MR|+aotBA!X=EF45Gf5( zMUS+oYH>(+5qlj{0|iwH8a`D8=(go5JZ8l=|pWom5 z#| z5~)lV&eB0$EDVSa_=sk5rb2f&D^RryL6U&#rQDFtk~6YH!;j!DAc(9IwPzI3o*XH& zc*3NlKBHt4Xw;HU1BpTFw4iEk(4Pm7bkbSKN_Es9z~g<%;>qHx0tB0&rRQ0;OjK0c z5f12~gL@zwG{%AU#`I~^V1T;UYied1mKzbwlC<)62vq9C8f+y%v>yon&TlHdXz2VMCKXxG zus?GRQwivLSXf1vh6u2Hw9e&;RAleBJiab@K3X=$Eu;AEqwhrXtnMTw0c&JAU*_|Len#ATM}3oQ@}H1u%T61?AZUU ztrVLJ-Nzl6a$JhV0zjWcbbppIuz7>V>1WgLhTRFBmbkAzPp`3t4k(V~nvO@<$)O9S z&Aa>7!))SnOgGv=rW;<{!DCWp9NQ9Aqk~MamClPLn6Q&dLXpWF?KRjb0<2ut>?A z%FlT!>6F0P>KG|xg!DZuFQ(ktaROif*zCBjRxYG7o76SU7xI0xfk??nzUvLns@#jX z9BnPxX^sz+V=yQZfM&3s78@Kk zP>Ro}{e?;d*`6LiBAJjnTSxeA*|uS+JfYqfh6pq}#|DYZiNF?k>>Jcln}Y|L?K^pR zr@=XFgiM6U^WNl$!}d`g?MGvM#*AU;ICsRUvngc~ znb>7E=8$i<*&r7Q7JBeWD5foZ z#)Y3-tn2|bPX0k9A3F%(}I)9|`l z(-5=nuZaf(rHXr&RFiqujj>Oyd>8fjDp@On_X?3~+lxD}uEXP# zXAda}m7$gYuwxY!?)Yi`N`APA_GsTaugXqRsD==hQ{&{^karclE0aDC4st^no4IVS zdbg_#0}=WL8boQoptHjRk_65jX=7aMK3L`}4$}{=4l_f&UU8VW>hPuWIQuj<3^*5# zc>l&On{O1`}m_5XGN#41<|iK#%GT7-xqO%f$1*RUXjAz7st zNRLgCD;$~PGQkiB`HNOM&9y?ClCMBIX?wnY*^z{r={Eb+G##{zO}bt>4S_V`-^%4T zk`XYX(0?jS*}Vsj2JWT+*woOq`_#A|mKGzfL|~A8@X}}!Bjv%r*f2ir0p1!xjCftF zs0BM(U<~2)N6GllJ zKsvT}DMtPi2V9n&=A}!KCNi;wuU6Pf%4%WMR+Bb247yDYUfGn6C##!E_ga+SydayY z0}%jkHBhomcneSD%ty#eF*swp zSOb)i445j9?dMI`p&de!bG`sW_Q4fWF>eN#32xmcq0-l6mZ%g#;h!rv44&XNA#hu= zXzgOdNV{-lIKV3iR1SKsV!n|1W6fBtY_%=g`vtYy4?&%65O&#|y|zU(ml_G)0!xUF zgV9~BP|2BrFvhZ>hDx7)V0Mc|Yvon{x2Suo~(R3NNwyDiWVHVjeE1K&}Ya>)cjNh0oAqzsA z_UE*@MLvINF9w1Ed-7z;*K_r7p(b93x|+ zna8^ceRQhH>#{w?BcW*n@09Wes}xgpgoJQu3b5|eXDK{8%(70zel;UHejiglt)eUm4xtOuSY1Q*K&THQqmFXS8L-yPL_o#QGAHq?0CVGdLgE`ZK8?Ycy_9zbcXKSX@Xjc;ij=5wMnj0@k2;Yo9RV^Of$Y=|iL? zGzvO)Ti$4090tVwu-Xg-hNYDR4#n(+?wbMc4c*tB@DkyN9n0%AD{dMKrj3O~&XjWM zUPfAPz1ESu)^abJbZ2x!DtJt0V|(Z0&k5_(=B^Wtfy})__KV2Wh-Ik1_Pf+cxCkU{ z4*|!-&0&{}R;)uuhWO3_WrvR*dBXq*Q9DMC*!MlcRhnHftF`Q2=#LFoq+<+aSnSQ1oaER>Sk@|z_dio zh8hlKh((2c&r{AskZO+%rpSqjW9@X(zVJ$;KL>>CM=#YxXRd2gc1kHGNg%};OZ#(` z-0@caQOLj6*oW~ljUMO7$RonCE4lwzK(FZg(8i{)M#DlJ`o+g9$JZ;Pc+@{g0{ss* zw8GJU%+VphX#@RZ4i5UR_|SjU;pHCwJHyTvHarLCk^5haVD7*{D|uGjv{B#UndezH zCw%X<7{z+8#Dq~yDjm3#L$X92Viwu)VW_p-u*PEXW8~sz8hr^0lfgHE$2|J!u53c^ zwZG>mUyIJ#dsoK)Uk-56L03hr^^og~b>Ox@(HJ^OB|y;D!DlXz@7qmQnsb^To7o@% zX;U_kBB|mPWz@g>l)@-( zmy#l#Sm)734KM_nif=xq^peh&91pjbVk|oZI-3Tc_9H8!lQTE5wUX(MVI-P(K-jj; zkr5Y#*~G>rPG8o+ds(JKeb)<@ctmBl4wHq$m4(qgZip@{FxXeJ$CHYnx#w_8(L(=x+tBwi*PjV(>!7b!PVK6QFdc&9(E-ARUprKAoAO7E26l(Q{U zjm{tGW{QB8x?fw0Qy9!V!(T!OVmeWbDFf0Kp8qj2YDA`mw@#2@*x5J(!9sIL%7T%n z8nYv(p|g!6x~)boZTG{H$2K)>|> zZcLh$X@>lI@r~GktliD} zUT7SY$;{eJmBHV<|MBhHR8&B!z~ZXZU~0ykA;GncwfPOfjvA}qhOGJ+9s_H985(?W z^bi+*JlxxXsMTo0LdZnI6dS~F@QkMkarVG})u=_=0O-^nyD1~Q71bbz7eRP%LG)qs zeLTX?9zBJC2zGGU^w)Z75ZE!dnaAt%xbt(ii;xfP;pp!))X~qt%9N0 zvx_F;FphyVpfQvPq$w2D=IxEM4J9&qgxt{?U2+;Y@&Jy~in(dDDMa+TSTA#VT0?g#+8Mlz}i1bF~HABxN?y%uk+xP%EqpEW;!^odDVC&f}p>K4U(Hx-hlS;ZJ z?#~*O!*iog|pbB0KmX!2A|wVc`kxAR3%ffeNSQWe=;DR|`^VR>@8t zk^>X-#nnv8S5p-w@Rui)0p1#4_c}+60H|Viz&dN(6%mkSP@tZthYvX_UbznDmBWYt zScdAGiZYZGKI|LwwVHSaIVjB{f?Wjde0dNZoK+a~d}vC-^~94Hn$!22ekvSzU148jwp;Uu=N@gYcX z`w8IbE&W2^X&wCS&}mJLAw&YX{DciU+TO~y4Q3m(O4I{!GxKA`fhZn$isu}nbBe5- zZ--FbUlb82j%!L~judAzBKRPG)%!QqRD-(YRZ@ zhY0o)X2yS`xRmhk!I| z6LCd{4-WU9J>*opvd1tT_r;bH0|s1YYDj8X1m(CuK)z-rclXKe?jH4>o~ls5;sQv1 zi~^3LMSoDT<9$4MsYaM$?lI`^mXy{jI@!sjZJ%!({>1f+y9u2-y%gXf`)q z8igz*I#@@j&V0Gf z*n{YRS5j+eqPb>TUfY&z`s7H}00ol4uEnZ{Do8&L$lHkP^#XKO zM^3`C90;mC!2;)Tm8qWxay$o5!e_6YF|#Z1T8MsPY?+3b%<8<^FpFYc!;0qu0+;i> zqpvVMPs%Z;bTdFlq_)p=y`*k>{5peg>cYz4BOtQf?+)HyVhVl8Y}F0uxav&5_VJ63$69^w)@2u3;d)Yu!&l6)bkB6zp%$Dudj1R43PTC`z_rnL)L7%mY z#}`sw8g_N{;Q{s^7MsPifjap9$!XUGTj^j?M~(Q=$wSM2 zZg}hL+anGmt=FjC{gLX5@4(y+iy=3~1;(_eE+YunT%lfkNq-d1e)=r}CKj;sy8M}Y zBnti6qmwqNz`UPrK6^(`Rq%Xy=kCrg)x}qL@BLCu*XV!w9&XR+Y80$s?uQ?O zMn45}L3Txf!?Qtc!%<59%Btx+SoqfeS$WvRgHstx3 z7EVw0?S(oB5hpUd2?)2l%4zk|%R-IYrhvHo43cTHfK*tE9=SyLto3R*o@Wk{dNmIw z#rdoFlajATC196Ui9sA4+vpP2X{8y{pRIw-jaK29jPf}QD)N`m7S%Qc2l4T7)@VYM z*F{OV=R>CVfIvU0$m+0pRCBmf6#!xf^;890dBmz>OY@$-vOr=9YDh8nd_!dI`iX{9 zVxU$0Td-d#S}#J(f=TAvU}iaOTh7wZ^rqi&-1o(e}dx5yW?R#*B$qQQj&(mkpo zdZOO^pb}3PK-riz6i&9REJa;gc~lZagYzHHs0`kvkYJbaPomtyt zIv zp`^rH*qit^8V=eHlmW!v1gVZ;Yit^_lZFZ_8Kd>}W}aZrjxCxh@{o>naL)3Y#;_ef zX~u}OD6=xvG+(u(B8SXSTD@&NUcI5KoL#3AMRaAv)0k3eh0+r0kWEk#z`%TP1Y~8K z8_2Jp%g$Tue()Qvjy;Pn4+9=_o-C_b-Ob)x__eho?sgVg4S#&JZFThcO9#z9Vnyfc z_tVGR-^{{?riz(SQ`AUKjBxqDe0I;iWA{mNXB40JUp4MPcF+0fc&k!=Y+CJ*o+kLo zpPd%;LK|BcMRbKcN#5y}+cuFz8dy1_*b|DE8y3;8OR4BXkR3QPZe@33;y#_g+pK!+ zsCoW2OM~AOA#HC-ws5v9Gn{p^FqAT`!G6EPw)XH^PJ}|Gp6PTRQ-ru|_kl|gMsuj= z-Uq`zdg&062;xkjb1RKw4Q%eBZVzA%(~<{SKWciOb&y>Vs9Ekof}l4nq7I&9!m8eA z_mmtnreT{!w!5oJTO`w9u64akSxB3L7lsrIL7COo@wzF79vf>xLgO)8s5vA{361va z#FKLxkMeyy#1jAHKGH0y+LY%{<7esV;OP4!v)%Qedd)t*JXTH7WDzQwIj76FKUrS* zp@>tZ?-m6Q-jPy#u(v50P9YR^g)*D5pW|uJO_(!0jhyzF@;MUiw3Htoo$lMWb##nP zoS2V)56B)+!xUlRcwc9<>%a$A4K$by`@dkoKQ`6U9%l0t?GUL^(o`M|>cSOs>2xsr zN_LKz6>)+A5*MuLeYcs%$b^MgCu1yZCr$(@!vbl z`5Ld&Wog?e(2ClOsoxL1@?J(G4i~MMxRyq?2ootzxH6t$=T5d^2fh%jeieO#bi{6* zWK7n=rS*0i;l{aBae&0<^Zd&-Z2-J!cw8i7YRB7WYu<_^pbOInpFH9yZa?RUi!oiZ z1O=AQsv%njh5_T3|C{XC$6ke>IgK-SMX0l>s-8}@(*mxn3}re70L{YCRV{;EHeDZU z{59bw(#<5U6PntO;v7WYwMQ))0FkAq#jQRgo+i$urP&bLRvPb2QsYLVI0J}|x1Lxm zC8MDN#WO$}Bv#BsRTxK5hIsc=?^JApTGQbM4Nq&c_SELqnIU+~VoEE!B#}ep#bTO?aClz&aU(YMauZ#K z+;^s9ErAYSwi|U@1}oE=?jY7+<|od>O;N6`C1?8P%1iEXFyM4KWpZ?#08vvYV*z{LFMH^VM9W8q4*~3)XL+r2 zl57gh9g_4JcHm8sKrX8OruNZ3)ZtNt4icqsynIhR>@I)vrgi6R>SP}qpA=EHWd)}L z2tx5Vs^||2?b7(UiSURSCQEg-=bIMp2*u^UAChT(@d{CTAf66pJ;I7$QFYdj$Q@uk z(&E)=UOGhqGn7_RL3&&7X+v7%++N=GFteDK)l5gY{UW(q^k~K2#jH+dJ%yDLd(*~`YnkCdeSCFP%#e^jdOR{jvk#grHqtOMR*@oujQuB zqKn%JI!r|yBM#6Vo+)&SNY8#QMl>B0kCk3uRBe)+-`2@P(nQazsJ6rK;-LwT#O@BR zFyrC9oSsba+%T=om3t*RxBTtV!#h5(~qz}qCz4oF#t~r_W#e| z<|)4}$Zqzaix7IYmY|5LyY1#PIeo2Z*TZ-^5zq@~|HW=ZR@ww&N^~rhk7<*GPYTYN=mB!<~f-gIT8z3MPkkV4nL-@GX+=Ug3Ny2kcm{i&}`70nD( zNGpjdKe7^$^7T`qKI-jaO#%Q+ZC>Gg|Aesy;=X*)$)P-UjkM|BT`GAEV^K%eY&UWC z<)gfF_6F2o9{vw{lCM zPJ}(AbdDNbV*PaRT>?UZoKA~2RB4l$vV(PR$?g`VX9J^KLTpaXY&r;1T|2LI4eLEw zVcV-rLnTGUvN6(|4H3kjtl7ii9Ca)!UB?bb-eO|(nP=6NSF1_CL@%JTOK7V5!~4mN zA?& z35m$Pw*cxaeX^qyT3D#fSSA|vk4E~EGFJMXm;RJxX)tq@-rm+kQe$|pS!c3jG*mCY zi4F~}=@FKO1!whXah{%)_R}X>)?ZdO3EnS0%idMW*Or5R`Yc-<1q#bs+h-fD5-i1$ zXk>3A?T&ALkWxH-5jRS$HTHg$iG&4>$9-%(^MbKyhuvQ zLCp~i^9>P9?QQsp7~%$CA+u3IH|0(kwc>7`siLc41dOVJ#Z_DWuW7G|7F4MZa(nT) zO9__hDHDR@Axeh_00|V8O9tjsN>V!?5uV}KOOp}!xG=CKzhQ|~hvzYz)9JD5bdd?}(C4Brg#q3Xjo6At(ACGC4rmA-!F=l! zLd$NHvmBvo+wsQ3lcy&eB4DK)RLGBj7AYgO0D>@no`iX0Gc`^rP=&#RJ`!!1vsZnFW;8Z?npM-4%M#lvR`*@b$fGRYC=`gOE24nyg1VbOm{dlA*z z3EBGNIpe8@mmcu);00Te^d+#AMI|xB`qK`}vntOO%!+cRBYr#;q3C;U2x#Kmaoy1& zmq4}@LZuyxYvd@(j`-}73yozu*?J(e>u7Z-o?@37hYg^th|N~Lrk96LjNHXrCRvLO zLrVTV!*-(`8w*$110K!GT*o@Hh&ptPrA9{@`%2XU4D1t$Z5;|^UqyH-HH1pWTPYkg z)jl9{id&;7S6kpR_ruTV%6^?;S;Ei5Fsd7ax=9e`UVAdmgZ+w6CpSQLql0HoZhyFY zx~KGftP5Fj#J;ZT#}Wl*`aUW;G8UUxT6k#B{+weF;?l4HZZXv!%!rN+BNw=&s9yY< zx+(!wl1E5YoJ0}U16f-Uv#^>SeE3m#O)X}2Mj00^mk1BXlG>^|4EaiwIyoW zPgK_GS-77msTVPtrU&+JP{Tzdx6|<9A@P#=q!)1r(iGesg_2xCyQuSnr*g!AerqBZ z>%HXP_0A-AQMJYzKC9(>w{Cv&`K^eAW+tbgr|OwOjG3Btzu7LL;*bg^yHIR0(;(5E znH!RT1T4s;M1k56*P~-<{@)JRV(AF;GqX)m^%r!R2} zddYb#YI7}witYq*3}8<}Tr5dTm2}3su^fw;!eaDM|IV?4=%};y?D31-aFYlxK=6qY zCR`sT9vIn3JG!sh2_dytGHa5|P*x@;YxIPX^J|pHLYH#Ejx@#9CTeqL-`|AidYXNOzvM{UGQm*tHKx=1ZVrFM=%d|CTDl6_z8O#S-0{xr-WS6S_Dwubc=wfnHeE@k9|nF zuwauQ&Fl{OE`Y7;twTWCrJJ0scKA8fG7=E&^|UmknwBU4)?YGquJp_^f@Z3zp`g3Xezy`gz9OP~Z#WK$sF7O_ZkLkX}qHo3|sbAyGz&Tx;~0 zCRo3`aFNIjLIBiFGZ#pjGW`|HB+3ABDggp4g>7xl*2??O*f|ky!aG4<^$rTr$tm{I z$}&O~5pH^{hlGl&x86+9#36DLQHJxxqq)Hx)m-ux@x;i}z*5|@HyJwPhS6HeKBo9e z?s26avO}MpYM`|`L*iZD3sf7M6wP?KYk8#rbkIpn_Z)K3nP$-TDP%0*2LlWsttB2B zQ#U})MocYzE$U>~#nH-*Ij^#QEuS>FjqbY#r+UjjX<8u*ojZ?VgkIk=fuF zr-+qeLKOr63#Xu*Fg+BQFbi0*r70{24#1Z0MJGq}sV*;a&Ih`znMCCUNPKBEJm47J z@Ss>65zs)aH*;M!w~3ruIV}1TRv$GDIg^NPWTc!(4Q|UAIF2Q-nz2n1uk4$njU)@G zD(O6^gw4seqjeh%N(^~)MD7gHI+-QwBj{SqkS;|}v>gC+QP6D{=^cnzN?cyBJl}3r zImlM~uHC6=552KwTs=Qw*TPdb97*$HEH>z{91i`}xN45J28>Mt32XDmu2c*4=+yU+ zuwTg3#odf-Q#%{bdeN|rK2sH`w}qgrNs2v)r^Gcp9!O>foT+-2eP}aH=ZPGPv#$uf;8!DNyS%Ed+XEphK*#c0!+aBEMFBm<$BuLKN;)JfdZ zss%sDRAH&-w0!u(t|~l`yFech1co!BNh8S|3UEX)&E4_z%~zaW&--Aa?aao(b^c#F zr9a%WteSe9x2f#*KDCnp%aFz*5Y@;l-?xKkVrSN@m1cO$@5TVI%ZOh2)6vxO$Eg|iuK9huSkprFm8U~0W9Vj(Xme*k9MT%v$@+UTcbbC6j zDA^eZxO~(DQ%9IQBe*aI+*$)$Bi5w^k!&Iw50^0LIT}tP zgNPSt7VH9THP^`_B1*d0M%J9hL7|Zq^_HM{4Cb@bM7v_UvyUP{b_8S{iB8@Wz6q~^ zsy>x1x8f+&XYNBe5L`Jp;^(ELq|4O6!%S6Wn?sy$S<1A^63f4&bBF=gARr6{TSAQi z`lew+PcW4d$+Qp^Z38b?QX94Bd1vuyabECT2tT$qMB zcyF=-y(l1!-zHY-RJpK*?NA~c@B~M~p38URTpuY5tCZg%*|*urnh57T*#nq|_UQNC zBrAPrC@8yMn+zc}l4A(@7G9sQ6117$lpUff6N)UjFe0(P5;)}6L4%^Wp{n1({6}04 zG=wHKCJJhVuLH)1Zk$*H6q1g#PDlJj0Ulk0prkN;a==)KQv@on1g7{+HqqhkS)u>=&HDTUF#nMT+VCJD1EBd23 ziWo*GsFSEVj|0ToWq%(1FLL6e=bv|uZGb;{id{(g2c4to;EZj0F$gt4)?C2# zkA^+z2UsOM>2dRo*-slG*h!4qXhaMu!&L%D=TmKYGn7lI_zb0AZsp0P1%%Gc{h-N3 zGuGHd8Ust}t#?Fo?3VS-rp-z1e=a4%6qTp4bJq%hY-QyHgqDmJda&Hb4T9c1JjqZ# zWi3-}hXYkWU-o}aZ!2Ai{4my5TD=KSjmXM2kChr|t3>_#dBPw4E0Y$sHZgsQ1gE!t z$Ol>T^2CT-2_TNm%@Os1U^BwPlTuqGv#0SG094a;@L)3MHZmW>%b9dAXfqb^VV+?^ zHFiHyeyuJzIT?<}qL%q;PXOT7_gG3c9K}kARj=5Kzgty4Q2ASLo|z1AXM`$Ch)9f` zjDjY+*RrP?j5LELIci@Rbimn zYZ6RUsI>t~v+P5MxsKU>lTlmnfr5noG&GdKdwr;aqVH>+cBx{Lk_EC>0-gt+@1EL( ziu~ln1(&Lxj%EO4ORTJ;StU#^FaEH+v3!ArGGdhDT3!678_VOPN6a59=5Xx_W^%UU z6YXP)F+N3>4--;59wq6T#v(0ILYw8jBX)p;P{0${d4TYx`grc#3pX;EH@&x)-`ePi z9ml}1Vh-{q?rr1pTg&b3?d4mS@rW2h_WNNj6{J$nr@+QeiKDYvSk^-T&*~$wPy*3V z!i?An*+kuCl$`+_*5z91+%`9eN7Ve84wNM8MSelk!3%jr4ct`Do|)C zX_rVaO1}u~Z_qbC)I+X`6?GCXPKjSL5Q^ku;~ktk_brGP|I2Q4(Hqys?Jv7=B3J|&i438i{KX~+v$osaV#c>BWRy%;gGR5Rfbq`~l zQ1Z4&db|W{R4OKz0uJfWJel9v0~Xi9@I{(;_T`bd>W@trG^DhtzFFq&j-P?3bD+MNBJ~=)9)1P7MwoTo`3mhJ(+#>a=fs z_~G)SkJw(#H7-03u`7J=*mQ~jcpx!QBU=tO8q$xe{6NfQ8$t-y#gu(5Q5 zhV$N!NV*Yjs0L|k)4^l#OSE zV#c~BsxnDcS1mez`weF;UDl+<4oIPh@e7UfK{c_C3!) zj?PQw(8y}2Yx8e*7`C#lnS$~Ug2Wy!#kugqD9KFRC znZNYFl6D@#l=fy`SUDUA8}T%jPWIc3D9!3ZCErX3D}cCCT{A$Jg@W^ zNms7YC~}0plpz|THKk{2Pq*t`jLY|+X0vCTy`uJfqN=yfOri%7ox)j4Qf`3YirPV4 z*lKc~13Au~NR464)67Cxsco}nsm(?(Y+A;Gj)GCJWs^#33pFRq-h*H%@7WoeaOn4A zNKGLsXFWbt>dmMVPUqs?g$3p!5)=Ri0>&CmdACSW|=Y(OYd4X9# z8RX=(^gw6g380>BgnU4N3O2?g_(tU7W1*?LQ^YbPA&!Q-KatX2L;UM^LjKeUY{Z^j~?Z5b$WFkF%+GE z;bZ*~mf0idT*AcAjMYM`w|qFN*aj2VU5im0>_!?bS@c_vyitT0EOMl%VGrH?;pj1yDH!|JYwtE$u4B3e(WM?03D&WW zaEx+L369#>62rglLz@ED01LTg;`mbMAgdH(`JWeVkz(g0;e{N>tLBy(BFu7?ZN6p z0Tk3(lT@%RPP!Bg_UnS|&F(G|bR8Lvg<@SxnZO~KAs~chcnlCn$rh3@H?K=2d`Mvd z^B*7m0R0lfQzE^@n-E0C<~Er_t!JT#SV zXR)=7#bm=o`f6u=PB7R3!{eRlG+Rw-+pVt(QMDO5N1AJ9FG*Mku?=d8aUWuxhYvs- zzFz*B)V3KD@;FjO;X7<~7l-<^@Vxc&AHsHt0DHXK34$a&4xOpery=P}6#bX1;AC_LBWO|W3()xg+ zXlGyO73waYVeJP(fvDd0eVmLUV3VR7TWF?y)xozHmFald-h_nj7ZtiN$R>&bwQFj` z|1yB}KFaz4%}a_?6D26P)JRZ}acjVTg}`RPj_!kU8Zf2_ZZY7%ufPRf%{7)< z+Sye^8X!rre0U4J{8R@k#270(#!FLN!v|a}zX}u;5t>v!ww|b59044(*47mW0^KaA z$N+9h7cm5WbVz}i$ng4ryhKY&lEp<==Wm6C*AU=5yH#g}Ka%~_`v$KEZpZQuj!| z-0#QUo4;~9Y%8h;59flEpu>ag)(mZC#6Zth=^laD_P})S*~8@n3JP#8Z;6DBW|jV;18-|hv@^%rr^TLPpK3#H1aaeJlBFnW{cHsj zYoO!K-YD^c!uU9JV-6dV=t{*lQc1Ur#S>v=y=1*i`pC1X`%6eh2n0yfhU&FWn)w(; zA)=95oN*zX0ct)_BKcRd)y+hfDn_2g%KLlG`p}FM0lzG<`I508)v>02yovPpzioYM4*Nk zPF%Ef)4pXdGufl=3Or5pWH)59N%>5Ll1Q|DSVqosUKbNlvjG5HoD2#88l z!<3vPhM_Z{EX6Fr%%U@bNtnA5o`XE#-6;yzMrPtG%@P?Rtfx7QoMzv>udUEqLv6OG zF0iEIMUh51!Zm$~G=$$p&8!B)5ctJ)D3J9NnXH4hHmRh|XUJ;pt2dw4L>>d~b0KAP z1g#&?=6@{zcj)pN8WHEB*lA@Ceb(F<#(OKu7L=1!<+*%tm%X3~9wZ0WDphe=mF879 zR>xXU9i>8`nUQ8}ru;QVZOI3C(cVNPXuG$@;SW6!a|v z80NcCnqsd$K23G<8rFTX9(71~N6icWM&#?1_a7 zWIId?h$QM;CQlQA!Nn48d|N=RvN1F%VMjt@WR zx^viuk&~#rF@U@4-@OAjzG@u zTA$i$kop3pd^;JHf-l%SARImAk}94gJy&`$TvG3b`^pfG^fTC3SoZ-$Pi^l$@P?=I zIg9*0Qk4Sv_>}8kd3jN>NWj!%!*Cb|c+Ln^q@v|T*K6?6EP?=rjp^G5guAl!>F@iK zN66~I8cJ#p$*0Q_U?!%~@zAv}6dSb=G{m4Yu{$^2&dpEmGo(C)NNU5yt!r1`{`K4M zU4QrO_r#Tc)qeh(Y64+3krB_Sd@GLX$7E<`ut+;1Z+WrwfH;)s%@C)y`yqO90Wp~& ziiY6k0gW6|;6PXGT|R72?j0T(2c5b5D&E^X41P?9!~U;lsxwy5>Q0u3AJ|t;U7NgN z$;OL)Cr@OVZGdV38kog0nG!-UoHZZlMgpEJ`-QBac~wb?C42aYB+RCSZG7{X{Ezj8 zTuY}A5tPL;MWCW>=J&wZ+Ce?rJt=M&+cqx-LnE#>QdwC`U4aKj6_jy=cW{!HPgzKN zupHXS9&0@9!P$uZ)-lMOCIs-}fYZCALB=V;Y(kwX3`~)Ak7^S%+ZVF!iy++1t1 z^FXVPC9U+Ty%XUv7Al0+K>#jt6x(;ze%xei`oFb{@etgFBIE{ZcbmIlsF-8=AgqES z;UQy}N1?1LS;d8!qs1mW%Ll==%0M2v%Ly*Di<|$0iaQ)`$e%6#ARUx&z_QxfH=Fg% zrb&4`iElu)=^w!g(?XGILs%f#1PZaX31#EQ*BSQbQ89RSQ~)bQbovJ{pmk745 z0<$v2tLd1-G>k2{!z<1}bYP!FE*x9e)cWBk!?mp;j=@A#$vAvV`ZW0y=hHNlL=^nU zK5JL|7EV(uB1*L;Doezu<671tL2Jl!QNVpBUB682rV$z4GE-CZsqI(`kv0?@&E#44&c~NGk``q7Rl&9gPE2hyX+OmZj{NC}3<(cz);?WZ1T>RwM2xjoMWWi2B5R|1 zY$3mq(GihZimeV)DWcWevd1u)QNLEfficT}-b~cWj;} z<#;z+=jVYR7I#G^gJe*PiGMWgxbhpy9~`@1xP0f1G&Y=})X39cX!G z%j?G)ucgjwoE3ctf$W6CaEeMV$spKu<7VvtCVA(>-OiZ=7Ote@)pNB@PY}o@q!PCstb(jk*P5s98&i?j?x0ha}=^wMH?p z-t0sov1!dXKncjLFhDGvWw{c*zavX4^3mOJ=I{6RS=b*6Q&_ zYMYK3a>mVqNa!Z^07j4=lmy~EB~N}?b!NAoo@_;p=cs-HA1qzO_+_a^ny>X;WAy4O zCA-l;;D|7ZT>aK(Dp@f*S!@d+eO8#Wi2Uz$f9xPJD{ieckXbSB38x z%~$aE-56G!@Y}?K(A<6m7j{oil`T<`jhkB>v6FkL1nfW|WvC<*bg|5EIfM69OqW(g zzUgr2Cwt&#dZnv1mnmm%ds~o#c7|Tps^Qp=9dneFi)Dxv*Lru&ftKftTvjKjSX=68 zJH^pFU?SfY?kKue6L9M~C&fWg3JA~=DIZxo#+5nSXtmA6yhpmI?|nuiQyqKZ6#(HA zx5zbPX|VDPBpQ+C;cA_^Q<*2*5UxAq#8Ea~a1_PMMIppfR5yI%m>Fa=3+;O%Xlf67*HjTa zA{(EOZ3Vo??pwNf>cNmBDis{?@%&qeK$NUIu(i;nP!Ml9D?>xwDV>6e{7IsA<1=dk zUxfk-{-TIlfr$Kn9ry#JdmWMCxVCZ`Lx<=7ANJk^Fwdge|DX3QTN{v;O^R4v(uO3oNjKI~mb7Il7SJy2 z2x*hHfi$U2SGZtN)KLpAHhVr4T=DifCc(%%Jc;;4MqlH|mnz0ct~!Rz|GNqbITeSd zgmjn#zBZycA#Ka^vx!(0(vWwZU|o?pd@pAJ{-}w!j>Jr(JgIrEN|E;*EEK~B5*4x` zZ5y^xqBYhkD@~tA;R%!`sT-5J*VO#>`oJ-5(|g<#7wly@X)Mlfm1TtS;=5TE9NOTO zM6rCGKteW8E3tRx(4if%A`%hh0v9a^5kq{}!7EP9bH~(26CQAvN`}!Oh4?-C{#2bUiYIb}xIWCN1ls(isif zWYf;#E@WVzmEkoVw^7}NDeJmMESX|2BDELw& zb?cMa8=}yE*M7!L@$4*kZRG#yOGZ%<$A(xXHe(`7u> zW>9__QYkxU67ULPr3@P@nl)fa=gN~=c@_VvRr5w)^_(TDVg>5|xcXgvs(o9!6XZXl z8PPaghVsfz^lJiG<26^Ya;HhlB!5qf$yz{*{iivTM9_tpFa3TdJ3Nn>#V!(wFKg&u zA|byNNMVWUM8P#I^)`2TeNF~k#0s{^F=zK60@&|`o%lL2I|lX^reSs< z?6+~@D}>S8HgD$a*%L~uyV|kSj8$_~q54&QE$w}ay1Lli6J0=L8zU^Av=1-M@Cg?v z5#<}Waz*)5zn(a3buCxzWW1R@@06Cq4m22r$qP=(Z;1mdLbl%n$F{jsPMK5jx^Z2nRy(;5u&0+jKL9KwATi>W zTpXx(3EPWm-15UVC4_ZV!FJ7rdyBGLOAylszGx_aClMR*2kVthsEfA9Z0T38Kz_M{HRiz_ zJxg^+TReQdyb=~{kGWm8)n5wdwlUQk2VyyKZL!tOorM$#Ir)2KsYIm`uFct8}XEll6llrK#B7;&-kX^+L4qZlkS9sgCxZ zq*=|3HMi9b*o+?rSrgT8Li#OLKaAFIcsFzDF)5Y=7{aPqZ8=GJz?u zK{a5~wy0{HErtqN6G)c7^x<;346wOV$jz_#V<))8ym^tAcTc5S(1h7saH2sUFF4_S zB!k3!Y&}q%FS2u-s`$GeJvR-0eX@08G~UdGO`3&tWfFEzAu%MkDRQyS9OT$C15l?a z{n{5B3eu@6-(#dksACJg77ocrvq3I(xbIpxPm{~yRXQzdi!D6XE3-rBzL8Zr9sq%} z?^B!M&(KO)P4~SpSyen0szl=WEL&*ePuu6=p~9@)dnL)D%cvEPaEv-Ywy$f-3q;=L7>-on0*|`xmVIkXSKl&6_$+en|qXH#{ zlWQk8l73IHubOy>e#hL*7N}f;g)uwW(Z0Hub$I(ScdCP>#OOQD zOTsE4vVGcN10=2xiEE~HWShYKCYiiL1HK9D#bfcbLV{u<%n zc7l_Uf!wOnXmBNSaWI`75hfT-Zlc?0QM25h(*}7>KIaRJW_faBS$Hd(Wa7=UX$5J_ z|9Ok#8;Nc`>z2vwMZ%Hj9i3S`EFGVX-iSynE0!^DlYNl53p|Bm+rf^hOf6 z@*G10f}Ei|7^zJrNk^{kQhSBUlSlMgzD}>hA4bj(@xk?+bXq>Sk_VDzoid zigy(#Lu|{7jZ`9t5=L&-&8x_w)s?#?p+O>jzqTVgNH9ocMrXgM9HiGMI_CDz=Coy` zfBL1X#m};yxiotHSB#)BXhNaPOv{h6LJ(4Doy2WPmA0Ur44Gwl1yg3yIFML+G5bhp zv%#d)whbh?-&I2q!PzWqD!H$c1c!`EK#V-_y1s-2Kcj^TOKP{#9&?7l)o3cEK36TZ ztp4SOS}xCJJH33>v*bBxX<26fLR-u7c`jQkFU!oieoN7_r(K`TztBLR!E@BIsP*fd z0Mm|l>gC7h0Ol+e%u;o>r(ND{S9CH4@|Hf0FTPy7YK7kB%|3l{HJfoQ-(C5utI|}> zAj}V|H3MD`Ani#$S0#gKb8>YKUf@)ffPQ(mvXNzYPYLu<&=^lqZ zghblT%!VWvX6{lWava2zX3{vV;N&-B;`szYl+O#A@eD=|VS#aCc;FbbcLP8|8l|11 z>HH9{)ltT+rDS^I4$dEJhEFNxtCPddrl37~E6YHhz$#~$bTm&BW_K5I3r63Btw@Jn zFAe)jq$dP(4YZ_m;Y5c`$zcc@0nzhf*+G6w*~V1@(?`n6l~mrSc8kJVS6Uy`F3ivW z^pEKopo>EMPV{76iX-L!fx|K`?mCsFkhPf$qfx-L8NYF+yO(o~CetR7!O!svlW&ix zK9JXaI3wj(LQyRJW;@eqQL(2Pdxy^bW-J@eaZWJG@8)QddHR5K`JS2? zb(W(FdbD;4QT{v3r}E{Q&lb#NHOf>GlJXIA0d&|{cb4YvlK*gy3D>{*|RNt@%));OyXPU1MG49Zzs+X+%Sga9xGt$=lXY@cy zznB&6H(t+G|JfYL`)o_8(I=*&vQ2F^si}AJp3r07NvMt4Yb88PEiCntn#!hEZHMlX7g*9S9x1;IM57n+7T3{6LCIcdS$&p zy4XAFVVi0oyWIIQdry6i)zY3W z|Ilf<-sRT+Y<=rm+y#dGqI0giZOmw^(tE9?j5;EY;_WT0ircOwDn-|1I5cV8##%t) z7OJ{+MJ1#r1(5EJUYat+TxH!?Gbw`4G?&S@2H20Y|F#!QK3O7(GBud8 zH!^9qv`Un__S)JOZcRZsiq87O%1rZTuCldy!#Fh)_X;mZ_akE@`v91AgaTep6o(S<)%;u!0uEfQ%8SX1)VuS|B@W z5LZY!{F++=ZR9El#OdnQ(s1g*?{KN%(K9P7^pS)xL>w*Xn_FNsHr#D^!94p|g;9Q7 zmiIzyX0EAP|H*MTuOD#9yfqE0FX{lKowL?PLvdB9R57Re>CQLD&WLY^n%2-CMyQ%FeRvo|$WOv~3YZd}HRd_uQ8Rx&RnN>g!AZ1CtDkW)U+MJ8+^$f}h2 zk&sf5)UI~62QI~W#%%&U+wSNCE$5Ph%%`bcw%$?Oht1(gBu0p;_{nINDA- zuj&PQhEbkY5CH1eRj9C?IEb}k{fF+2Ul68O`!CjCnlyl?|qJ; z+z zO*$N*Dfi-A6ZaY!%06{LKx7}=o`fUZBXoPZ9i-W&#N{xWZB12;2JZNOv2dX`9qutS z1Ye8ZOy}(orYy$w6dQBUPUfM~-k2*dGtDqKFugIp=+ZX7wb>6)OJu%t^(GlbYQ2m@ z6Qic)v^an?$;90m$~3m3h)LBGj-FE@ot#mMb!d#A7JaBok_) zTC=H6_Zq_=J=;TjUSl^~;#U`og|cK|!t~lXo}Qc+Wd)>-vfc_AO@Y?GvJ}*IiyY?$ zYBm#UH>QSQ6s9b*?L^+rDVWYR+Elz6uk$i~QR$dmr&a>yIA>$-ll+w9R~Kc&_4bN- zH8pU@ zC9IKen%&}XKqpvMYpI@&C-=Bhfu1U_lr=upI0z{D21Ef`12h~BjeY@Rak(|k?BGw> z3xF9sVh7SwCShAZZnZdU>s{Hcy2Xh|l$t&_+OWRXBQp_&4Qreh^3E;&$=KLBwkPA0 zQghUN66AQlZ8T;RpiTUFpZ9)A$!;P@9ARBoXE)btU@|Z!9obvfNN&r7zH^rHTuIsP z#9CQn`Im<3J$J_|U7NJnjE_I&CS--?NG0*Q4DT8!ejG?hW@61{x|zYZHhRm=HydOo zCt?l8{e{T%r7ihxduvnrT(h62hJ`&cVg*_>Y4m);R83Cu+Q4kA*hAN;`jSsW$^Qx~OJh&`*;XOd#>k(uDjD&i z1H?&SYq?oUFd#o`b>iBZ$)=g$yadS0%*YKg=Xh~WB5>Hw&Mk@}J9^zaF9=!3ZJl0K z^jrP4A5+VVnQT#^*2l?A7JsxEPr}i?aW*-`=_7xnqx@bwJ75)gy;`$vMY0CC4E%>t zr4>Pq5L>`vld~On<=Lv9_`@XVsMLE+n&fF=o-xS|60Sp3gP_68K#?i32qc&XxK%XD zL@F`%d@hCG=qHM#PWT+P=}HGM>~v1#O14Nc!0Ks!6Q7Be5(%^GOOb9=wB?}bAucwX zOK!+<0)%e&Q^v0-(~b$%NK@vUz^nhdBPJfefgC7dRgbmZmW6C21{vNXz$>s;&sH}x z`3N*kL3a`ww^GkYNr0S|aRX1D9OL1bAd`p|;%w5`i3ubpEJLc68v>2q1m7NEk#egE zD39K(qX*yPZS~F?&^UowaXk@R#iNBRoo#C9KqL;=ZAWWQ?y#w~z}FQq#(SkTXS70! zx1Gho<=2M%C-JBmlz=RRfZ(N@R(~DEOFGxJ9CfPgidx>@Wjn0PPPlrsg&LDSx_%8O zJ=Kvt+6kpm>HEl!>;XoKI8W|0f2)qy6yvPP-{rPGh{OZV!%Q00iBAUIgR zMz)bvFJGaknT4LxpdY&&|Ch_4EN`xeW=wHNh<=_fjNvN;H4SwxYtV)OZ8`VWGZVJG z89-b-TZ{FI1l(Mf6(;MLAX#H{oMNIGJD`bKN4B-jYCUr1u}98qJ+^hijG0HyXr0-5 z=JT_cRcb88Ya&;uSj|tf0gZ@z)@Y1;E^D8X-@2gn zi;hkv)pfxGVGYAZ;#rKGGRq_K{VMbP9i>7^&%sTGxi6@>O7Xt7Wbs+|7wf*J97!vZCX;O_@==#|%TREI>`rr#IEv zZrmKd%ztb*7lpx2qmqIdWKC&UJS%q|sX>=jflp{ZO|`-d;sf&XUO=M8$`)@wLp4UR zw=q+D4TI!bxt$xO0Hz9e2NyQIiR>gQpuEIvqA90OcLJvbTxahYLE|~nwKb+w!KJf! zmQ-$ke$-pm#L1!xWBcYR*hr(Dhes;0jnBe^vJc#8NpC1JW~~)$%nVdt9)Qh=m!uG{ zh#~HG`R(6>q%q#2jtK|KEKyX1lOTYu-OZV{&b4eu6e;V{0IlEX_>?ZOZ{idZ*Z)L) zF7Ns@mTfy`{YLM=+u|FwM5F+J#{v%WnIpp?Ti?FWaxaXS5~Jxi=;nUyH;Ov`t=~0l z-;-Sv9GUMmh;&Ap5g~9X%2UW#PC7H^CsMBQW?E`s7K8AN8_J`hjYPDlWpYxkF%aC6 za^+j)BT9=VK#_;K(&*Ll(seMC4?rkL8bhf zK!5PrWE*%jE>TiSF@xMvdP-9!`>3(#Jg~rkzGy_tyh-pb>{eu0dgD&KF)LrgsF6lG z6p_Ski&&JoVA(?O&O1$pHO`@n^yr=BK4n#(wvy33*6luZ6TJwN2$dm0n!>z{uRIuB zTHK^nFO@r`xX%kxUDyS~)z0`Mp~=|lij7dnfVN7<;d#{+17H~a#@Pl@_KhaRBFnd1 z#UUM+dDuT|0)o_|4%|MOvVg-&+s_mZxR~@#YPfF3U*pd|K7W1vz53@p1^0j(8w*XQ%^s_w#6Ah9*KVqhO4H z#gwOvauu^Ii?0;P3QM$E8w*gkglj_0%BtSandLK{(XlFX!nK>j+d*s9g$qS;DUo}wYU$upF{FdcZ{dQ)%}g}=n9g`ch-40zMxPTnX) z6_2$(KwHl5uB|Y4DN~SqC5E7`Exub6?EEe7obX-!2nuO37Cp_H&Dr3=# zung{}EX0-cMQFc$Xq#EJAa3*8`I1o*V}K59DaGi@_mEGc6-BO9TG)xJlFS#ioL;Z! z)|R`FTNB(~U1iryG10&+s6{S|us#rr&+$5XpXFk2=dVaW7L|QtBd^xZ=<)&Dmft-s zIa5oaQGWvQ!gbu+EC*1W~QD{Pe^9Q3|5(o8>LPr zmh9(q(UJG=Q$s}-e$w|gRfM6R@$d>kD`O4Oek(SQ9O_*{g**8&R?jr4gEcv*Ti zJdoxawQ*}nIRVNVjYr(!6lida+;s@0RpZ?FXU*t7#~i~`SbV|#I*iBtqOyl@%I(5N8yrr^`a1TsTm zbcDlZ5I?<%TlwxZKBK)+-bWJmdY9&A20Lr$d|IByGNZv8ZYkZ2EZ%dCpEEIFWmkj* z#vf(C&@|hn)08c6cri47)Ci%dhTin#J)mY%a^x4DnR&&<=pgkAUUbCBq#Q*tL;YrR zxxZ&sV>)+rQhT>lIW$GqktNq;L)?#FKWa6FdUeBh1T!~QO*X(wbg+4!&bR;<>&8@a z*edr+k+qr%mXVtb-b|!993_Tr4a`@wi#xB81y^ckUU`lv<2fsTrq{%qsq?A`6JA`T zh*EJp-U=)9JDD&lgu5|KH#V*!lTl75r^Q%vHL=HqB*T!99+yVa;Rh%NYafWrIgOy1 zI#9^xc1jnwSoq=Tp!edAeG+L*XTygLWi=5H&24$fHSj7Pd6R>;JcijlHoGium^!bS z=zE*iHv5`}Iq;$qhO^Se_0P4W%$@-4rq%88Nl=!=2C)a?Gp%YcVOwmowv4^?SEzgMr`JQj9-|A;Bd~lY#GOn_t;I)7bzZH?K~oJkv(e9OH^Ifjc&`m1wh-QJdLh zKy5@M<5iCG-p%umTDkjejF7sih$h3;TpNW7%CruqZMYjd>&nD|#HvzJQ8mauJ3>i3 z&-9{5w(Sqc4XiSDiMt@yPFx#$j4S|ZFtneL{pRyGP@`ZGS%A}7N-mQ+R~fq zmNkV__n1A6zACPLE;XK2I>$S9Efaw>I?@P(E!wrLHF3@yS0$Gui>j|=kVVb2yPF+$ zGMZ$g-nE$_zROU^)W=m?p7GW9E@nK=hJSSRTwq*C*AaRTduA+>wJLn7LzLU{Im(rN zK3}{K={<7|8)uu4@j`U(m~%(3SZA4sG(@_bN>|^oh#IfKNXA-Ri|gp+pRT^%7CmZl zi#R>f;?6!{{Pd&ePdV!B6YQOwD;scbg3RG^i)(3dNla^T7f*0#DSZ=M6IDh44VQ69 zr!nIp|G-Q^q~AtjmI0rffo;05u&x!{32x1Jw_?0&=oqicxbfq&a>l!}&RBO&>w)g9 zlY12Do+28|)}6l6fzHejcGqe42#MCb-iL3|1M}b6PYEtflh!s&I;?wbvuhD_(ArY= zWPH^V5whOvdrwU9m)7DU>_w3HE0``NYYe_UzSNZ8=`Nxb6T^3HvkL-!6eWYgB~75} zn0Bct9Kv>S9I7JZQ7W}ac0#uEfBs5XTRJzPiWf~Sy)8D8qG9+QJeF)(NMTWMp3G77 z*wanYJ6e_2!9tgy1O+1b`Hn6N@6_b)Xe&Ne%??--id^~DJ4)l>0ce}|ZkAesT9*{x!AFfi1X zqk^aiTQc4jB+LA=r(t2`_*`Syu%JVQeQOvRlHi(HLDLgEdCSzM4Oz`jMrZ8>&*;Ur zLH12t+_iSqa_+rPi^^e&leb=Uw`P~vToh{u`*<P0O2yJKIC~soxGc_~5Ar=ZosjeeYLJ0{gW?mH~aS*C!t`^{|8T zsh8wZYfp0Uv`{PUVUrJ^l1sX}r5$f1q00krD7E9EWXUS|n3Sgyx-m_?fgTuQ<1L+M zFTOu9_}N&*XkD5&f9^Cb9xgTF*7@Lxyu@gsxq#HBuTxKdYTKSpD=nBihn%!lCiP2G zSX=)7QD&#xrs9KsA%;#%7q94)uBlV|@O3XDu?Y^gPdZ!^fd6N~0wvS$4Gi4WnP8DY+{1V3&j5Z1%2t zzig2>M2{>&W{^qw`)sSeuOg9%<&eo%&`5@mGHMZ(_$6txDj|AjH}1%yUQU`di1lBo zi8rKfYZXlD66(Sn&R~?{m0U}-&@JJWx2m=8E{v^b8Vz7p=X_%@e>5$GM8ncs zZx4cS#Y(6cjaIAex@-|~Sh`N@qs^|Vhl5{?IZvxz>WF7=z(ZWM%g(JhjSJ4GwRB)? zqjg$^frG{~d+IiCV^HG~oo}HXew^T-OWmlvShQi>wNtZbg|lnPX^-E`(|Dpc&GFox!eP@baHJ#tfhnCGmQZxY=c8sD1&$siZD#h@|V+`Q)*v`vx0P#d@dC|$`pLb#s&I1^v+^gIVAz6Wk%oGqWHv#%Ss6ZSEHPEF0TT;%lRi3x3wv0 z6JtA674X*-;;sE~4XS2&4bAiYqpWu(IDY;eCEXnK^7Rpe|8;{hQ znc3_836^Fz`{YyG=CCQQv**YL#9}U1xS*qboxvR)L^*Z^dHE#)EyT0VZH}X&Ri`PE zf|A6(w(a~>&VLHCF_BT0v$9dl`1AKWOQ}`*a=ymuob5@Y-YsXg=W<_%MHjnnpd^3h zH%NnJB5}HBJsw^<`PkDuEr(5WR-UkBG;EZW**UyzgR>fKv*yh^t?i|)v)bl2yClR( z>8)5v$n;6^SuK(=21*G-lcyZo?ELA+@)d|JraMH9*Et721iS{jhMfJj6M1>?r|l+N z^VW1}Cp-6)$;(#{OT@a^N;hZt7m52HHpxC;+G*PxYJ4Bwqyz{11gmnKfJJ6A;<6nw zD(RCFpojm-Z;Rj zpv<>X99>})&YT*w8v4gvyyfgD?WKCpE4jiZY+svDAB4<4{0?aCQgfliPrq&`ieIK8 zP2gmLwKbk#PB0xKTnFIiXA?K5*X+eQ2WB_rg)5iMJXUpw8|~CA6{Kdo01kSm8-q`R zK+j^7YummcJH7VwNRCBHSlQlp0cr)S_^Z1(mu>4B9oPif8Qp=8107YiU2RB}T3w8r z+NgxafSIKOW}Dptj*f)OO*-Ok{kUI?^D5zJdSwsz=Y1(b+J6>GW;n!)vZyc>($y$Z zm(j|o0!U8xMWT>~LjrWS7LznQqxXe~Fu$6DtSK2NTqgxSV?rgd88!P}ADTc%tE1R$ z`)DLNdBKUBC!5_Yd_tI+k1n~e6Hj@b*H*4;ZGi@(ZQR@C{OE<4tWG)EBezv1PQp}A zT@+T*D8}!%@JP_jfOzinEv4~_fQ)&I>{=C(bWY%-!IC&g zjIN^bQ{Y2sI|N2fNeN^!}rl3t8Msu?0b zv%66*+g})p(b}EAq`-Kc-2-OW%f0uTy}18|SuM))ayQum`j}YCy&A-Mv{k%=%1dU( zo-Nx&JY^bLfX+Y#ky^d4N*ZhM)*?d(8RWV#XlwLabmeK1N)VB|b+v^rG)+vgP>4O0 zBqSokazx7ZECg<(s$?^Ls7zElR1>5=vxw8zWmnkw)p47FgMd*seOHk$`)F9@BvqKa z=njOBoCLrMl_$PH4vk)ZV*xs@U4fIdL&hJ3ilYy4O8YQ%)8}%;$&@rhAv`PWDP8AP z8q};#jO+NFV2*>LTBK3LTF2keq#euFJ+h$DTidv$s8{OWB4!}@hCx7}F}kqAs!Pb!f8BEW|WcJ(Hl8Jj_!mGc078a7TORk8^W3)D-i5-Kgo9Pf5pLB@e%rh?Jh{*{|L)lYLzr)=>V#fEpD%W_lXB@v8d;w8dFho7GIZ-)7gIrw7ndE$3dg=EQiO<~5ZxWgcr!}RiA&-dkyk|_ zI6FNFfef}y-sIH^!A6yuoEavzzBBCQd*m&x9thyR>Y`CSKZ9z9~+I zQXSqlG1?@is4+E-Z%)P^bWo`D$xbP@A3xFozl-Az?&l>3b+NczjA zIQ#VvnLGT>#2PuSL`+=~Dg!<{qFGL|l7E-KN0CRewN>Y1(@|N=q@S!QYZzG~J4m4l zN`(?pRsB<$Wzd|Adrob>s2@_F-{b_+}{CG(sg{O^jLXZ1YqS@JKD3qSY z4}7jMSfLx?kZdWfoz=77;2P;OwJ6a)cVbd}R}cH0Do;sQB}!)edTdF?QO__MnbBWtX+-$KYNA;RT%&=pb;^&h68vZYM zEE$MAJWvsad3SJ=MNxepnfH?2GEwLEu zSM$;4a&9Xk|0^4yHp2z6)gP&joYj0`cm_pxXb&K^SmZR#6Oa|p?3#+)L%T4M=MvL( zWkrow4Xsl-@I9rY)NoKoqnn#`uuQM!7fyAL%Y?Qb+S0eQiw&Piw%|_NqXtNq^AZ;f7vaH_1GHg^GPvxELytN3F~!e5SIq^uHKMLtjgER@m*M2^mgftVfsGBsFXX} z=$T^c)G2-Si8W;hAB|~?xdiO-N#wbH!cOZj3}f3ph+Gv}3R8QQ%rm{X?5l%E{+fWw zFOq*Zqr$kUo(ovKJQ0_){VImIb9_-DUDUE4RSKYqifr@=J6^bmS;nEhrSGI)nfWAs zSYxHb3}jVj530)y2SJjqQC_1OC4quCizQs>Gt`;HolHBe`f4D_EaKR-A{N!fpv6@q zTH*{=DT&$0j2~g`@M9CE<~z$zrhao-I{6+ymj#8*fvfo_P0s0No>X$;_+jW;iJ{{m z)kHg}3h;hShuI0ISW?PE8U$7$Q!CWGu=~P{ewi<`x=uuq+>lBH=-ENX8HnLw03mzAcv@&x&kIVk`#iNKW`Bsm*1a z1N7qLR#e%Tfc3I9xrV&Fg*N*-JgdYo{UE)ik(1RVB7ci*_*c?ab$XJ`8n@hIspZ>} zsJcX~+P3$Gy(aPHHWmKt(wD1z$g*2erp976w6-$MIr%i~?`Ng6Yx&>_0<3@CSD8%@s?keJ!o+fzM05mfJZY3&b9_m0V@kfePsp6rwjJ<0V)_f2`xu; zgsI@fG~O82iDUi2n6D6TuG8XF&{D<>vo(W3v&qDfoH}Kr)Mp;f`43W&G(JIEm{m-E zu?cw4vg2?_EP30KH%^Nf$WLYsFk?V9iZ0@Bn+4`0+GI%OUOce!gIZ=?5k}agX*9I*RWzKXiE%H~7;Vp3v-<7e=wQ`8>WT}}T zEzeeu!0X^2$Bs8nn;*R%IgQzzH+V*Qat=wOMY2`}VzItm$;!ZpH=a$L44So)r^be2 zLy3_A4qjD5P<0oiJfT3HwPp3wh5)h2cp&wxfK(xOkPI@yjpCuNUws8_;}m9)ToQ`B z?jeoNyH)X-rPnt2gK$1*hM5o;JknGbo}2PAVb_;ePU>l*7%(euKeEat%my^bj5K)L z#mH$e38O_VB=wGIYbG9~zpJ>ghnJyJk?rgYv zY$jL5wMtL9#4%xuDb^ij6GcXogI7kAWHtJtRiV+Z0;DmUW_K0)V|8pR;V)FCW;THhC8Udg zdB49kKacIth|Wa(WRt6`r3B%`BmGFIwmwxRiYE4ogfKCQxLZyiD@m>LZn#MsS&uEx zr5&vU_Dgb7mBVk9U^rlEPb1#pRHhPbeR|u@omnZW`!z=*l_-oT$fT2ce{`Te&zc5I zB_+;8jBQSp>MJTXX0%lWCP}DXE8^Q)Nwc*Nnn>HI6FDvHT*+4Hj2irup#3L)!m30| zq?(E;KVV2_79g$AuW_}biYn3w%gwPQqrK(!=5h{^QbjQ#t}2Yh8dUIFZEQ2zw1Zzlea5^iD>FbAvW8j~ zHmeMpL!(wNREW2;*5>PRaUs8&E1o`3buz89J}4XY1Am(gU}-E4m~HlH=&FIf%yACU zU>d5G-!sS7XX9qjPa~?cnIW1^Dl;8`LXeuW`Se0FL8lookV`AlYx($~g25b_+rYs6 z>fYB^e&w<{Z3kzx>`oGKC=SKRAPZ>zvAX>@3)6mba>>G0CJSJcH~R!DInN?1hoa0` zDAIN<(N;GTGr({!K2dC+D26Re=iaGRTnw-ojSYCZuf?w`h4-w;Ydapx5cWxKzg)}# zH;$`Tbk|Q~0ev~v#FmB*7?Y!(P~-oS(znesr0*-Sco__S&Zg7Cq~ zF*`;*6Bw#BDsANn z0+kkj%s~OS(UxzbCX32rMA7JGD@3fH<{bB0=5ejZPfw~~)wyer+6?uEnncV=6twKJ z7L-4a#dODMFs$fi%X~S$kz1w>b&S^dT&9W zl$dpJ#ry0usUHCTHM!fiK&@u3TEWSgEPXaY?AU45d(T+xUEs6cU4_s7qWZ8s4^{{* zN%va8lK&#OXQu#I=~9E>nt?%zGVEy)Z5Tl0GXvvHb;B2r}Bt5WX~-dc|;g#NP@v4b^Y+S0u^ zWn+ipo?Q<0_%QEC8IAR%&lu2YCWZiIl5ePxTdQer?AWpOIu~Pp z&$MRF88!_jJ7}d#xN(fpxxag<_Cv4kT7kRj?o7KDx;i`dcc;lYEnCvHx!asRJ8fZi zV?_YsJLascKOg^Y}@Js#j z8wQr~FVmvO0p2%)ugRBcL-EIydHuDRUFtuu5!cKS|jyS8K4@m&1p|43^ z-+?@-uCeok&}5)dlM?Kwr({3hmt449ENbQG8c0ZSt7`TX3iY0XEB32KW!~Ha7`nr# zLk=*Bpk-w{PJZZ%BpW9AUy=jllsB9=hZ7Bw>n){8=C*-|{K^W8Y#EviTV`5Ib~dVv zNSRN(90ri2z4BSmcGlY|Yt)K3H>qx-K$H_yTk6imJ9xBy#VYN<$H9X+5l>c=#-lU$ zt$7_nxgb4swkQL;*H{NbQoiAdzFLe6VgFg#j`>_op%pfgi-P^o9`G1h<*74&4#60! z9sN~txqQ8-4er{knJvAGTi}tMc>FK}QnsTpU>`kP(x0K<@2>%E-WPee(UF?U%&4;( zi3_PivvWnfFT3tMa=Ey*K7VK+)o(uajuepcwK`Vz8$Kd6gt)SZipqX-0mBzVVQ@%4 zP}#PaW*KS>n74X3G8bieJ|euy+Ne_xoL0e`5N*^w<-OkjH61tGt|qa3A|WXSY$122 z7%Yp+NIGTVGlyR3;EIZ-AMEPBu=4B$ISoF>oo&bUf{2Ky%Drb8JL!#2>>ZBe(i*+z z2mtJvqXX;jFoygA=|taQeu`sX9V`LB_6e%b+F`HS{9{>b-qepUQ)y6AgcrjA;<$~T zjJnq$Xi3hLmlC$utXk+lB?o(KN5O=9d|WU!m*QO6%?U9oRGvcLAzpKEuWT6Qh}CKd zRcKef6%<;W37fw7+=_6bPLC+gGcnsr&8bL3k!@8ERo}!pImN&UU<8sCILnB~XsdE@ zv%}`*dN0V=hmOtlnH>nyaZNUQa`eV0V3vLb6{ygZ$;lhyh0MLu$WqGtysyZ zqZdA;M^fAw;XIum*X%4_(&KGwrr~52(Xj(K1(}vF(&*T;7tF&*9bv|B=Sd3?61JJNFCL?!}=_+Uq5O2hJr@;zgxD4=U| z` z^}D?gozR`kb&B^7E8Lpi)*ymw3kKMrHAKU$KFaHm4K@u#N~D!GdB8-f&WF>h(Ro)c z15(TlZkjZ0C!(}=5?fuqR(QMiP8N$XgTZHkQ@JeKoYl$hkprNhY(Yeh-45z?E{FKzI zc{|h-KB}vaXqtqqJbgiV9JnS$nqhn+7||xySq1#d{7F;wy$!OQ>;oe<^G@rC5#bCl z4lXE}Hv3ZijwU&g2*bkg?aK>CfsM?vC|EO<&msMRA^j1u?EnM&eOU0qUYRVFjSx z8mDQ<&bkt3Gb?8T4=ZOKa)&Iv z3p_g;meR{l;ga@lzxly?I}dqHEI)G;_kq)duTquP5uE1FMGl%sp|77CJRc z$qj)|5&iOTcpoYeB@0)+TE30JK|0l02Oji=Isfxz#!r2LN>B?=bcp2``Oy%HST@80 z18WEi8)C)46~a1npOd>Z3>m@xsGXN6l*aUZPb~iD7IfdXaKT6}XPYi{Ct?{dMKr=- zVs*@2Arok5pd$`j)s$m7P3gT*A`8UZ+=G+I zv}nTIrUNAMN>Wv={M9MmvJyvt@ziujdq6`pTyY^w+=K#Yn|fR2*)>xN%CsFFf6HYf zcE-Gs=D`;1dBfhb;x)QvoZz7+YQ70PcR(a zSV9l!P^~T0Q1)r&s}(6K7&0}JPM}I{v*zJ2x~pfzF8hQZ@`pNcN%`;W*NVPH@yFEG zlQ_DB^XFE4hfTJpQ(J8E*<}QoO~ora%&KKIZ`<@lXKqcw<*oynJrxD{q+u;Hm>3_= zMmSwAFv7J;(Xg4gZ-m2~d5$@T9%0!it5Pe3fQ+g-c`TZOuKS7e5AhpF@8OVM zkNt60&a^g6>^#Jawq8rLzL|`s~6XUSXSOxoukMtPyUy zou~F1!ci)DdSn9_w~rb@_fGHXII5v<`a~l883Y%57GYjYpIDaAm1WeYtjoTzC#C6W z9d6r-$|WP;^s6(JQ~qH3#FgzGeN(Bz^cizYCmcKb_!H(IIY~c{Ub~FDbG;yTWc}pU zN%cn`HDbDbUE)ZQ{f=Yu2>td28>AB@^wH&vfDf^K>(d^ThS!2r=i- z9xk+C!1P7Rr-#DRY2d77A?r$L}YL9-39w?5#_M+1qSDJ`syV=rB}J)t2fn z)2i-Xu+k=Sc3g*gVR8CQrLdl-%Cx|JwY{OQ6Q(4Fucui2{D6-RnR-`PlD@HH83i5* z`nHG7ZN1!3TITm!xR{C20w$;e=4m;OyDrR0+gME(YB||uf9C&j3i(dbYh~=6Q?iza z$-=xNPbf_ZZipnD$8x<3^+sso;+eKIn)FGLvQnF9`$6|}gt|`&L^?Cp10;SX=g-c3iW%R;;rup!Ar1mBX(%l zw%wg4U)m{kP{>RjGPzb1UADc%PVe+_pG((T^uMN7l1?bKuAJIT3vG?$rCvYu=h|^p zO65%Xx9pOYOCaGNaE^MjS+4$#LBLv{d~o_0c!d+NW3EzZaV5B8e8(VmjTg zlrYiaXg;-QtMJ1|$I8*}G%L8HtHU@1$^za85HC|^ejimZ@JIIMO@<63H8nmAoZh-w z>U_9)UDB)x9C`HQF_RT#DCk{<3D*n_Ac8TRY%`7FaafB2uc71?RVPjQqSkPMr*f8Y zBebeTUizod2j(zKIt7HGzNl<&Yv~jYy>ywUvTZGOYDIZdK{RZz9y`GDrRHn5ewv&s z`v=~cu04sLb#;_~)zwk{5xe8MIzk>{PYBWt8L|_CeGcSpIR)0Mi@$7#fPOc$9ERhU zCN>L9YMnfZF~f;8e>E5qnl9I}`@;rI9_Pf6wT}kKqUq#bPeaL<1glg=yKq<+?lbbY zw2OvKd-B&O?2k}4;;gyGc-1+c^{Ok+8Nrx9b12Q0{hxJpt-rODW+vI8X;E`&^5KWm z1yd$XI;eCK_e8XJc9%|UEzRv+h`*@55rHsHJt@jTr75ikw@yB^G_f>)YAN@4YU||I zsgyTjL>ML6MxQt**wB<@$!Eh|+oK<-t83rRIaeTTPbd4k!brlduI)P?tgG8a`76(z33aaR37)-wXJw?qhY?heV*Tk^kq5&F z`;?rUM?8l3078kdKjB8gB*Jjs9Zo!gcxOT#VOPRj!rnX|P1u+4VnRJ(cfuZoqaDBZ zckT?nW0QwFllW}HS%h;5*Yf@a#4ji8M7W;cn~2{_d;_5X{C?u?h(AbtBjF~(&4e9! zb_?;XgdKoSC2S_#&hL*BK1O&MzxSg2`NW^(_vysj6BZCoBa9@BBJ4)kov;UCPr_b= z7ZUa+j3(?ucoAV=!ix!G2>TIAg#8Kigt3Higa*O^ghoOWp_yLm`XT^a4_Kz!l8u22!|7<5sn~CCmcyQif}aH7(yFi24N;)7U5XJafIUuClF>6 zP9(g9Fo$pw;bg)o1of}_Nd13hp}PO?f_T*b=kZScKbKhFUmRk=gZ2Ldq*wp9^S%0i zUPyNd@mj*Qq<u;Twc+623*a zkMM26cL?7le2?&b!Vd^PB>aeQKj8twj|mSFenNPN@KeIWghvRE5`ISbIpG(CUlM*r z_%-1-gx?Z=NBBMAF~T1Reh%yobyK}mKh;h3Qk_({STEH{b&K^&-^@(*Um3$w@ z{=b2D^*sA1vGAjD{(gdJNPR1MIIrIKk8nE%_*P;z@wrZdXh;2D1Rh1$mGHS?j6Gt} zkm%t3{1$$N8_~eK2;wXI@Qud63B)@PL~o**14^DwKL`9pg8EnEK(xGj$@96$`}XGd zXo7J6)dr7a(fKT%X{;Sim_{gofFfakVDYJah{q5n5x&50(c9+*_}9nf~ItEN**} z_bmgxuT0~Ax7~6_UET03P20WvE>PAF;&Y#W+aLJ-YF_w1#S;U(lp0f4o4B?k-kz`n zVMoGFgyDn{ggU~`gej9|p1SNLGzYJX&h+ZAn|w&wzCEB0i7M zw*HfKb;aHF>4u{Tur))z8@* zh&Sd^UkN-Tm-;HfGY0t^7ybtNsD9kIS>tBRs2^89tG<5R3^M0m{hp;~kUqX-P+0>ySS6SNXYb&&CaK zv)rqEkUJ#Hb6D%+{QBp1`J^DUKcA`s?jM~#RyFKxzh^gB z^FuA&)USUFBMZ4^t3WvRs8LSohi@9bsbB1F6D=4ysy{T-a^|7Z7hHAvQ6meZ9Mv1{ zlwOJ5NaY&P)IVyoVa=CMzLn+cftBCCiT~1U7Rxt6Q>6x~e@bulS6Th}`m1GDfzej~ zQM8#xQ00*{Ty58%k*pJvRlb^_KkH^|K7AU>SNinlVby;mpAEP4d^w!_T&%w`QXbCN ze}MF(%hHpi5Ytml|5qb@R*_VG=)bId6}^cMefgFmw%RAB`cQ}vQD7!!$PWh%Bx-x= zD|K}T_xllTANlXg{@pxE6}JMEXrrNQgKPWTSL^B~foAUuW!hjDWC)ylI!>jr*o*kIIMU7v!g9{x7+jUSHLv-r*$$B*G;b#?zn z#@_mS>*~HgqO4i*htEVwNBfp-5HHgJW5kWtTgn;jzt&g%{hMQL%h{~`D#3w;=jy*p zLmt&{{;i&9>`);_kHuAWtM$A_8XgV&S1XUIuM3-uMm&88?ZXpZ^-BZ3D$Rfo`~cf~ z!1qHh2FAdp32l4jKSB=3{~Qp$bOSx-|NJ-fet447XpH9j({uBXe_>Ri>~~6)1B@ba z{~(E9y*V%)&zqHn@tmvscd+rBFE8e_IRe#jS^aXaH$z&vp96tPUh!SQ<_rvek6SdRYH#}sU!%8kae63n$%ibGPjBGUIFnm+QTa3Xc8V^&! z`tR4(eXigukY$oVu@0(WsGics#}-rH3Jz(Nfc;u=S!Q`C~EQ|Z~ zX?^`BVwHDgKXy~SAHG(56^HE{-V%hM7MD#kKu|@;@W=s zKwaI9!z$39I9UIc{muPSn`bolH`mwm*_BtKp3knY-(yr;|12IfixLLz)Mj3ZwEiFZ zizt15o1_6*6K@QSYagns+rf(G$1VK$hyV5b*69CNxmOF>TW-D|hQUOz#m}qA$dYd{ z*?-Chfhnm`$#M}A@cWoYb6&60``>Qw9DB~E`<0|B^a+v`pv&rkjrt!v?Hu3XAdd+~LvKztx zsEi~t@rMTe>$>(YW@}5BjbmY+ z!Y?&*M#SJ2V${9<(Mi+T!pHXd(*DshL)G}J{j|o1;Zf>>vQOyp*q$u*D39M|&kd>& zm@D2s_dox)%d2WZ#KTZLgn=Op3}Ijh149@X!oUy)hA=RMfgubGVc8vn+{zvZLkl~hGc*x}lr>gC1PDgJygVWLavj=$6{QDz2 z*F90_--G&$=D*FkdYK27P%enV%Wl)okv^ z^Ia}k87TK*eAADMptj#p(D;#?eN)JM!)8zFoL`o=J_~9S8QAf1e9`=3=ejFSDa%kl zRI!b*E(4ccm2T+45C(=YFoc023=Cml2m?bH7{b6128J*&gn=Op3}Ijh149@X!oUy) zhA=RMfgue1A7emP;4-@|7qSdgrJM;p+0uuAAq)&*U=iEOv3ny{q;2m64lX71Rf?qfxt2UqKcKf7** zy!q)jliGvaKRX3@WB>50sfpiDxuu$H>3w0-`fa=4U0Y2pQzMS*?E5Po*?qmjhYz+# zTGzW+8@U?Ct-otKxBjbyuM_Sge2?&g?cMqx5kE+HnDBGLuL-+t@7gZ=^e%P7*6#)M zOQ097|Gg*K^^f!ZFNCKF|J=^CZTQSCbvv#vlG8qXdp*B~tsevQ5K!Iv9e7?(IDjX& z+_g*HuImrvS1VxzVG2)waF0?P0`w%%3)WBDUS03bI=SbZ)&pJJrh9j(dsX4RpLXsG zgw=#M5IQ~saT6W{-k$i6#J?nbknk14rwHFAe2#aYBz%-`E8#}M4TN_St|44a_!8j_ zgykU?d?jfwA)EpH4Dnw-?b@#T`Yv_cS>5&kvA@WXYWj;c^Ksi{-`J(@+k3K2J#c}Dkb6=gJdp(`I=?%_}Abxs< zb9Kax?au8?{Pn|}+lBbftDJiQ@#XWJ+m(2?R}`JDRo-WL(dn+~*Q_nN-H0E3HP|B_ zb%Ar8dVaBUi-~Wzspys{{vYR-5+D2;=eme@CqAF}Z{wUJiR-sbVdL^L;s##! z5Z`nm?})#4BbX$ z;p3faA-<5xv=V=r`cEW2`901}BEF9ACKKO&LD5Yi-tS81rV>AMu5$+wJK}?hZzMj1 zc+Abt9ZGx%@nOW@o$cJ=#6Owj+%)1@A9C&p;#ZD$ZaVQ(D~j$&;v4?E=#C=(Eb-CA zZz4X1_;nw4u8sKOx3aUIxaTD2W)hG8Z}KAk8vSyt-V+~3{IOe{JD&K5An^p^qc=D= zn|KQOok)DlZO*-fc)vrOn?tc$`ao z{rN>VkNB*0MK_Ch?hGY3Ma#2*L0 zONhTk`!*3T;JeMl=TqM+iSL;TPKhT@VGI%POn-iX_!!##MdEMq-JQhuAHm4id-8vR z_#o=_XW~(m^B3Zyi2q7F<~rw|BtDY(DdIOXo=#^VkAeu#Af9?P?IpgbmG%|=I*0gS(!HFx^OcYg@yUFD9`R!0cH-UMLc57y@lM)J{2c~e2l1`YWhe0$C~qT@mrzuKM{8kKcV-;evXXz{FP&??ikOd}lau;Y|1@@pt*Y zj`)4VI}`t|ujqCm?xdezKzt%}vMcf9;Cm$TbjHgl;uh+$8}W}WFS^}{*YrBK2k{N? zuRVzm`k-@r5ubWR(Y=uP9_V;);zJmxw-C?2g1#gk&iKBKct_$76K{ZiKSF#K@$KRL zN5lIEwx^EoaPG&7;p-0)p925*3Gs38hlhx#HPW}ltBD^b9tk}?Lj34^o%`mF^ydoa z?j!CSyUc|etfzF6`Jcd3YzK!o6BEH}~)Qh;`Q0hgz6u$BZaW8m!l=!^WMfWq} zDVG)8$LpZEe&_BWzUwaMK0&-E{r5@Y`(Fn=6MuzveVX`bCX>$)U$_X~Nqji*=ZG(P zvvZ#(K9%?j#CyM4peouF_D>`hUQZ_8NWD%W z{_B3^O?)=v`DMf<;C~PUZX|#Z3n0Ma5-~_Im`+IVXCjF|x=WpeA-4meNPzKJ7)HDk0Y+ldquw1u z*byy&H204f$q#+37y3|{=x^=nVeU!drwC6I{zmva;U9#567=`>@Xa&81AX&kpU+1b zBW$}OVHhEw&wTRPj%V8wb|CCX*oiQlFoIA=m@;|h%%$xsmbEXR-@BlvYu=1=7q<6x zEpn5mmOXce#h=vagbTNGhf)4=;wIu*0Uk*_hoHY}iFYRdT?j8A>`E9(7)98PusdP$ z!7-tS#;ZT2b zLK%Bf#$JRM680ttmr`IRA6`+$g89cC#yi#ZAf*lYTpjY+hcquD>`QntA@<3XTzjov z3l{ZFnbWm$Wp}6L^1gQ)fAyO5jCQK=(n_LSkOQ61? zt`~+fRNi^On+W>*WhhT-hsu-MA(f-7yh#}zRPTrd<@L>6UI#H2M2}KcM2`m%q^3lA zl&Ug05xLQ0+q{{xXR98{YhTifCM#(6q#5D;F}xR^rsV2leH?PJwrM=lFZnTN-yC+> z!H1ta*~+;re4}#R8c+LDpSFtjXF>awf}lUe;zv@=YL%gHmQxSm zPHNkLV>vfQ=!eiEkGs=JFMgoEj{}P*N%b3uCsp8>R{4CcC#`r|+czJ>!mu7o!yk63 z`{IEeYloQzDeY03qqN2;hs->6+3aQQOFHNDws&-{IB7*^-?@ZteyN|UUQ&eE+Ogy% z6g3f_O&HaP^z=?NM(AZX;3qCay7+3r?GD_9BzGcovj^~r!1tkE?g@O&JJ4#N*S&yu zxUuMdTSVdoUVw(zb#&3~4g5Z&$akJpaQgsXk7WHAeEdbgdtX&_C!Jhy`vSl6^+-yn zIxhxZ^`@e`|}17u^29vKoB&HAPnseD9^; zg*uM~z5{p<;Bmk=0Ds{t1=j%F)rl5-43Y@&B_}e=zN6q8ftQo#j^x<{d_CX1i|5V2 zuYE(&9gO;QAn;_KzwgyZC%|rV(T#a$!A$@@?j*Dv;1=Nft}MDUPD4@wF3^@eY1c&H zlY#F;t(z3Sc{T84;AWn`<+WHCfJa=8WPp@A75HUnKci8T4+6fKJYTk+dH^4VbolE_ zi|!EMx_OZDvVuDl_yF*K#@z*X81T-=`EWS!u=BxbPr9@YrpO+26d^MX4{->fHmx!{fl77joA&w@J!Sa^OR6Mh@8@O=I=1vdluBex;R z{Gs4x0`G{lv-qW0Du72IA-x4v^jP3Og16V4UUbI+e{3-pquYz_c;KejNun&c6M*-+ zspuZ>Ex6ghuY7;eoymAS5qNw0`k0p%-AjOHt;IU>NWskkJ{HT(n;5Sr0XHM%edv<~ zcQWw)%}7#pMRyAD4?kFRb5|GKOM&}tN0QwOoC5DSA8XVv3T`g&f{T#^8?kZ#zY?wB z%LiiV0RHIy&i(AO1-Bjfoe91ld~?BV4}2T_uCNsNv0IAnqC(Mi0e=Jd3*hH`;9b#@ z4q{wf0DQ|U!CMp7GT_$$zn`*}0pAb&%)Uj}1N`4eeV_g|+6C~qHzDpkUU18S@1uXe zj%@G>;ESLWg%!ZJ@%;Q%1@{zVOLRN^l|}b7Z~?9JJ|xV)0sj(7@yt_;?(e`C+zfqv zqUins{PLwpyZr_CPvHHQK-+T)W>vZKaI}I~AzkI3SMgw0C9sU`* z+6Q7KA@Rz~+%4f(A_>JK0@w?%5!24XwIQ?zG zm4JVC4%!6fqWyut2hY59HoOk_gIJs9j4Qgaz$d&L`kDo=1OEGDW>e&q2H-CNUvp-` z9RU0W;E`v*>wr%>n&-@eO~6Oe#)n@CuLIslU;OpFf;$lS8}CF*`UNBa{4n1<06YQs zfwvXiX+MS60l)WM(DL^St`&F^`TzbzcpY%54P1Yt;3fg@_8v6u(FHdd_>a`{z(?TO zz&nxWO@Bm80e%H->Dh;I0{j>7)61NBF!1!ZLIbB2+#$e!gJ$M3=^YAuBKT?k9lQ>> zkvhEmih?^F_|%ipq_2h70iXTGqWk=>vA6=ikUD?jm*fZhwxckE%bUkybkzY^8eLd1J4I;r;SIB1V_M+fZOB$0A7Ln=)1oH zp9Z{w=dbuVkVY@Y{jkSYL4G0>9))>N>mN&IA73!SIC-7hF5=tATs>Ex3iid-47H zhYD^H@IhmkJ3dly9l#%ePR=~5=sJNvNS$8{O)dsLkUH!%ixmyvGvIaae`moh1^(W; zqI=UF1=j`K!#CeP0e%X+4j%aVmV&zg_)5mzoxdr#Zs5;hExY111-A_NIPmr$Cfy$3 z-6p`pw=cL};BPRFu741j0{E@h6kXrr&^Yj9==|sx!MA~54No}d^n&XH?x4;KegZE5 zzMQuImG-Uz-VOe|@7YDS8hBU6qfO{UKIU;7_(O9=~01ZwFq<^NYVzaMu9u zLEUynmwbnwzo+Ql{u^Xv;1|GK?mM;Mt_9wkdM><+x&mMEa%7-=8N9-<4?j-Y z@6lh^@%)W^|A`p|cRlb5XyfhwQ*iGAelPG}4=A|z0{{FY&;WFP1MuFAktTTE`+!e^ zSG@ku-couo@U7tF13Z5>{HOoj1@}SVwb0&)(B6%}w*&v=(t^7Q_( zmW@TbpWIR;)zxu<@n;O+qa=zHN=bHN4h zC#b_C=zO09zLb6}-hm|0-Q#x8Vn z7x3=zhm&R&+}*(2A4R`WpDzRd>|MwO?M3$$;HN3~jjaXuRp5KEoUizC!QBJAma*{h zs|xO3;5&f-dQ#DS4fth@g^{k{z7BjCvf-K7-M#^Q`KF?~@UnvYCh(Y3z{?W__buQq z#@(<}3hqAO9(dP378cyMfrp)6bU#{DaNhww=2PexGK%r?5U_lLz4N|;`zi2h_(S7~1@|!USY)k9=dh{( z{JYtV+v)HT;PW@Yn}3c4nD#y0jvV~ng8Lot*jbF#1qJte;L~40eQzze$AB+wVqU7p z$`1S<;4v>QxIY3vg^c&1Z=eqYznL*R6aMoj;O{YyJOIr<0elYg;CrdhpMfv94a@h% z1@{-=xAV=RW9cX0J>ZRdK2~r~0&iH1%(_2vJMbqYLyj%Dr-9!DJO}u1z~jj07Z(-W z-+@otk1?=c!TkgH{xQ_4gxn5%5%lwGE)7Wgau{-VF42LO+|hCbLG zxgB`e<)j532K;$+s3pu<+W}vAI{Fg)WP9Mr(DU8DD!3hh&prjXt|K@Xj|dzIH-h0UmQBcpJ|A2Yf2< zt|P!5@a?V4L#;)(FYuYj{2$x9;9d;;HsI^WqyGcn(?}oh$6O2i6!7axMOOko0Q%|O zAGsa)F>rX@=b0~o7x296ZsslEi)J#G;Q!-*uYDtY5uVck{L{_I;y*%e2ObYTCzF38 z@cYQ;O%3pC-~zJBJ+~vb1Ap>E)b9Y~Ip7t*2mYzx#slBJ9R5O`Cjj3J{Twn4(g1#p zvGYCJ*b2M~-gwPT1ve4+z9VVF@8G?_XS{{qe~0%1UwH*`%VkCPQQ(7lUgG)3fX9*c z>-T_9@U)U|rag%s1l({Ha_n$yKESJh@4f+>5Aa;zo1a1t0=^s_x$bkwXTb0I5WE!G zV+`>7Ze}cezTox)z72TFOz;W(2jJUx1fRf*NxSO~;1l>5;N!OkpTK(qU%VY-5BSIA z`4HbU0Jj4FWiI#xUJm>yb5kSmZ=r`3JD~>wpY{>-wH?4G@Zt^d@pqvI0Y3l_KmQi+ z`TtS(CIDSj-T(ja0askG%*-@#-*dw)R|MBkNpa0o1O${#z%?^WEJ{mFEEhD)Jz@?((v_%RWEQ~t4Q0<|HtPrY z0WZ?tpST!r!Dr2<-+OTF1RwA$`yUNmj79Lt@ZTWwHhc&4^hM8N_=D})+hIOj0)IBl z#8UXt$Ox9fm&cZ1Ieh3;&Y=fcGr$k7iq8Qq#!C37m^XH|cNp)$x1hhZg&50ZJU4~ z-@y35Uh%OZfstxY(-RpL?-LyyqT^+cvpMmivt}||su$;#a4+PEl_3(kCZS4%=13@E zehK#nD-%ka;c9pdDxi=`PVZDn34jX*@j#9Y$&*e>Atq#_@N7bd2vwnoN<$)Yf{S1+ z*bU@Jn1$pG$;TvWq)8|#g-}C6*CaHDP@P7Sh94Q^5;So2@B-!zqb#mngBR2#T!qPM*it5A=ul`2 zsDq4N(7zZc9?%ba)1iG>AlIT}FnFub(Q82~LR&#Qe$2@h+8+A!L^h@Z7%b3q^2t$k zfvdWQ*ntkz5pW%?9+m0><=m|vk75r@Jr>m+%KAt>3dMY(9)aowrLU{Uo>-r&$DR5? z`-1`CX)q8x1LSBo$5lPrG??%Z5C~XjsUzhMzOV*Uk2`gPhJf6@3?oi_2?clZB@CHx zFdU2k5g-yYY{($;kB#dQ(>^?kJD)nB2Gi@bwG5s_XbO-c1IpZHG;C^#lCM*2^eEa! zWYcZ3ZnSSSvfL-jwxMKwq9bDhV?)p7RF0u$Hfi%o60Y z(|U$P=(Kh^O>`w{U2*7Po;F5_z6O>ro#I7C?8hVL59CPGc}D9zV{+yZmsOq>wmesK zp0PR)YZ;pzKc}5cTOLowf|Qf%OywJEJbNCe9S`Khw}xJp-yKFu?OA@*C0*)5j(Dwe z0=igx8tk>&baohNS7~lmJheI zzDekL0Zay5d)V5leUDh|O1)n}b}x{_i@8GTV+xRbF9P-ljE0S@a<}gnO-9LA6H1drjw?4xJ(S zoPK)u3e$cbvgIqyi9*UZQ|EgfIx9y$KW9ESWUcb~>3qpLALn}G4aw*9v)d@k&sMg4 zi8|k#I^P`V+#LCQ!&xt@`i!^bOV|14>3r-R7%4gOb&Iyf;c8^XjvQG!-vVS8g110w zj(pz1R=!KfTIH+DDO2i&wU+TVSPYhc?DF**#hOF;Ssqy{UjY2l9CF@q;abj@G?}lg zG1Hy3K>NVB5NCvUL_~B@kD*qW=i?Qm=bn#O5-0QV zJK#?9v5X`C?mp2`aq*^W^dJB3)KRPos`3_l!`1LeG3Pn|?!CrEnvyL6$l-7*EZ|kBW^lg{XJYqMmI~F{&#WS#P=;tLO*W^JVX-z}RuBT`!TQ`lo91E^%G7 zDpgw)#tN%s-?(^PRz1UDEIv?%gzCGGv%ZjXvGgT+d35l&Y$p;)Ta6Em8u{?FO!rZd zv~YM-X!}van83XwqD6<0(H-)!^>l~aJy)tvm6uCmN$2a*2>aE)#p0-u0S!C{aAj)0@! z7&s12fRo@9I1SE#v)~-a1fPNP-~zY^J_lcbFTo}775Ex_11^Ja!FNE-=XBlPQNba@ z%nGqWs>4b>{EqJjn5%@p0$&XOWxXa-Q)EE2bIntg_-hNz`q~TsJ^Jsqzg{7)^pPJx zUVY?g;s=6ffH~*&8Wj@~8x#>37iZP^T6~Z>R{S2qxg-$?e+w${YQi>$zd7wI-W;bQ z_p>ekWq3E{e2H(*JR$SH@SoEM`@yRzNS5kSq5j?Bvh}nk-SWc=-cRTKN#_+kw{3iJ z^ovf3FK6Qo<^wCfq>Zm(lWAh(Ke6fbC*Ja5h>fp_j1}Kh^E?|SZ96W~H)QCj(Cish z{4uyTvg9k`gT=pW(-UFiSK0V<8y|@eR-c+^<6pD!Z`t_0Hoh}f`A7Q6RUqT-8j$h!6Oi$C9sCTkfHmHJf&Uf!2J$oBT#&l~Zi3&zA3(<2 zE$}C>#+%5=u>_z0g1;?c2b+e#0qBTw5{Qir949Av8E4r6L}gtxO_z59GzG{ZRP?!` zgMBuGeK&(WHnU$cOm)A6%kGya$YZtNA^1z6VbdF%tNEi^SIP`SrX2bE1jg! z-blpQ#`6#4!|v1O|mE73P_r$i89W5xL}iqivCv)9uMS!pv$eBjY1k zgT{wPjncWTB~Gs~;qkeR_yrCP(JL#f7CS}9N1N)b7#|keW{l;qZ^*E~Q4xBHrq+=- z91v?RRGcO733S@CGIk7)VuhMZE+8y6dW>nnTnP>xjsewQ+b*K+lpn0=oXa?#Qe~Fu z5)~27;&$lpkRa`e(_yZrl|I#u&!NLQw{(8n)nLEb;2wd&y#a&$a>E@I1I0lJP!h1u zYLo)()ygxeYOkYHY+$5ZcTg;OKr=^NUoM<|Xt3be5PF3yI~j^r1~VccdPGQ6ujo;+ zL0o~$SS*7t(vJ&3Yij;7zBbVOarjp7a$JUT?;~I5#1O`E58w};0zE-#^2#}p`!jbu zCx#&x4u*pfAOe`DCK_4B82*Ugr|~IC`Zq_?VppTgJ^1&q_OEO{{CfnMa)4(p4DOrf z^iOZ3h<{`8X$EyDhwl@YU>W_Oi_f~)1M@5*6M>PXUNOe^4w>myr z=cBUl&4C;fpweeO0r#GGMmvVB|3tUmA)iLhR#=+JXJtdz0v~8-K_q zf8NIbY?E=*bBFlwFuY~At}T9>EpLD=e!13jh`hsymxC%%=LVsE#K}({A7x{`JP<0! z>SeA*V+6cF6VMcNX2)?WH+kSj zrx0@=i-0*(s;Or-d89~5&?P`^bs@rTKr~mhDlJW?iOJ^6c}5+*+=4e+gEpWoXa~Fj zw}cEI;0w6zWpo6c0O!X(k>Z4&_f%Nj-!c2FOoN{27GFG|4S*cQIOTT{T}(Y4K_}1| zbOBv~TqbrUy&LpNXzuBb+iGgK@|eRNhpTm&D0Zu2w>x?Mligr!irpT0*!929cMD#Lqhds zoPTUcm#84AJIQy2d}@13ouEnc4RNLwUTNR@LKT}Lk|_DA{w>YSC~57iG^JC@6z|-^ z9%!YRS5DE<5#i%QEEmU^x?j{Xs!F6Ny725^nUb=5Z5C9vl}%1Irqu!~`X1+ z?Ay{V=19YTTiUH0X>3p1(#ozf>%_Fj7PKwR%Stobm3A=`rGEXbG}RwyJX^j9E6vPD zD`w|QveHyO8o`!tiIt}ENxNj{+npm#S}Hp&(@In0k9sk8O3gM zXbg~YjD*I5I3V-5Rrlhwn*Z=K1;5R6`nX8B3X*n^w1K3J)#WMso>?9qZBgYJ1(ouQ zhFa}127WBat6g}s?;p1Y$CD=Q!lNcR+9j{8iV4VAzREtk2g#h zZH6v~+gh_6&!NZOza|p4%JDpW0?4Zz`Pp)rMBW#`owi)mm7EOBaZ#qbYM<5?VH-c6 zQwD2WDg*uo(EX2H3$wjEC|el)(pd*``R(k**%#x|woQ?>^wos#4CJ^0os94KS)=52 zDKm_AluN--aHs9jyelcdY@GBm$+{tB|r z%Ww1iV%?@vW4|9ht)RZunZH*^1Y7XtnE_UJOC>iEIoXafQ+tNQL<9!O5>c%Qte~wQ zud?LTzD_`3Y-mWlTyW|=tn3I|p3kg2%1=`yn)%CIhdRT~diL0$eNyegW>0t&yKX9n zTAkTqoO#+?dDJ<&OVnsCeyy{a4mo9GwX9n2ux{3;KseKB8DDd?jJXtx4Gq#Y#2M4P zn@GEh+)m4`Dw~{w)x98VjctXUwyz*>ZSiNq8`QnBA@^pr&a%X9wAxN>)=DqqyhHp! z#^qGnUgkd9tV>jUNNiMxsCetT%pV!qHkD&7{4``=1+RhWKuuBHj)?0O8)V%;G$&*o zNj|ymnoC|OUm|pc=3BCU&(PcB4d81sSIH5f&y_RKZ_UXw;a>-{fSfCnp|e3=bMhO+ z|I=-!H%XIo%N*!jFb~WJa&Ae1E&vOGoGagg%CY-2Kgou-=DeU=>&m`XTo&bPae9tOe_U9EY&C9^SII0e&Oc1oE=CnRxs5+ZMty zpQS;!g1+!#uRj<7?AL{2?=<$dA!pg!4xbKofV}MOBz_mz4c-TPzz1M2_z>&^VsAh6 z05}Lf0v`i8WPKt1?vTVm|F73Va+~8$Ya#LL67}#2K1n@%3e9UDz~0We_W=%*N9sKT zdZ&5!2r@^39M`aW3|{OWhyGvMJz=wZ3%e(^-GAEm_)q0MMP4cIY3QBGE9ETAHU1fG z?<_R0a-Jhz_B%46_fo%~k>9G{(%3yu*y`VT+5J!D^dqm7^8)lv<+Shbcw+aWw);8s z-`dTqKYf9oyvFgD#9QU9i``4w?pOaMyI=o<-EVAmPqP-A~wC##mSm{%wC=Ngf$T?||#*vCd0B z!)JkCz^~vpAcrsZZotd9y$Sud_VOA(|J0v;N53_G{IUCowtMUU*zTV;y92TNm$rL1 z^YOnauYLT4VfXg`z-~Nt4gTNlynMIiO~9_p|G@4v>^lAjcIRN%^?zV@33lE72X@zD zx4{3vZaQ`g{txUPz;2=YWVbMOtabt*RWgsKH4pz z?G|I-zvO+i>!Iz|#BQnkX!ika*B84F-bcHowcR1ueds>gEu-yD!0yBM(Qa97cMf(R zxsP_sX}cS-`{;eNTVC7Ez;1>6X!kK~_X>6^-bcHh+U`Z>=SumoTNxSIxB92+?JA_- z>AKgxp1gwHs`;=h*ZI|u%WbzhadMqdBOi8UUcQ07n)$R>D-V0MwY@s|wC8q~pPOoX z^`QUuy5!&NCp?b+H0nYQ5A4<_+yLCo^+7}ONxe3L-l;vsUU}>_M)p6g&%H>Oc5DL8 z-HuI(6MM~|`LS0Md(DykPxk&V_G!GZ+v0yW-uKaNdu?|Hc75)nU0-cC0=pgVquq|$t{>y5lg(~t_$~tG zp1kf~DKj6KkWJuzT5e#8+m1Z><-P({1}YA9`|6+U)y^s zpY~#~*VAUNm*fZet=HZnPx<;l`wHOyY5z^;hY8s0hulBa=ac0319HCU4sy3+FXF^r zZ;+q*Ou}CO|6uP8$|e@%6BJwgUKuQhCuE10tx4J zUoRDVL+`;}khT|`%U)jNLdv%qdm;B=Z`-}w32NOa15_gLr+XdE;iI~DB?#0 zIm)j!?-h?BY&{DgK8+=O7%I;KjDsH!@_H8FH0fu+S#S>6e}eifdBmp)Q1R(G=tPj0 zPtOxCM+SW$0sd~s@Feoe7=8h2AH&v|noPX)b5XIEiM_;ous229d+{Iay_Cz|W$Y#0 zgT0rvy;uIh-qc+7vamPp9_+oU?Y;I7_HsY#V4QO`rvC?f|Lt>(*L!CFoqc7vk$M{dr7ru_1)qiKfCxhAG4PgC*`c3#b;3oZQE>!yOJm`Fo0v3Sph?65gkEeyi z+5LHoaDM#xPvgn*Cly^Xp2Qz{_9CzGB>u?rKvkJ@vT#!PrtoEPR`^HZFYEa6@3t+f17)}A$W{8)JFnW#C)r|J0V@T)byg1J>**CDos6F))6$HFIRel2>e zpD}N>@gLZDPvk9`S~kA1jc;w^JKFdjHa-wOM%(QNAFTOQ_%unw&%%^9L&rY|pQ-s2 z{3);b1{--tn68sxWEyBbgYsH+a@NLwY2$CK;`Jz6&!P3S3lO_6qbES?nE>Be^IhTP zbyy-3kL(OBp90;jd1C`IKx7&~`)NKHnyC4W&`FhZt@Fj`7y8c6M^g>@@5OD9{{Vo{mGjs zd9B~y>R$(2y5mWoA?en$qvr2_Ro-OMQY1}1ONn3d6JMJq^XI+UW#y;6D&Jx9?Y8^t zBR}!Y&ZvLho9(XpX>Ya}`E9Wd@p!v>lHFN!_4Ko@m&Wv)!Ze`u!>8;Y`bz2OSC@IE z3GH~d{b~()rC)I>$alYDnsz>qD?VJK-PhfN4-7};1H&obKF}4F51XKy!4{CaZ;NmK z)K3~|`Kh10_L;YmSL$aQ^iJb$J2L4&j)B2XfSYX?GUo! zoBVWJj(B|d|gkBT>EeWdJ>!hd9_gzzMUrR zZrkV#d8Liyw3pvDV){^RglU86PJPWaFW;6RaDnu@_3a{g#kbF)`StA!WUc=5CHy6j zmv0I5tFK7ATi?DWulV*2G{3%KQho8(>f6(Z`0gHj_+I;PFBr>_j(_qM=DgM_@|9+>Ctqp4lRf!@vwXez*6rK3#jbq8 z`4LbKJPPEvNPKzt{P+`s-P~)53gi`k9)sS=AFB<9BX6~VTo;_?CVAImukp{AJ<~Y5q6()0!`g%q7jQz}6ukKKK(~ zn)SHw)!=U-BgcTlhIiu8lJ1V=Pk6tzFi#&cyjQ~%_+meArZT*D!x#COH$GEB!_DwM zF5v=Q%y2PMLRQa{2BmHH8;gw)SDm}*i#!VH%B5vHirk1)PcKf)ZA`VrPMI}3#cDq8Z@SUgn3~h^&^Zc{@fB~HEzuK45kLm5@815Pns|V@#l~*74YYx zFn#eSOBe_KB%Oz8g+D36?8l$AilM^y3iC7F_p~s#r%*q_JS+8c0j7u-^&`wksUMg! z^>hc6PHA<(i&)DbvBDr;P$<1q5(@)4IuIve7b;IQ{gqDTU4(f^Do>amQhCDsPJcNd zjF(iNFuSDkV2b?A%hW{+11j-zEEVmOZOL8CaQvZVu(TSPBAq5V^X!&9eF$6LS$TSC z8S-34rr|Yoh)hvn$rQqt6jkh7@risLLBja6{~L}Aik8oC|&yAcoKECpsJey;zC zQ$ZH_%0v;)?Oa`|A>~W7Z;>_=X1?@kVa7j0`6Mhy1VbmC3>B(O{ku|6;&h2GA>-&Nqd}O_ zadnx5I(!8{yem#q5q4x!thK^?JC>#riM@0mktjloNqDht9l}>696QOGp71Te!h1HCE2bcI<9Q^c=|X@HacUc%$E`2LhN5XG<@g&FO+<2vw~tK4yyH~l^C9NkrV zqge=({`Qeln&4+n$HqM|sGdrw)%_!@|=rmxcL-M!6-- z3~8pHU`k0d3DZiNNti2~01gRrntA`CF#8#hS;F|^d(w57@V96tVW#8zT9_iK3~s4H zy5U|4FV7C2mhj`wdDr_2;R^c>W|vE^oQ-MOd6Iu7&+P2*3JF)p9{uSOek6OQ$&hgM z?DR_#uAH5IL&D9n)2C$-uAQBpO4zZBa&8o+oV1ZJvpLOY3iE=r5loRRornIO_zU48 z**fM(xNWwL)e>%$oxYo}YDLuN%uBq^Elb8#DJ_M2Vv=T{KIWDlkdEVP>2@!BLPD!exHTqwh|W(;115PE4n# zg-PzitSHPNMr^_jn8Wm~WMO*2tPti0x>UL_NiZ40xWQZ!#!F60!km;<#!Z<0bh1=o zCQ9WC6SJJk7iNl7zA#l^pz>j6yM|IX-6`u=)Cu1yGfJ>d9}o3}J`43&#RU~K1WJ_A zpDPD{Xr&i;mnHPCsl3k;S`a0@pc9yT1E6p7p)*t(oD>XB2S(j#Jlq5gWv(X4m`Q+% z&bT_7ix%ipFY=HO^szuTt)ZC+@$DxgU=%-ohpunIi-4f6w9^o%AM%JAr&{qsAn0Sr z1wma<8VtQO0iU67x8cP=(05a@4Xs#(mxn-4Rp*_WQ05+E1oUUVCKLg^hQIQLoRrG^ zARZd9m4{29`#iZp1l>g8jBd!`nh`mUZ=gUk`IZhvGukxf;S1X0euzv1oRbX zOXz6y(ASJ{(ALl~#J7RQK-)s2q3xi@!ueu5^nEI;J+vnN`ao+yeWA5!j}FkMdhm62 zXd}X%pbep&p@;YJ^dPhk;jYkb&?ljFpnlMv!8L;$aHDG%~Wx)1<%7E<)l>tkX8nFGLGGJw(%7B%DDg$;PR0ixb zP#Lg;pfX?wLuJ4Yfy#hIL=D)XP#Lg6P#LhnP#LfxP#LhppfX@Xp)z1)pvr)ifhq%b z1XKpB3{)AgGEil}MnPr3Mnh%5%0S)cX%18wu(5_n&x*yo`#U=yG+U}*vwu->~9J={NX87JM0qoSKh*QJ}(Q-{|qG{cp2 zc<&4|Tv>;ug9Dk<$XD0lNw_278alj4himHaQ9PHUmJUaw zPmbC;yjc5F$Bh%niyrPx<5KAcI`RBlykA!HH7LmAntvpL;ivgpy%~aJzCz}y#SgG2 z+mMt-;A8x14D|v{KvU2RGzaqT=%CJlabfC}I{q>0RYT^zZ+o=b>RN?PdDV_=dnLoC z13AjGx7z~t3D6R>0NchCd)gQq}GpzPS{#;;5F4u-r-%U(0RVnTw#17%DoJ0GH3>P2j>g}U9RQhuqY=5na;ma@^9s1QC?7skaXW>0ZbXsf(hU` zFcCZt62K(z0+#jgA}|KR7%tFfeFv_^==h zcj*(!n*aj>gX4O3mvgWhuf@?Twr*j^6JCz7+E!KcR0GvP4Nw!*0<}RMP#4q#4I3$2 z5kaBKlF}E34olwwt?zMU>w^Z82Q&hWffr~3nu2DaVMC=a68CZ3tk*P~KB*I_*XBUJ zN@0DOqHGZ}z6J45fR>=4m#$y$hTn$FTRS<~5? zzM<)xn$FR5uBP)eov&$%rVBJ(sOejpx=3w#unwI^t(InkLerbj11@s4XvB;xIJPw3 zCPz+5drG9SvACO&iW0u~lIu$`=BLYK+@&DnRl=MHJ)m-KSVW$;!D6rkECtKJ3er{r z>)f!MxSZz((~Q^_-8axJ=LVKEx$Jig9~%;^WXfYxzMMw6&ZJO2F0U>@hlx)s(J#kp zP2bgYji&Eux>nP5ny%M$gQgob-K6PeO}7+aZ)t&t`^w^(CEbiPVz+{AAe2&ufpG9o ztA*{zrGp*7S}p8^-vxGq_rV_U0oV&ykU{te$ZNH5l=x#nRtv|WC%{Qytrkwfv+`0ah4$m(L)3?hsA*}n1Jp%3 zeMWEYVfKjA$e#gc!8wo#J_C962wK~=TFBNex;@cntrq6MpGU_9a1neCz5wm$#a}`% zfv>>V;2Urmd<#^MbE>tz@M8L&fKK_Sfm#KznDmK?XDy^x8KlWktdyJa9eTb8SHKV8 zM<8~uLa%|Jz;*C55W87G)tC9j2B%Tg%e76>-45NqAp5Jxw@~#UUwAO(_32ph)I@G0 z`FP+~wSiA`LHrNd>qw;rj{sC@*Kfzz%HpsILWEJRqOSfISSx-yQ zX|+R4MYCR#pggBxq^j_3W37ZK(_RTD(B?u(zajA?6!SExr%?X2gYMqF+ZYHv5C1mM5OWt+PoBM3}UoM9LxC z2q8eW5xCG(VYL*24+L`QWQApQCEExRCsei$S^C6(OHS&+ikEWOZ3}Oe z)$&VZB(L~n*@RVoi%)XMWu8?}R#_#V*pfV!PN_dTPf+O=Dz?Rj9I{0tK8md9m9j~_ z%OUZW|CW6TiyhG~hvl!8NA!svsZ*=YVbxZXrQgyiIwVfYAzMLmNI5LOSw5;m6T9E7jj5gB) zQ_|(_B^{}cBk1uWeF5oR64;_4J_fmC#Q%)_7}Xf^XPAY-%AK@MJ|~1`p6B1Mo=$vh<_SAXOa7Xa-4%U zqZ~1$XHt$cgzM7|@{rjh^p7aw_u+RY@frBHkoW-de@6Iy;>VKSjqo_=dh9(14XDqS z2y_hgt|I{saPj-dV?^Q1lSM}GP74tC@% zy$1ql2hty7=BP}1Tl^`6z8=WeLeKYbf5Fa|ZEOwhg5%YO70 z+)7;`Ke7WSkLtAbvs~h$=Lou2A~&K7Hic`BTW$1^o0~Mi?rJ!=zhw71^PUCOOfvt%J&%h4^w}2pifdR`4x_DJr?lDO(DH7@#`ty zRl=7^mtW_+g53=A*T&8hE{r|=-A?@D36!-8{?LzBAwLqi8OXgsJG4QrG=3B&{Xzg+ zS)TZeoKT*WGlH>myBp;qJ^pdF&Is3ejQO$}^BHn2kUK`cve5p7h0Ynp_6vG> zN00Oep6xS+Aos=?+6>BripFZ>o~M3_5Pp~bnh0%3fBcE~%IM#L{_^PkneYkPAq(07 zxu?+EI)N=}XejyRP1n0=m+PdTpH4k_QfB-*Nd6%F*adBh-?P#0-kq@sePuFZ8Tno@ zv&RDRG4m|+I`zJ;s zG}5Ece*`)X{Y5;vAnM135c#{){_@83Q9k4$JcV>O(u0VvT#0#&dOiXzM1A~D`Y^&X z2_H^F2jN7cEn!A0n`)p`~((l$gLp#7U`R?Qx-kL#xReO zZlM29$aVV9Qs`pjZbNS-Q8x0$QND>#AL@MqG>~#_Cf`c*+@>IrPsz@y`A$oCWE^Z|}6iEJ2AOy$}3UEh-B`ylcF%C#rT{2g@!X*770(xA zWM^RxGS>aL)M{=U6b0^}7$^=(fRdmU4z&k8K^wz6b+3ne$2wKa zjocHpm|TfJ26cm0oy5r=Dz}`;Y9uY?54Ka=a*9Es$66uvx=63UTETm{0S>oFj^-W8#qpc1GI zs(`9MbX9}Okxstq@RF||@se)BR|@9ipi$BYOP+#$&R_&2kOj?GTCsC3JgVF>4~w@^lp6nz^Eumla`)l<&|Eb z)2*HQ)uhQzy&TuzrG9FHTH>$lIhl%_wnSg1pb3y3*Az4Z&4Ki|7T^h>_S>BGCnYn>orn$T z*>V)qJ-j9IVy_iw4cdUVpdIiA?ST&vd%mCp$lb$L8J+gzi&gS7c++MUHdkny2{xM@ z(bEZZ23zX#hup>5AdpTu%!{eA2q>uU1 zR;nK$BlY3E_hS$Dg@xZ}P-sluz!E=hd#cFXNA^Y*nw~X0rpeNvZx_!FUf3wIP@3KVh7ID&eV92g(Fy?AnyIu~L=28~V(hz3p(xr909V zra5XBPAV{X{h4C>s($Of?xhLQ^-KAM^;=aT@cq{HhHakVojJPT$a5~~o=4}@_Be6% z_cOD}XiHT!hy$h}9F z{E>C?*zj+|eQuqJ^6Hor`ff(rkh5|1+P;M#bwU(t6CPAL9atC0o#-|=?T@bGZo z`J!jBgVi>L_1!Qf+Ox>Y0o9743Ie4a4upe8a%yw@>Y9csOIz)P-m2R#9u=;=U2ZTbR}i+@KHr)MLJd% zERxc;X^HQrgcgc@u&+_zg|541mmZ(?#hNfW zj~_kuV*4+S|8!%+XJJv3&sO}T%+5(qSKs>U=VR7JkLk3f?AHSdC&dgedHbW51&0lE zcPVvyVaW9GHA8P4yFDVX!{LZBW4|bx`s2~!rvfIsb>FkWwMAg{(B;3C8IsYhQ+Sti zW1`x09e!j@=75uDhPhv8cdg~=X1&&=ul#V~_VdplUf=24+nXAczrJI~D|@zm)L_9^H(8>|69YzqSP%!|L0&gm^bMZ)z##c* zw2#(oPTmdBCpTEUFP`*pf5*iqfJ@h{vQ}Yj^8}Y5tT`+4sHaa$wsjV<{&=6uT2LPB zK*q6$b2X4SIY!}v9HTWIqv=>p$7woV(`PlEpy_j(PSo^yO%pVor0ENEkmS=I?mxQR zs^?}*CN>dF0r}}5FCzC6uy>Fo!Y_kYz*H~|yb4|e(m|#}X8`FSGoi18Ss)qA25*2j z!5m<}BbrwSnTt$*I>r8vhFXY!7m~2Qm_mx2P?oz@D5l7R)dC(Lt{fig90Ohad0qCig`tjir{Oa z&Io*#bx#WV)Vc?{7O11XY2#h=tO4(VwO}1s4>o{}pkbroqath?Mb9;xo_dVA%dWI9 zRGuM{dn8#dv;*N8(2|6MiFQB-KqHB71ofrfi$YsKi$ME9nI(<0(HLGTffiT-172z&xQ1&4u5^fHeB+Y@~TI%OOm0nUlu z>gC}gBB(n!Wred5(eO-~>1cPJuip`kcL7X_lT-6J1s>kB2`^{xje# zP%C?RMpfQ;#^aAZ(UEdJulyN^>@6V2YMt*Kc`|`|dcw*lnF3=2NqQid0*brXH-mlLWsAKMRqsFen0w0(VdhUo$q@#92pwg>!=Nm91e61hg7TmOP*>+D zm%8fH4MXzLUCoK^KIjqMzR)3B_Y&wJrn$$+UlDi$xk;(6aJ4Qz_8lKM)Ep->kZ&h< zFF7v5S3FK zvc%zs6fS3^SzndNFFK1sy?}SdcOLGOi_6(`_?vY7)(&GB{QNfnd? zJ;Yyum;Jqy@JqTo47Q1lHSk}xa;QDtge{zCx;oU};$QGx_qwRP%AN2ZeBh$?1vmK6 z%-k$yU0^iA?$EDY)V=m)?=bB??ojvH(>&S7FX>SC(%UWM9;TOzx^LcfIYp`AQ1{eZ zr?7c}-A~ceJ;q_IjBqjP(Hw_HI*iC+F2>{V?cpnix)}B0hok@5W)7nP{Dv_OqXc|I z_@vPeBc_4FXawJYYTwb+VKjz+<{5@@6MmNk|2lj-_$Kh@I2kT#?l79dCs$=*(a2#m zgAc;bUFd8M{|)>0&5>yV-)adyc{$YmwsiPG@GXh|ox1&@vBPKuKZ*Dk;N@Qb2I5P= z%YC=0@ZIpIEqoU$-t`?9qaFOO*gD*hhYjIREM*wGx~ThU$L)@ z40lDoA~K2i@FaYb*Qir$`N5AI?=TM5cc?eJf62u{kKbL?8{U8Cq!F;kp%x#Z?bz7D zfp1-zKAW(wyxGNA=f?e4`oOo;|9bdP+Ria~LP!zg@%P5&k6n9&B|w=3<+wht2a&yzu+hKeLA5MHV^q+^HyqwFEnhxUv{DlQ9$a*=9 zi}0hX(x0f$&*2YKw*hlqj4$A;x8^>~c^BhL_=nMX6g`*VC!_NKw!VU|JC~_6gXa_A zgI?n_alys-2L2jl-+9i(xD5aJlZ=fKv<3V?_|@>=!QY~czqWK3-@{+WpV!}TF|NSR zqb*{Jxfnmd4}kv|{zv$<4P0oHau`?P`?0rvCCeZxDvRGTmYHN6*~CEC;zzJzvFP%oE;=`v2I)m=8ZTm9fcSPk}Fk z{LDxfV*z|O=7Bo1T#SYAdzQ1vr;X0Tx94JHQw0~}0({p&+#8+gV*Cj|iPdxv^T1#5 z>)?aexfr+MKc~)n_h7lqs(NYzPC;%w-wa=L9d>;kh6DZ?;;S8XF6&QeNt0DO}lB@UDFPmrH=WH00bfc^TTH{m{@FX#vQg8|@aAnVA1&}V?GBL_hTgCQUgSl1sz z;Xf&G=Y51AFMB zP!I;f!Eli0I#RA{oa@MJ?V>v!eX@p(Ca36^Uh9fu2zpb= zzX-ey7K0^#v!bySx(qA_E5J(d4p;@0ZZ1j0U+ZCb>4|>mljrZ{SdE+wvu;!kSO}&eJxo3~v#JvypfDgc4@FCa-k5Z{ovAnHK+*+%L?#)i77Zl#+)9yYJ~bh^};ua7x)&Y?dOdg3*aKiYwYCw z4NJClv0WE^*7!-)x<5zH7vM{9348^<26^hvIg?Atl;@&5$)@`<`Q`Xl)9*C>Ueha@ z{=lqx>7`QcS0B9W>!uc!S4p`B^3ywhLhd@S_l}~Y<(BoO!k`E!3fw_4P#ly1C4mPh1s(tog3{n2PzF2<%7RBg zIq)b@dqzD&0)u-*MU2zGIEv>>1(7*^gJj0YkBrz}lti_sa~hw-&wbEKnqLjQ0^|@X zK9>jg;&TP^+kF<@hdP?NA0w?I_&4?8iF_qc8B_sPK{ZevsGE1{RAUxY%9oBUDW4o} zoy>i+8pzfZdHKD%G@E_n3^~bng?zHlCWkNiMI0atzhHGP|j`$~gg3dkOE=u1tWUM{mLt4Hrvi1HZ-%H7- z+vMAIb~7GFu0CiW@}LoD47@-S&=fQS%|Q$B1ZW9bf!3f6Xbai_HS6lV!d~&g;nBKG zb+K~*$RX4l+4ex{E-(Bin<6hZt$b!Zn){OhA!E7yBhzH|hNbK&uEVC(eJXUf_9F}G zgC1Yd0krU8S)$%GVz$F&(*39_IresOGoC`GC+GzNKyT0o^acGue;`K^vIF3s1_Qw} zU=SD#hJZjY6a)cPUtJ=3Y)d+62XS70f9H%5ed2!rBi&;*bzpEu_1ATSKkL&sDdlstxI*g5pj& zoM$FM)x8tWGd^;kU)N(R>cBe3EPYY$h<~) zI+y`w0%@1mp|gOrOEPpekal?k`X-nI^4l(Rk$sK4(?Nc(n&y#5&j0hF*7-k0c(4$> z1yX@^CDlcqx#UoN-cPR<^+O<%)+KnXN^_&mZjdfV1iZB4BJ{is7K0^VDOd*bY{wk; z22HDCvmd&wb;1Fyce&^QE5SQp6<7`O)NB5FSU+51d2E(vt=8>*aegWH;qRhBjy0OT zr|DWv*J-+5(+!$#)O3@kn>F2{X_}^6HQiR2U(2VIa(}OAvcH?Lo!E4+1Ke#t+ezMC zU^jRlNI%;H{QyWm+Y9{=NI%;L-470c{Pwd~$@g#j*+KM6Kl=!3^|O!R4}nj>r{FM< zBZhj&fIk9`g8bCOG31T|`*=G+_#`+5PJ=VxEI0?G9x|by0jY=c&oXQ0sH)y>=lP z9}|$V#$6V?jJwO|{uX=(z6V#p4s7r_f_rM%`tKso!0mp_>`&tD*3K~pTKqS zGsptD_5VU#;~ZCMd6m?((;VHFo!#2bujKy?+yFPh@8A!R+m4(E8p*p>oaceuHD%gJ zwb>}!(=1B`HiaJp6@e$H1S*5vHmVSpb0^4r4S}?Q8@ept{ot!2TMbkPH6)*`C7$ZV zDj+*gE9B+`(O4W|y||x>TrE%=N9})2p$Uc_U+ZkGcIs+Nd3^F#mn*L*5#$#zbP6J z;AZqEyWAI$`vGzv;2AIo3fshhz=Sd+GH7d4Hw1L)6in*ma_~i8{R!(_L3Y~&6BB)GV`|~kL0fd z^#gLOhN|ss{2B&AK^O=J!+~_k5zq(_38FyGF4;3WnmQD{bI@gV$@JcAX(Jm0MuObk zE0(x85D#RTISM)&i~-WU#zMz|@!(l70Xzq!drgEsFLCe*P-%92m|hx8dwO;^)rxL$J<;BawqEx-#0g!wNV{7lJV zs&RF5@V`)DR~NSeu5J?N<|tf{KNysd!`0zxT6GZN;HF>hqkzLfymb^%$!@sq;wrJO z1zdBuOmZPtbSk~1E9&avT1b@)TR9K;DW5T|ubVNSI!plzz(UZ1--`r|;6;RS=GB6~ z6+&L>FpfOZHet|2AV)g%E%K&#|Mz_CB{tEnJWR`%XU>Ru9iwngF-ro~y z%3rj}`}K1(mLszQtOW0XRe;ks&nkBe4~Ymi_wJo9(~+4iXOj3S{?|vB_+J|83*?xl z^{+7?PxLp;r9{7jQ}V~#@?VBui~KsU9&7*`!6vX7YyoM2tpS{3q8;rQ7#|+h zkSC3F*!1lLdPMhL=tbatYh5Y#pIyBAyBS-_o|pPz1OY!Jh`+H#U@Vf8F6VfQ=f|NYU-44idJT`si<_{8UX=CBLYXBNhH*-M*%KC zFM`j(7r=f_`I7J@a5v|augI65+tFVmC+C!Jpw^OIZ8dU&_g6ncG=FsHMjcq^lo)um z^d`@@;5+a=xB`9vxtEh_>mtXcsioPh{eI}P&fjV9KceF*xCVX#*MVB+$Uc`pJ7&R# zEP&Pim&`NE$s@gD4sIrj_^9K>~ML)CwX>;)u}ov@ON3N z`7pOcR0F5xnc-IOoW_j|9p;f375*rIEj{=NI$TKW=P?ItJ|2Tn<@s@&SsuwF@@x2^g}KpbhJRs0$m|(rSoI&qhCV%6J4fcV4*BI0wh+n- zgL}EWFGBvJz<|4V?9AV2e{ z2Xdu=eI9*)@PnWVpPA>Z2jF5s><547JyX7vUzLDfnMp3QIlIADrDUg4r6VPx%{w zhWV_AM#wb=_ImIl+ypcQ&4AQHb7%`7_3#ALUJoq^w*sv}8_*WC1OMr9FK^P@10Qgw z^Q$j19Y9CW33LXsB_QSZr2Ntk)NKN_UDAj5wX4}hh4@)iAk&FjM^B`FBu@-<25>c^ zxYT1^96O44yY1dz%KfO@&JS6ofi++m2;IQ5jbWzlDyxBI~-pkor?x<=lg?|eYPk2HC4r5tPFW4-V}O$?ikbkk8Lp`hU3(S@W$~)#iqh z)X7@vLB`Xo)PWqYX*ylg8Jf=2^mR>VX_~C*?4o?K=uj#57hS7Tm2VLHCYS^AQ?qlC zn+NQpb3Wk|umCIsZ-G>>2*~Js8@d?ChTRhAQm_mx2P?ozkk^mF-XVS!uy5F{CVZ#S zITt(cBDV&-2b{CE^mykPzWu0S!?JG*6{GOh?41ZNtKhZdT?f{K4PYbK1o9e9Y7^YK zTW7YNWkFgm44pEfHj`hDEt;m$8mkYNa(~G!J&X%fVz+_qAU~~7t?)|L;#2o}5fscW8Z9?6tU&l$U zt)@<_Rw>K@kl+YBl(haKJVSfO1VF9 zoLq98(DWqzB$I^Au9vuXdy3f8;0(x5KRJusIbiQ6nS?(B=fMSV5qu850MbvsgkAzN zYQKVh4ZZ>Ym;K~2`g8Xa)rM4iKu9D{AOyya(@(`pogJbstp4H4#k%y5Z_)7`_#RvV zKY$-WUj3ty?3p@8ZB7fKza~1Rk6b0c9M?4cNz?0^{;X-1roU+VtERunoO`O2`?A6* z+;P7_>`m}H_ygPme}ccjZNO(&4Hw`5uD}fx0MdE|p@l$UPy`eO?m$L)F=%m60+a+E zKw7U9^a1c7C=C*cdkC7>oNHex|J$3TWzZ?D_b}8s=gN&UX+6HXAvGwqI*mH8T5WA4 zs}1BI0sp2x${{cH@hG%B_SsQd<+o2A$E@;?%Ky*}y^EO4VaZ&MMO#L|`MT6*HhYopI zOZXJ{y+973qPt!$-I7+5r;8-*aa&q__=Zh#nD8BntmrL`yrnl-=WU?#HiR~kyv=gt z^$U+0q4N6M@+QMKM%K&9+t_>P&{$_Vm3$&HQl2Kr$k9~OW|}tFv<2U;JanOy`}dBF z7&qeyVq1b%AU|_`YvkGh`&|G3arQ27HkJMR|3073Gja-pCP{KilB8`M(>OFFc{HYJ zFpV)7lcq@ylcdRmCP@;SCP|Vc2_b|Kk|YU9k|arzssGuKmER5zu)VB&)nDh zbKUp7)?RDvwbovHt+nsf4*m}0IC6XBG~^D*9g$^U-wEuDEPIPCU{~Zjk^lef>$_pN z|Cb}QyU_0c*w^z`g5J6LIkL=UDapIE8q2}lW85&p*gDcNe0Ss?$UTvJA>WPszplmq zb@~23W7jnRGzV6$o|3zB{Mj@#;*@wJ`>`UHD_9O2j`;-472axxZndCq+i+q60 zCLbho$U)>_atN7AK1Ak`L&pk1)K~|JP?}72|c~BkWP|NpKSKQ^=E%E z@-xVZUmK>uPe=aeb^hm3R)X=o0Ls^f7m@#O&(gXFm&efsgRYqW!m=<=f^9)8yY0s? zzA?y;BacNMhddtnpDX4Bly{(?Yj9F06}c3{Jt4!&#$udc z;1n6d{eSZRW8gy=-*=!f7q}-l z17BHR!_5}>n0px~T`HE^EU$x|i?Hr4z}LiuIGjS83CJgL#{2`!&+EuL8sf_r#y3D968M=dqiC2V9S;QQ zjWa`iah;_1kRnT`k-3%(JVgz44`vlhwE!&&g=jU*h|qSV7GVIX!7xQ5CAc$dn59$B z1D5oxk(T)Iks!+OLU$GowZw}CTQYKnTYBJTknRN!TRP-qOZy@mfy*!>HNb$`Lu62# zw&K7!GIX&FUW8j=Fosb%`48ZWHpWvR#JG$CjL-<;>6V`9mej12)CW>hb5c@!r=<3? zq~TtX*|5M+zS@RY*wY<62Ev^5LQJ6!@yLf;9 z;(i05!@3W!6z3F5*TM1KKS%uotyOKcswLTL*R1YO_BeuduDUu_!{-iEiF#cTXE;>d z;)=Qf(DjXsfZ$#Tb zQFmI}#4tXvc2p`DaTny8v23x$z z+5n2WIlrRKRhIZdut626Q1M=+ZJ_x7&wCSZpVpycC;SW;t!=aLS@P1^sNaJvOcQ>v z47<-1=#qEUEE=ORy4&k7yr9` zD-0|5WdHX7@);jNcF1Q7(oNutc!y>qzl1yo`DNs}$n%irBTIUp?OuUTY*zvQDsmfdpk`Ix2V0Jf(?5CpMaJUz{cVmgmx=GaF5_SpEWu4%9RikR!;a;a-K$fz6G5wq5 zQ!Ia*ehK+B%ge}jS-y;Xk6cbZ%XTa2-zV3QtI6}^$K<9f_>KRlH@(~;E@=z-Prvye z^`_s>@@?cl{U`sZH~pt9-$CvocaooxyUEYVJ>(bUUh+$FANduzpZuCUK>nLNM1Dga zArF&B$#2PHJ>D9@06 zrbkDInmUu6$gX4;vKxs`DK({&cahRLn z$SDhq@xMXNWcl;t1ALvA=!enIp`S}W$nw|d7m{z09XKCL>E9tcvU~--JbhACwp7JM2o<=1}p7JM2p1LK;oKJZQo+Nqdoh0*nsXX;fl0F3sl&7~zT1U!L$|P+d zHY)sxrHX(8Iu_h~NBkiPvbdoO8O?pT# z=_CDQfDDo$GE8QX1IcU>H`HswO|Y6CBnOj&$Xs#=nMXcE=95E7+>)UQx0GlaK@KNz zEmhM_m1ZyO3SU zJIQY3U1U1ho$NvOBzuu}lNn@hvJZI=Da*rLwi27e$$Dj$TN)eNtd+EpcG5vQNf+rR zJ*1cPk$y5j2FVZ^CL?5&jFCxXGFgSZimXajBde1&$eQHUWG%8bS%*v^>yq`z`s6ia zD%pT+Opf6>nQWe0vDW53k+hRG(n&fPJO=K(bX0kPT3)zOem26AiMz$kwC*$NDWE$C?>_~PXJCmKru4EUo z8+j+0PTocKAiI;j$ev^dc{kaI>`nG1?;-n<_mcg|`^W+0zsOATelm+3NM@4{kU8Xo zzDd~zsRKn^2Eki*GBawJ(qjv_~s50k~@BV-BrC^?3Fj2ufoPL3zX zk)`AWaw7QzIf;CdoJ>ANmXS}BQ^;q?spP-O>EtxBoP3s?K|V*yy+6%(K4wTlEcfil zIYUXKkj+@`+3~Sl?ng3Xxp&8mixc8F;tzTLI4dDG*AH`jIfOb%iTAe5=QPeEE67*K zO7c~50r?uakbIq7M7}{TCf_8NkZ+Mo$+yX6xs&{q+)eHx_mH2Fd&$qqedHJ9e)3E5 z0QnVpko=lFM1DgaArF&B$#2PHSPVFCV4eki;R#_GDaqm$z&DsIZ-a*F6_GB8_f$T`i z^^+v-tK}My8Tb2V{Xg5#_y0#b>p$9=e!xH4wf{#u(`T|>FEWGdL-r+ykh$bTWF9$` z%qNGD1>`_7i+q60CLbho$U)>_@&j@exrN+HenM^|zakHie~=f*AIX#CpX5dIDbfSZ z;!t|1YrqI?!A`DTvMGGmG^N6YA?G)W693>l5nhCDhMmeWQf> z`U&+fvHpgH`fC#E=diwULVapN{mZPsF`-`ewdVBCWqp%`df5k?_0w2?rTL%E`YX-< zv#h_;{Fk%-O7s65>#sEbGgyD6`G21ESDOEstiRIyzs~w0p!xpGKFnM`3t69=P%ry7 zv;Ga%Ka@}}`#iIL5$p33>SbSO*1yU6p$YY}k2LESvpzqeUiO`4{adUbmQXMIRI`2w z>kAUMN(U%~n-&Ht;czta3yvi?f*{~GJBH2(`&f2H|< zpYUw!S^p$ra~u+zZR8#svyBXEem2XnW^9(5 z!<*h5huPK~&)b}qrKC)!q!HvYQpS@w4s&?3%=Dk2z4_V_oAsj*n{BppoN{l9S-%3Y zSugj*nB$PxY$Nv+nQdfPbDm{bGd9c3;Z1Lj!)$AgXC$Ykkd*0^R77qdWju-FFo*w= z_4`R_qu;kdNzyLSoAu`LmsxLmsW<0E>de?2&h+MRrr*Wa-%UPDjwXK~Pmq=Wn66F# z@MgU^U1q)M=cB!OOu9ZH{wZPn=CsMMW^9hv^yYX?f0)A`As;16$YbQ6U`LEslEkun zBt3>$mW`yp*jDZ}GV8Y@HtXfyB6A!Pn{DLYG_#EiYfhUCYsO}|IlSr3ahPq*@jSw5 zDJEq)C5<7^k}{seahSu)_#~OXQ#)o@OZU1)(3~7jjvz;ph2$u*hvlaG=m z6mr*_78_nvu=P7UWH2 zOY&y26?qHUn!J^4L*7QVC2uF&k#~@BvOSqbb|5>Foyg8)7qTmPC)tg>i%ciGlRe0u zWH0h=GK1_*_95>f`;zyP{mA>s{^Y;N0p$Ipg|w13(oQ-^C+Q;Hq=)p9KGIJH$RHUa z!(@bvk})!gOeU+4SCLi8YGie?23eE5nyf|EChL$XWL>fzS)aUyOeL=+8<5wL4aw`t zM&u1-WAa8aiyTPi@%;LjTE>2A4E?R-?c@-)A51<(=8{9nJhB&u8$tFY?dXH8Tm9hg?xsbO8%RiPEI4s$!EzKASA~%wo$&bmcWQkeM2ToTI@#SPZlWAlJvLo4v>`ZncyOMX3-N?Jhbh10ygX~H6BJUZ-3rZkNN8)$u2(KmH^Qz@MZ{{7K5f zpQLR3Ny@>Wq`~-$zwttn-eJYM=d4F63ZCn7|U4YSj%|jcuT3W)G|>y(K1On$ue0v*;1w~vrJJ=u}oD? zwM0SIudJlh+-p8M$5AY{xHU1=hh(Af|@F(db{7Kq~KS>|sPtq3r zN%{nTlD6Yd(x>>7v02G#338f9M`mz3A`wLwBO;MgPPf zu3o4Y{TqKsRxNu*6 zTEkicdbN7d+Sc086!oI@to5MRs29D~dM)%i^`h5XuZP~CUi3!mjnJm*MVnijLvK6+Z?)bEy-mI7?bh3&cc>R_Z*33lpkB0-wG*_9deJ+rcS7${FWTMO9okd9 zXofWd+DE-;Uu$1zKlP&ht^J_`)Qe_XGp&~RmU&73mz`N!Dw=K0hUTaj9c%~da& zXU&7=s~0V>7C=X+7cI0FLW|Ukj<$}57ONL6v6eu`s23e;9jozp>v-!E)=3(RPPR^l zmZ=w=Vx0mt`lS$^Zk-M-M>ceZbq3;@>P2T+XF+GH7oB6B12y`c5S?$G53N8pw9;CM zc!7G+h1P}8Me0QtTNgu@s25#oT?$>MUUa#2Idp}3(UsPf&{gV1*I3s;*Qys?Z(R@F zpk8#7brW>6deN=ctO~J)4?+*A z7d>J<0zIn!sP&jq^tkmn^n`lRlh%{aQ|d)eTTg3z#(Ktj7STEDIp}#UJ8!+96uoG@ z2)(3U^s@Cb)achn9_%X1UDRolzHE&CYuq-Y-x{yY=&wdJXhUB$@n0&F{DX{6YQi?7 zbDF5l=#(bOW^_g)TGb{U(HNc2RJR$O&WP5sNry8=Co^?ybrGXGf1A;{jA*LO=vbzK z4IRqF55Jb=A8zy{)6mvP8;dr!N$)X6k1ym@V-wNNHt7t;=m4gxt(!IzO}9y>FGfc%J#4+S zyq7IQDcZ-@2WoT_Cfd)|585ADbbwMc)0Qdo`g)Q-l%<8D*|uyH{)s|Ijx7h_yoE{r zzg>fExu_g$%d_R%3ZU5FZH3Sx+i2BdTZwIqtr+oG+jwZHZKCQV+hkjrZ4%-swyDtR z$cC2N$`Q{{FFMmU6FN)1=xp0;=p6N;b8T~>^VN%1*ealv>O~jW7C;xO7hPmq1YN9N zbct<=#!GEW!DSkYF1Ia*u23(!(zX)1O1!BOei*B-Qf^JqXy4AK7 zx=p?44%-gsPW7U@ZM&g+)Qj%5?bUdnZJ+Hc+dq)ZMI`WL^c#pWJYXsqbTaN zd!c@<7Y*8j(6D;Zs67fbZkZ6RVy^P0i`8PGoJMf=+OLi?!~?Qic79iUz` z)1C>b$X*1F z)>yRIUJNZ!Ut%Al9Ah7=9BUu16fL!vLMN&hon)T`ovdE8%w7haqF!{WeJXUideL%w zxyCc>Gn6y!GnKRKvy`*#vz2q~b1--Byp!Y)%(c(eqWSjuDEb6NjtYAP!mlK(v{xdW zunge>`vQb7O1RLz5aAmL1B>j7bnwOY#VGnnik8@yXwg#pQWSk911z&IL-?nJ%k9e% zKK(8luCTArhAZtWQS=6i9INcB5dJ9P8v7b4U76%}?X>T-?}iz-I>}#qj}9Zc*S;6J zPrc}V`+hWf8;wE-v{3Y*{U8dzLSgbD`ynkpVn3ohYCkIN*ChE5JC13Ip|U0(SAX1o zLV3b|Qfa8vpHgqA_|xi7+s`OP&)U!0&)YAmzi7Xtykx(uyo@Ki%TQK_U1@hXl}?9S z>2`RPUWZ@lcLbF|M_3tlM3qrTk}}CrMOnpBRawm^(TR2)MTRK`QTRB=e+8}D@Xs15z zh%3_^Y08d{j>^uC&dRQiuF7tXZpw5=y0V9(hq9NWmomeVq3q-6qwMSGtL*3Kr|j?O zuN>eQpv-h+Dzh9}j%-9ZjvV!a9fOs*j$CD)BTt#{$X6CP3X~%pBb0@XLS>PoNIBXu zT3PHUR+czQz%d$&j&+Q6j0Z~{rH+Z{i~Nm`lKekeCpjiLCZn{>QRbKePIXL$PDeJh z+)<8rhI-MNj+xL|>P2TeW<%$w7oF>v3!SfCw8BvVtyC|%z_9?jP`&6P$0F!r^`c80 zOQ1{Di!O64gDzJuy27ynx>CL9D#t458ug-U9cwjS?^y5HfM}CrlVdZu)v*=xJa1!? z|MqR#Ky-&=hhwKYncdwQiSBXif$mkm*RfA2y5F%MBl!U%dChY`OAj~>Di1miDGxc0 zD33UfDvvsjDUUghD~~%)C{H*}Do;92DNi|0D^EMlD9<>~D$hF3DbG31E6+PFC@(lJ zDla-NDK9xLD=#~&PMH@gKEH)_r&H;48a-UNokq_VUZ-En{m!5==rnq;2s@3QE22)L z$BHCp6|Jx0GNI+$sO~g+q^RjMdZMW1GpJTz>pN4GsZOJZi3ZMw z>Ki&6DH}N(D;qnTD4RHqo)nrnjUE(QIE^#KEuBV>39Xz)PYJD^#@XREPUGxuTc^<@ zf@s`n^oEe;Ow)08baqsBb{f4NbafiN9dvVc)ADp@y0VAU=+&T?)9B40!)f$l(8t+F z>-#$UD*HM6Df>J7D+f3SC^Maz$}DG=GTWK0%yH%@2RjEVbDg=$Jg0G1JKt%Xl`e1= zX!!`|2xXzOP+8`NLPH|3APIXRIPIpdMmOIOpGn_M&Go3S)vz)V(vz@b*bDVRObDeX+`5KE>I4hu) z>O~hg7eE)P7hU9B1YN9Nbcu5bbg6pLWzJ>L7SdeJ@3JWb5J*Zyv zkn<4qhQyi5cgaJ9P2h1YC>zN7p>!}1FfrGw7#o8G*!K516KoRL-nGKT#cZO)r&T9 zHGwu$FWSP@0@_l&Xe(DMXlwPNZCq`jZPkmmbG3uU)r+RN(x4sHi*|N(hIUmi+RfDs znyy~7hpPv)m-=3=45ervS089!^`iY;{hC z$u$W&S-ohPs|-3tz35ceROoc|qUEk~=nVCuGhH*Gv($^ucFl&)Q7<~zH5WQxy=aB2 z0$QnFbb)IDbfJ3DMXp8A#p*?uxRyYdsux}6S_WONUUY?P1$3o)(N(Th&^78s*Sgk1 z*Q*!Z;MxG)q+WEhYcq7KdeLpJZO|R+MR&S(LU*ed-Q(H=-K$=7pKBjO~K^4ndEo7d`4a3O%M?^tkId^n`lRldhA{Q|d)eyG}#Ts24r!Itx9gUi7@{JoJKk z(TlE&&`at?FS{;7t!~}^p?0?&>Qpc4M#A>5UexdQLxbu?!|pINs$Mk7odm6-UbL#a zDzv(K(VFg>&|2z6>$vN&sCx>{P-U0+$>ovKWAH&8ZkH&ixsH&QloH&!-w zH&HfmH&Zrqw@|ilw^X)tw^Fupw^p`xw^6onw^g=vw^O!r$CYt+nljDZQQ6VmS=rg$ zRoT_uP1((zu1t6LQ1)>5QucCZC^OuBlzrTNm3`g)l>OZOmHpiVlmpzE%1n2bGRvK< z%y#D}bKHZKgWb8xTz8%l8h`pglK(erzB^w_3fu+C5$+MnLU*CE$X%oy?H;Wxb{8v4 z+$G8}?lH=-?y<`8?(xb}cd2rsd!llZdy;apd$O|3U8bDko}!%Uo~oSgo~|r+mn&zu zXDDa7XDVm8XDMg9XDjEp=P2j8=PKvB=PN7R70OC?rE-CLfpVdHA?E#)@9-@<=81Xm zg}p(-hiVz35Gzo1izV7rn)E3-ng?qPKZ&gWj%Q^bXG*(Dv#@J9s)k zJE<4#;^_jtQ@!Y2p1Yvk)rDI?yu^ z`ha@T2R#o$2dNhw;u!*cNWJJ#&rs+v^`gT)!=WS9i;nV)fP4q{ra_-oFZ!J4Iq381MPKl| z0DV!t=u4iLpf9Tzo#&YceMPZ8v3Dn(RH46(2vxMZuD$~eym<}i)Rb;6ZN9oJ=>w5su$hm z*#-Sfz3Atj&!Jza7yZ)nCG;!xqF;NyhJK@7^swhJ^jr0!-+8`+ey?8i2hR`CAJvQg zP7$X`~m$_z35+_zo37sSM|!R88&1?apnlIOTDPa z>w)^ziw3*_Xh^+i#2bOe)Qcv2lc86s7p>;42Cbo9^lIt%g;&v58V%<1Y4`B zM7bJ?=6Um=`RYXryamt^>O~8^h0r4PqNBZ|p~dP&OS~n}G3rIfddEV?s~0WxmO>}0 z7oFst1f8s2w9H!uouXcJs&^`Mx_Z%aZ#i^^deNEQnb2A4MQ3|wL+7X$o$H+oov&WB z!dn5YR4=-~y8yaSz33wEBIsiEqD#C>pi9+@F7qyfE>|zQ!n*>xQoZOZ?<(jT^`dLN zYoY7ai*E34fNoMRy4kxKx>ddCHt#m*4)vlty*r`1)r;=&?t$)AFS^gW54vBy=mGBm z=t1?OhrEZNN7RcR^&W*DQ!jeldmMT~z355rN$4r{qNly5p=Z>Kp7oxEo>MP+-g_Q; zLA~fj??vb(^`e)(m!VdltYxBhpB?H{FY5NWpV)zypE^woscQZHJ^R|i^Gy=Z-3eQ2tB(FVQ-8aMPcR5tQ8Qa1KARyOf9Q8x26 zQ?~H6P`327RJQW90$Xd`+Sf+e#@ANa*4Iwi&KFn4eQC-xUq@v}UuUIgS6^3+yZO2) z(|zg69=;yRUcO$+3}1#1w-NoGB!7~!ioc4os=unTy1%-zroX1LmcN#=j=zqw zuD>pxFgxKAmX^J~Kh=L7N*nnb`rfNlJ3{da(A{*L}GU^jodUmhc$;qT*@ zXS?_J5AYB4XCun-5An-W)${$s{ql75BL5?Pd1m++|2TgsIMM%A>c!DasC{`bLE{x$w};0FID{}ynYe}{h;xW~WO|0Q_9 zf6#x}e-zO%{}29?;3@wv{6l2GvEpM!C)W~NCK+_ss(C-wE`*7 z`hnEIbzq}F<3LleMWAKi7O+jAZQu?tEzmL01?(0`5A*~x0(}Dag8c&n0s{lth;jl$ z0(oG5V0fSqEDAglC;`U=#sx~jiGimAW#E*+v_LsHBk)3CHaI6R4_XnZfZ_u-P^nxH zcq6bF(c6J{0?Wbo1FHfb;=#u6j7#?4ygsl#un~ou1KR>S1ABCUJ%PQ-y@7qoeS!VT z{ec7E!N6e*{3`}_9Ss}}9D{jwe6s(lx4gQ#DyUvL1J70e1g2o4So*81FFZg41~f?z?gFgRMvMhAyd3JDi@MRRv4^{>j1{dp)i-Sv)OM*+4 zOM}al%Yw_n6~PZM@Y|D;{hl>i42|!CjjUC>Hn?61jZb?Dtv0BI#($lh?00MmZbCS& zEZP5uW3yIm4sKO$4Q^9z3+_KAY@^tXD@=WlI@@(*|@?7wo@_g{T z@1}U@^bL95;u^BWaYDm>`G_I2^MNx7%Ea0g+?n!hl-WOp%P_DXpC}9 zXsmKVpj;4Is9YFYq+AqQtXv#gqFfSMs$3dc zrd$?Uu3R2kp;siyBpEImjw+MFNy;i=ebT(8YPhQU z>f!3jn&FztTH#vCI^jCXy5YLY`r-P@)Nrb@LAZgkVYs2PQMi$^akz09+kSbn|7B|v zEfH-NZU$|kzD2mDvSqlHQnYorwZ?72ZNRn~i?$25gT~d1riIg>9o36=4tIujRo^w- zP1!A+u1pX2P#P-BqL+HnjBo~~^7ZGE{h>ZuDB3sN7lpr|Fw##8`-S@}q48-mll{Yj zQ5lUWmMS!=UNkA11g)Z8v}&{}w7PoHn$eojTIxmXMC(B7su!&vtq)CAFWMm5Ac_}# zA=&@4y`h$hHi|ZaHdZg%B-#YpOucA}XbWgd^`fn!t)Q*di?)fjfwomI+Ai7-8doox z7EOb8R4>{&+8Nqay=b>+H)y(g(H_wr&|d0AGol&LKI%pLM*BkhsTb`Z?GGKGUNkeB z3C&V3njOuC=BO7P932eJRWF(s&4cEv7cGbuKu4$-EsPdIi`0vbj*f;Fs~0VamO#g- z7abcN3mvasv@}`@ov2=PQgjk@vU<_7Xc=^hdeN!TsnF@_Ma!e*&>8AQXGUj2XQ>yR z9i0uGqh54wbS`whdeMq#1>W^7FD3hLuhc@(1kU8?a~ z`&!%p_Tn6T5U;ndNB9xKYc|+7=uKLi?3Wz|r1 zW%W=^WzA46Wvx&hWt~u6W!+GHW&Kd9GBwmd*&x(V*)Y^d*(lUl**Mfh*(B6V*(}sT z*&@_Z*)r5h*(%gp**erl*(TIhDcUa7PUCneu1pK1DLaNbDm#ZdE4zleD!YZcDbqvg z${wK}%3h&f%8XEkvQMawvTvxbvR|m5vVW+*azJQ+GBcE^%nD^GvqRa+oKTK(aA>eH zHrP=RtpXawG+ahvcixd!OxifCpy6Pl%7G&`IP%~3BpI6N4dt6nrO zoCnQUFIo^TfR0cvS{N>b7O58<9UcuWRxer-E`g3wFFH0n7CK(NXlb|P5GOw?TKP7u^}&3Eiz;bWeB>bgz2Rec^r3{pv*zgbzRusuw*J zJ_J3YUi4`ADD;?m(c|Ic&=cxKPliuIPpKC@9X<^`qh9oE_$>6CdeQUY^Uw?GMK6Xg zLNBQoy&S#_wQ7$cqV|X#>Qpc4j<}&-^`icW9~x9I8jggaQT3upktApp^`ccHRiV|@ zi`I5+70k4O(?uShRtMkGVoC(=jRH_}(xFVauhKhj@0ATmIi8Oc;; zMY5FHk!)p7Bu6@|5|Jd}TqTKsh2ZLRlCoR2D^wl%pe~mBo=_Wl5w2 z%j|=l_|zX08H4ag3CBjpA{@6L2cNd_+D^1IQVN}@UUX7q5_Gb9(XvPxbc%Y>sgbGB z>FPzxBjwN;>P2TpW^`eU+i=d0u zi!O;Qfi6`qx-7B`x?H{JipUD+O7)_vBCDWl)Qhf-tc9*uFS;SJ0lG=O=;p{~=vMWj z+alYbJJgHrjO>K&Rxi3IvIn|Xz39HkKIne+q6Z=eWT_ua_J3$SsHLKZB8Q+y)QcXC z9EBcJFM2$39C|{%=*h@Q=qdH0rz5AKXViP6Q?*Fe{* z7hNA+kCA+dkyP8Dg`%6Ho1mN3L*wJV$39}KTG4IMZO|R+MR!JbN~7b+{(E<8q3E9I z9_U{6qWhxzp!?N}9*7=*9#k)SD0&EbM7`+I=uzk~_0af)Q#iqPJo;nw6pDU{o{jzv zUWon`y$sr7u9z=|!?;*1b`@A7Rx6eQ){k8qYZ${J`p?P!Yj21(i8V)I%h)ZkHsI~C zc&r21Id*3(9qbv)h~0z6Pn}Qp@3Qto3BFLp`YZd#1}F!_GL@OJEM-Okh z$4Zr@v5Crwu}R8FvB}EGu`(qz{`7@p|90z?*c2_98k?$|9-FQ#kCiKD#AYaG#%3yK z#bzmI$7U<%#O5gH#^x&L$L1?5Vin5DSfz47Y=LrNY@u>dY>{$tY_W1lY>9GdY^ict zY?*R-Y`JnpY=v@VY^8ElY?X3NY>jelY%S(#+@)mysd~NR9Wt7yWDm(2nV&U0C8Jr> zroNyx3-2i2LHQwTk8$$Dd?UR$87n>Gg%h#rNCPD2O8GIrk^VsWI>sCEyZ`C>y$#p- zA2NUEj!)Cav7N9@I{F>h!1$|?(iwn}9$SSI#2mI9uPeWcm-Hk0a0oDNI|^HxQEb_c zZWiz(DNViZ#%Fbk5g$c+`OUnf{urnEboIsPo*}~W>6rLkMia|3c&)9Bzs9ig`*}&1 z(Wk*DMrb*MdECNyAm+>Xy**B3+=ovNPQw>?E#n7Z*pe|{+t|Jg%f$Gh7(S)&T02;N z0ptIa@sAk)cE&w19^(gOm`03eC(D0Ex%uSq$1$GPoX%qy|7=dfUQB;mmcNGijWcf5 z0QVBH&1ejp#_~_mzBA)acwct&wQfRt{Af*6*KxRGi*1Hu*gb4>7SnHZ!+^a5`h75d zqmO+N=H)ZC*@bDtuh%r?;kArkzu^w7N2JpRBelcp?q$3U^J{eJfaQ(%_cac?2k|_{ ze@w#(r4(a;CsF=7%X2Ypy*Ztm@mlwqabJ8|v&{o&b05psq0KUD%U5F92id*}hJAqXP`pPkuuXrwmeCyrKKHP!4sblJu&jo&{nuDl z`&r%u>k@wdr>Q!&mtk!4F_y{KY_kjV`!d_~#`q7id_CGc!uIJXFJ}A>rgIGA-c9f= zi}7eo=kpv-C$vAp@w|fRv9rx_O!K!apN%%}GEN(ZJFXb-Mf<~y2NmGcqOM^+#4=pU z@o%{YcPO#V?n)dq*E39$ak!s}@qO5)oP6CR%=Lfk>c_U$lVZoY00jHe-A>m-(&@pES!zab8? z&2@OMk8?b?BgP`qbboW)mB)A^-Xr527WQE)u`lH`jOd7O(OeK;l;CtGUu$;?wh<1S z*A)jPT!y)Qa3>er{Ep@GD%(7VHhb9S&bzS;F}$P_l$W!-9oDgfeBD7q^JW{YGy6H7x!9jXIi6c4Z zgJpG^|(jIYP^pJO~K4aZ9yb}`n;-&uYX>*RZkFJK+8v5k8a?q5wYD&EF& zu4MT-EW?jEZRLp9G4^2je8G4q=65N_>8-%$JL6yRUNq-8x6a3YlH;s`?X(u-2^i-V zj;A%=BNkgGVx9l2t}&u2SpI#uZ0}!*b%2c;j>A5@zR_l4Uu;K4Xc>xOpXIPmVcGWM zup!K&m+cQ=U9FX343LRo&A59JwjB;TVI1!6<~aYrw&Ulp8_*t?STv1Bd~1pk@5DH( zGtNM{8HX_a{W%RIP+o&=#$(#DSY8*?mdUsamcu5_@+!&}GoFt1$GEnG zLhwsfSzX9vUMo!P8n8zH>R}IW#HsgI;aep+29fUXTeYPKl z>DkTr;=R(tmyr_V?pV*iwi)F`Y4|?RHrXhzSJyD(unz2I?8fr{lWhi}d^*c_zK=5> zEN_VAGlJ8$65H$rmLI^j^E%`A9>F@vX{&P|-Xq4}Jccv!9QJjz|BLOHV|iBNYYiHW z&px)dV0tdG&9B&YDj8Q`*vpJBJca!l$61JF_&DPoIUQ_*iFy{?(GbUB;3Bkp4x9ip1Kf>v z&x4m9#(obx2fhG)eH)emc;-fYzXNB_Lk5fRdM|;C-obY<@CLm2%V7Vx*q*?@}tg=OlXIP2T|jW_#n@LI;dz6Z~*2=a0c@7;ZD@!f;!_6s&Yx!A@)EU}weVh^*#US^4X%o6*VB@Qr4 z9AuU_#4K@`S>gz@#8GC6W6TmKF-x4xEO8ZPiLYXoxGJ;6)tDu&&Ma{aW{GPuOMEr6 z#I=|uuFWiQ9cGDBm?f^uEHSqK|M_sox@M6q=^AEBXb>~Azn+=5wR><2VU+>%-1o0%nU#VqkH z%o4X|miSg?iLtG)PgmpM8rznpwou8EZfBMl`xf^3iXRanmMkgGEOC2giPM-R#{NmO z#2uL>?!+u{XJ(1JFiYH(S>ijHCGN&7@mEb(AwiH9&toXafnL(CHAF-ts@S>k+ViH9*uT)-^xaAt`| zFiSj=Sz_#3*)6Zp-S;RdL@HvI_+e&=@mZi*VtoE+mbjQ%Vth_$mbipj;>VaJ9>Xm0 zA#fAa6L5oLrQ3QPL~OvVKUaK$h)C zQYEt4<~78!TqG?-zAjrwuLl@eT523rq%eL<+T3llS%TP{&ZUSOH8I>fh?^rzT87+0 zBjX@L_P>&rBg=a%={;oGRwb=Kmi@1!_mO3vD`_RN>_a7efGq2oq(#WL-KL>_X}g^Z zWi^VLHIY54aZu8%i7`bV!na`gI>d2gN$Zi#_@jh)LqfbUA>Nb_e=ITI>&=MMkR@$F zX0aZ)nDHkG<=YbC?TEV~OWJ{K#-Ap{I}_sFh-Kd==`-XW8W|`4&G_?#^1TW17YXq` z#Ih|(`V!e3c0b}iQi${wvKb#ph`&yV4g<}xHaz#&VI$Tvz4dQV*8TM{I8Ua?z$Y%PSF^>ylhNyqDz;%!@f~am406 zO)jRHv0OMZ_tp0&#Bw3X9KT$6G3P}tyqK|Ecrjxq;w-+doP;yqul6V(%5ph@YQ}P6 zhO4}ufH7k^X)%iJ<%{^EjOE0CJ;w5-+$@(bh+LM#_u|C_*TT`a+3=?*({d}IA&ZOvAO-$Oo-(oi5%-liYCNza@X8W<%F&o_d;yG zcl{8X(<3KZ%x!H%LY$3wlqLS$>MDN!@JH;H_uzZuig)~Vl+?T$uX+crCD#NGV>7tU z?T`tv+;YG4vxOE;=|K>Eng1s7TSolCnks&;^eHF_9T~3{|F+htKMZd}PlNF%K1A>i zf@uh>7|ZLRS9%}BM97fa#lK6B`d`EwJrnAyKDQSBJ=A06lBsxKy!2K`|24exeH}hN zZXN2R|3bSl?pNV$AK=BeNPsR4<3AyAt~OdvTaQ?JH^f-qMQr;J4ZcJWl+F%i@+6`1 zFDYC1-(~YY!b`1Z8QN@wcYb7y><6inZW3i2sC#AuhTr(#!@rF(@23B>`5fN)u`&D~ z5=-}r81|)&n6NFFu-6gD@>>Ub(d(i)|G&ToKjDZt!Ov|%8|jLX6YxH~Z97KtwFEm5 zjQbeDrwCq^0KGNFw;=HD!Y~}iPw-CZwh?Q=w9SY=LyUIsN-P~YVp_iZ|9E>3IJa&i ze>`l<<{t|X4L*eH%xUAp8hDlST7Th_`+E{)-`?9$?rG|63Q{lDLxd+)vX-h1!8 z_uhN&z5D;20q`F1_(+ko5`RoB-h03R7z_r3nZW?*?gu&Tl>3stQ;m(iCeF zg!(L{UzYiIybEcHJ&AUnO6gZ+{yQm6u_yumU8K8T=d@G*fp_CO#i+#hYmpAV2>>rr z0s$-M?0OFpZzFLgB@nuD&b^d)7l{ukfgqN14!svp-?yP&iFZLnww&`UB|b!A$NPXg z8RL@cI+dP3R;5t)op=r+_T`*+k%)XM8+73PNK+t8WVn>lpUd>KNN+anHmR@q-B9E^ z6eROY{5H5p&a`)j-FN?hkoZINcM-UU&i6Fl(YjC^bl%Om@qx8E4+yOW@p*OpZtVs* z{C8(I@||~Ak?BW~uB;~0FCt9=`slw;)n6H`4=;Wx^R#aj`Oc~v$n=^>e>zE~Cm{Ws zDKb3~={- zHEOOZYizX#Pb1$_AmKMMEq4Su9T3*Z;TFN9wh zzX*P9_(k!ffG;upDBMdYeiZPf8^0d>R>6+~zO05Hg?m{8KMMG=7Jd}&WgYw|;LCUM z`yPJZ$BzQO+=}+hdG_J8I{)u?xyX0c8;N{p5`G^dy<{nRiLd`dEyifV-zLa=BmQ29-?jKXi*Kvq@1OBo7vC1*?=WC>Ax(EiO~rE&zZ`x)!0$Ko9{&w5 zA1Dzgwuki`Cx&^>>N-yQTX3NA>ql>hGV`-zU+FWB-h?`0wy{HoJI~$FG225x=eRE8$nhuY%tweq;D8!*4l$v((uIHjYQpmW+vD&@|642?-ek8kPWfXf z_su1D?fPF2F1zrTC!J7y@A4N<{c_F@Up-cMZuf0|{j18s(I0om{t+6RSp4L7Crv!1 z@TWPao?dz8*gvO2zrW?i-wd36PJG?)TIanm(!28+T_;{M@7>oHZ8z&rYcHMw!u#?m za3us8m~-IMkW}{TgvuPhGq1&`Gw~)sat8jkf201x@H_*)_HJI14Z{5#h-ZdyDiW*j zkJ9uXLAexAh+9914`C_~R{AVp0``gc8$1ZrUWr5xReLagx8A4Mh)^|Fy`LV*%bbKtE%?4uXA)5_$IZ1p7b-200 zx&+>5Bl-ilZq#Eg>rfw4Zww&&8{0xFV9xKyG{)--&;LBQcjk##Y#FKA4*r^`NFdAuVK7P zB`Rrp`GZJeuu!V}(5Q4-DO*YZ2rtUx;?u$Y(oljIItmeMSB=eQr z^r=5-FIP&LN_Hgu)9>ZdLy25=qzLHixjibU(@TG*TkRlH^=v&oc>2T7H6>)%U)yMW zDP7KPla3Fk6UASwWxO9rk0guZ@xkm+?|0K9L%F5sd?t$?lq;!hK0Y{_$)rmn7O!km z21>Rn_jSi}1$2=bjK^Pg#D_*ydg6EE2H?tYsjv)r^Fv#W6n{0r{G^Z@&z9pOg?yn> z$Y+xq^tc@^r4y-NudANZ`LS%NkdIUI%QP;NR`-0tyMDaWs2|PeviYTn%47rk)S%%63f-!m{OEJKS$_(RGPS!HhAcJfnS;@^Z zfT69abiPuaK6SRyJiJXVOZ~?hZc{ReWHMbYCn~?`c3-AOi@)utq|23obOlKL&!44B zrMSd%qIWc3&JN|%sR`M9Wup9NgAFzi|J9btWlHJv@7m*WIo5O9Q@Ih)XdyYb4WyS# z=jZ)w-jd|T>HLyJX=wIrrsa5{=t3k1Z887*AYt^lP?`XYxF2bR#fDKdh3em^4V8dW zHvaj%KaOlZxYd%xU@kp-Hdhxf3~trywhk$=$wbt=1iUei(JjrMEjxoR=~6zCivwt( zB#TgA7OZLK&Zn1Gdd2U*kGJzNJ_8jD;E1lQm>5d;ia-3sE|Mz@d7&<(CMQRVn?``A zL~66P3}ayPXtr2FOEQb5pevguviW(rEQW4gAzv;~pOX9-M^i_#nA+*yv61*tt}vL$ zmHWgNi)z#xFON>%r6ICnQl}rB5vGC@03! za^we0R;8xck`4@JGEq*WD_eHOfz!1(~nX6qEdOYLMlBMAZO18g~qudTuA(RwV_-#p30Vsxx~0c=zl8`$owUi z$^nr?V1Mn16Sv@2{Owo%X#8Kl*S+HJ?PZ1kf3#&XxzX})d^&Q@Lu)oF_ zKr@jHtpY<)yrkX^Z%~j4tVhdpi3+$i(f$Ux+}Owl{nKYonKi3_`ixn#rq7r;dFrfb z)3R+DUKh7wc*XIhZJ_wkayqwOYII}-BbZ1ItHS*=r%sO8?Z6 z`8EM13nOSpI-VFTg9b7g;IvZEltj&Q@L@cN{D$bXG1qDK#=+RZanrq{mCVd|u|lM% zb0LYjfpudrja9v}T%t)71iH=yfi6 z)E9=iFk1#WqNe09BTf_Fvf0RH&AjArI=M8S1GSE(<5cY4{{BRk5m$aeL|LA zF3h*HXV>A^UkNUcM+%DpTjO`D`UV0+OMT zE2VX^PyByB)RPIB${5*lC6`?aHY^+XKT!-=9@zSSkxV6>%l&VAM$Pg6`w^OM&J-*$ z@f=N#cxG9uS8N;jz6%+X7~?Zk8P;&O3ruvsrnepi2X-d7Ly9!+@?rbHpDq zS`D@;7xFs=A{m!IfrLyf%H zJ1|EU|0Bv5Fe_+TP3O`hkP$GGM)B_`IE*#s225UO_X&g{P-XW;OMnzLyHe>)yj)Bt zvski-a3r@eIH>^zE$b8e)u1|vTNcrAmHP*NZR3tQUXOOf0fBWicXlXHBH_S5JJ?^5 z8hKEFmUn|1%EQ@A1@kmhsiH`li3fX|kt|>r0tD;aR)49)A%RsuTqf%|G_WAPtW?R5 zj>tmm8;GI4`aJVUy8loma@{>F5XFj^Df~60YT_TaQm4w|R17X@092NMPT%ybAMC}#&=)h{pM4t9h*gs;M zS4>ofj|sGm6_Qv1j}81tQ#EtEWPCVL9wxF<^Xa%i2rJ+5fpt+jMVnmAhg4!bU(gKp z1O}DKEITm}Dkf4V1=>MdXkDUsa^Sm0A({fRAOSxm(21Q|DN&?dTk_O^M~Wz7(an~# zkN`5J!ieI6Hs^3KE73wgPYck_!WG9CWRkOI+cG3x^@`IupRpp#ooqb4yhx+2g+_5k zfVK}0P#3qI|k{C!EQgvYn(aB<|OluKFJ&~+n z!ig)uecc5|qi%#y4}6elI8YfG!1gpbEb$|*3}8#BBt|TCAksV*xfC(vN-r-gR|R-) zFDvd=!Zpcac)C)p&U2^Ri8-e-* zB%i~yb5#vkSM>((ZXPFNlFE^gTQtRf^?vOhmV#*!BfM#i6bfK(xDhlq^RdGK0%gs9 z$|2&L_d?`y24TxQhP(a{+!yFZKTBW%BxjAL?+>)aztW#rj;Z(W8QiY zDV_>U^)#T6hu)GKfd(>8?UBXX^~KYHU%L{hTsq`l5o#m-L7`cRq|XGTuAn&nY#;)L zk;y+7hyk-KT5R)tU{$0C6Zw1^OB-vpUI5|;w;F|lWqD0iwD7&Lh& zvdP`XYk__Zkk#YRVva(s55W%q&@2YTtg%L+pm;s-OB?kpY!^lWz}z>b_>FiYu)due zgbSGg#H+XGXc&QgGcXewiQt%zgX~yA%DNl3Lqr%5!*mB^(YFFZ4<79+&~%3sol(`g zskZ~G7$Ziijdub+LB;M!F!Lf2Z4+!xHq2K_<9*^?-iwj?gGLI7#^*RJZ6m!XO0PGj z`G}sVN0Le1rzH?9JWt}i0BMmigM4|NF>YSUf8Swz*6=Q|CT|JI2KI0t?)>9>Y7!oO_d@h-j5D0Cb zV=6#&C8p)3&Hjd{HIUY`J8knXJi#pi?AEmX;C}m-;gBbIgDWxB_@j zd^m+sAyFoqABH`LRxaL%_lmCqQ!7)(n%EbO6|$*5@pYgdn`FpmFmf1lVUR@?!xrBJ z1ST3;B1g+us8XfGGP&?fojPsOtp3R}Ce7%dHEqW9sgov8-8Q(kGbvGIJO=|S7-+h( zUGNVhsc9sVkrA?&(gYD=yh)Qrlf;BxS<94}lV(kwI&;Ph7!D>+nbJRf>I|`c@E>x6 zNBUqIm*%#2&K!`P_1W$15bV=SEwu@IoowyJcE{lQX6D)%cM7V#zgF-`#vz~F2}`XK zI|pgr&CP;b9==e!A{aM!9E>_bz#ro z+RNa&KvKO@`Y5Z}Uco>F?k8}C`9&5Hl0fy5G2EuV-6q-8rcI5Wa`7BHa|5hdhkduY~B zMFoK66)g@8@3o*Nvr3Ml4QWdq4@qCopWJ2{|?xE)SNL9v9pK?0z^gdD?WY9Q?c7%R|o`+Z-gLHiuvL!%{qX z(#+{orca&TKV|BS$&)8f62}MEz`8*4LY$mrl(y!CU^^L&^SR{G6N98JPvi>yCk5Nc z?IksKa`0!MZ_qK-Qgg*QB^b$!z%X)ZaBYXc2SFiAC7F#5o)%m3JUCF$BL z=qP$IdNgqY02hiCrIVDxsyIE^HkgIBZ1{|zDQzlk5lh;sK~z940piTyUqJb+kbt=k zLQ#ojQfDAsI@MxtHLFyLiK;TNws#MxlEmK^Ku z1RY#q>Xvi;h41L*zwf0zj@}IxFA@= zuESP+&4cl(kOM>KpVM-v$M6rS$vvjdYNv{Hr^nnt#(?XxPG^k9tn-}M9j#&!! zo+PnxG>2(A2*n;qS_u)Dh2A$xa=r}Hfg2+&5>kAJ>&qaP@X|0F0ayu%=CW{ZQW?`5 zN;_tVK5==FtQNFrRoKF!HOyd^gdhDujhAY}6+zw@K-KN8BOZ@4S>VcGY^YSitutu z;_13zH~6osIl4aBL(go1AWAFW5bVGUpeqY;=f>b_ctDStVMFkNW8zK0KWUNMvNd2p zoH<9lz?Q^4AAKz=HwV`+gcaKDkYna8!PQBqmLd#{4MlMG^sT{F-Ir2JbDMmnrllK?^~iO{m`*b5{^vZnRota)o7g2jQ>DA`fX+jhZt zKWITfb<)j1XY=orgJj}H;)x*H^guCso083AGs7M=j@nW@8C1$sok^S5aztIej)>wZ ztPd7oT?QM#nuVSY{?0DM_T<`L8&+Q?PN4C6hWA~D!AWgMa0f@m5z# zOYUQ@c#d~@&c;mY_RxfzmV;=iR31Y6*0S7l2Mn zAxNG$6*wj9x5NQd20gQ143evZQ4y6%j>6U9r5f^xT-ueaBGqj#2gzB^lt<(WhcTBz zi~K4xzfvP}3XYpRE6vQWf{Xy!+C5^ROKdU+>ZycyEeMZH7`n&R>d#A=c143FN3YSZ zW9LvSpU(3JC}pv>d@8XS5|LE7T63t@gLo5rXUoZw+N0KR>Fmhe)c;^mki@^RMWvTx zgPtHa8f@13#9OZVW2ltHb{CpR-txX3T%GhH#Y7e|mVWt8uw5%A--Vci^9sdWCZBpQ zxEj)E0FEs|b;0|<_k*j@JEcD%HNXeKEit_<{io8Xkle)+j!Y(KrkxEhJd?$G6dwko z#I2U*(jNuasgMs7dBwzO<<|%hA7lRuo#ZFMb}gEH8Vr?(OP|rdxzB@SW+s8^3z^Di zb6*DAq_X>~;7=g+GIFKNF=gts88atMnhslB|MW@I`ln8x{&g@^EG+vb*j6ZKaPDH; z5ZU!;ZP_kFn`3GYSQ3vg?UA>~_ra~OxGmp-Q}|xoF+>|?U^-XWDWo>clXedMl#z;l zNR6N7k8(sM+t?-aJ*gw&#f+1#1N5#Th*gfdh}?2YyM@*?BrRubcMnN7eKsH}9n~J8 z7}_TJ&z>PNj3K>O=(`Zu5@-SNJRiV-XztMrKwqtipq5mzf2aa4sO8HOgW0kE z*|XzpPlV)1>$>A6LY5EKt;0JQ`mz*s%66gDI7TF!lma(7mJt0xq3*0eOhfEVB3~U4 z5|-gg61ujK>pPx;_(vQW8kOyp0Lc)=rx=S;6^RKu=FlNpsvGSLzXjDC24uD+-U+>ZLMu*%I4ZP> ztXE2;TfsH4g?d=}J36$L35uqXLbz^ivkgbNS_5!QC}me>Z%taQ(Wd`CacoHKQY3na zZ<2Xx>rr@i^orv`6F-UXrG`T&HVV*=Jh!(qfo zs%3|9E-noHz%I|j#%Bi!3m1iyD~UcyTr4VuDQ)~r9WdI*vB-tTeI`V6fud4XwxBaBade)h|5DzpC@_x>W;imlXzRz zC$0-kx4{i!PT{C&p-@x?7^a$P4a4;i%;$kSvimnYj|b)w#4HZtzzRWaB8OFJV6WXz zwT#^WzU08-MRCr+yafwD;y!PC#f_o4`h(K5pb>IGL0^1*&m||PY`ld8r@bjeC!@fn zZVt600lQizbqgnN7QC~ZT!d{^klbo3++KkU3b&>2t2gR)webT{RY zrdH`qhVS6k;JZ4AnX;?I4&Ooi%%ilN>zb;m~RzIRpry5Dp-N0#ve(gxb*GRAJ=NP?y|&6*4%` zUU@9EDqLt}@2HdTp?N$+rmaMoV+K6Ix)fwAKFKMFjK!xyVQk$pPlr0lEluk4pTR@2 zOq2)j_GekwGK6C%&xIl!ljC{(Ee!QfdLh(7niCv*hgSZ@P&++PNSK#GuxV-Q72Dm2 zY+nwMA2H%`yb_9LvV~=tRN_@mm5_QZ6ou6)gCq2>hkg!o434aT8ZciJIaD9PeRP6oG?x@aR zgHQ|y4GQel@nHyO0x{Cb;ZlAy_Yr-O;Wn0k9NHmZ>v5{|KFS{vPXyE+%1kH%}Ib#~$eL;dwx z2sTTo-4b!kS4@Y`A*6u*A#aY+el$PE%Ohc1>r0j(tp&?3AbC~UFXbfXGgvg0oHfv* zPw^#hj$IdUI^3Y2;55q;tA1wZ5&h5$7E#%T)@NtOB);Z$I0`sY%0kG1L%4L*XXUuL zDbh?92e!TmkpqcS6tWv6V|MSaUCI=sc$uU@-8M|2R<;eeE~Y7v`bjIV(G%J zUAmBQM~m}2RAQ`)_#h{-oXNX}mERJXIxu0dijiC@&oq-gop<;ixI`_x*#&`1?5PQe zo7bxzmKu-U!?tl-ZZIiih75YNNBDmvumP4E)Ok_bV_;LQd*sYXi^i-6YqolX23f%( zd6r6|L;WlE`=#0m#d$*@eG0^0;j-OgupNlyT9fWH8dcP9ztdzd z=H#F`pXpKT9Zov6&V%rvqrq6#f4NmheuDz!I|rD2v_Nf|C@zLx0cXU-K4GQyk{cwf zxmY9Na9Cyjv2b72P0tIlZ+JslqXf&oj7)UwS>}=ux7-44wOi~Lrf4V_EeXdnky^k! zSBQVa{^6}n$p4lhJs_;YTP%PSvLLlwAIJc{u^f=WK@OJ2W}i4PJV&;2V{BFzA^eFv zM@bT_F%h{_$On>!kP0%CW%wvLAdh zAQ>%n=Atz;RRm{18KC1BvKboi7E~QxIWY7**9gq&ideJKm4XfkT8v%oSR8}!K zUbpLt#{e~daEQx6>3~yIec~`pFzQq^PTRy&!w?*B!i!;f8z~MCtH3v;SjQ5dfsGxS zI@$*L7LcpN5n<&FB})-!BQ+?ADI}#h^UTCz4cmnhJ&ZXmjtu`mqDexRW>`8s0BS|} zq@%(K`Pn>#<}g=>U=+{P18Vl1Y01fmC(p+|akL(~c@X#p$bFY80AgV7&^y;-!peQg zn@0|v5{i!vE31g%&&%Oqh`qUt&E&dHPP17ugVShw6vu@<9!Bz9r0X?=u8HHrp7=^q zM#AbzyBq&VXLdCwXr`i7#DluOZDd&OyC^4D^FsEt!OlB~+3IO{Wlqm`r`)6{i3%NqO!SVKf^8wh)XX=C5fi2pWX?Ou_ngOGu|fYiJjeNr8OS*JALB(Fgb()zBBGL*ecEl!G^jmRj9CeMqCi4ka5V& zIzuBPa6-pF#f1=(S=Ej_I0Yq@@zA`>$6j#}=q=*e5OylVZGD$&XznqaRw z@_tc-me$VKGXIs>GrC~OSOD+%GTiQnj2%Wn)OJ;P3*=moQtL8h#o8<*m8iEX3{>Kw zXmNFz!m@5`N4k}ADYUGqVQMpPOSF{dv`8&Bt^q==)8d-&d=n%!Qv%GeoU30N8o7LxT9h=Lk6z53Ns#EM*o(@Ji}2;Db;UT(&qEjGhX(pn1c;uu}(u`nO&2NXWHgvnpih-fLLT~=C~0WH}Iqr!k- z2mwq#h+D&a$P`ne2w!$OH?6!ZZwn(7NCjRTw^O2w;M#YD$)2zbjOk8Jk@e{=nZhD= zcbJS3_;^p4+%HS8M3*Y}@@Ep>?hAL|ZN7kXa`=AEJ5_L8lmNo(3 zk)emeUHFz9UMk}xJsj@FBMX9Yvg|w(?xSaNjijvyjcsic#-rg?DKl#@i2Y&)KE{<% z6b1x?PCw3#2Fb(b_e6La+crw0Bo~uoAVQTAg~`Ks@?YBe!2UsbG-*CbBA0_#Qk~-IFoKbqUuim#=2*t863>KjkVo5D)Day% zx>O(mNl&(C!|S`b^a&oCjQXt(aPeH2Tw!7AQ75}b5Zs5eUozxdgH$Z1OZXDJl>9Q&~iL{%BY z%i(qiSy_yJ|0`j(0AaK8YPb_jCQpZ3aq#H1aIZRenxbG^>~zBjMrRzxNt3frydIva zvqCRgE+u(fkq=!p^gu>A77pJCbFe53+MD4Ra0_!A$o4IMTf`{59d5&0(8@dE2n+J> zhJUZMFp*vYddO`~`PGp0|QG6QFhW=<3Dg~`4JAs{jIet1onlfZOMkuR{1 z{viA__jOHI;t#`-tw|C5QMgmtNZ?14{y4lgKgD5xCP9s2+HwroPr_01&;Z~4G#oDG zE8Bb)UQcd7#z&+^+u_iQ*)gd&cBxIDCezGp0HSmpj38Qe8IeZ!iol_}%zjLJ zN64WYX0ggXoEl1$2KSBpR_RN&!NING6tNnK6VN2wq3zjUJ>~X`^ijM#iU@kz| zRcGEm@}nW_eH_Ozgw;ZTa0K7foa=zd&pjEk82MMIzLJFsUsq6uGP`!RZ#9DBV?{c$Bv4ShdWz8%11|{8DdF^$}tfN z@4viwY$Tk4gmhe_4L03Uxo~`h47sU9dgO#i8&Wujcp?&|5^Sd@MYfWpmnohnVWKy_ zVDtD!3l?q&DxnNG>)_b7Onypy(I<xGQy{A>9lVtLO}$I&6K6!^ zxqst)0Y)9wp9#3yI!*y2&x%NEIrjJ^60evV&W=Qq<1jg&6Zs{g4-_R5QP`O5{nIhM zY3j~I==y$e^jR~{jr^v{pbkPyxPHoNmGloGa9$*a5CS+}58^#Pf?G5YD-5f`1rY>n zMeIL>{}^IJWbVQU?gHVs=A`q2Mr&z0brHX#(EaYaiwQ_3MSirGM9Pg=f3dOxA`5q; z1%&k}BIp;i8DuJM#prx#1UC3Y8L_D7gz9CH)dnyra|mh$C(RLbu2)&ghJmHwD0ZGsDEHW?qp!6d2TuwKEBD?(na z+Rm#SC?zWx9v&Hil^xJPy2cW260#y}s`2W`tZGPL3~>Z}Sdn4+n#h*bWfh+q$(Er< z8(I;Ji4(9ud2Q6!G8T02DA*Ows`})+E<#@81H4S@3t7;osWQ^)^^x!SeVxo=?+p=h z2epe1!mromUW7VvV`Ob38;dzyfw(C`y3YZGPuK`tiN$y#cs9jJ%aXyU2$YvOiJK#& zw_Jn}C8WT|FvCWOy$i@Sxs(uBCV1>gfGl(6%K>_aeOY9HisIeu+3GMdtd>58Y~VbGKI@h zMY0ap>>%Z#Z8kdN>6?0F)4aGNLgo+yAo|vNe7rj&b8Tq;$gkZtntFFd#sCBZ1UD-p za)d!6g^;uSG-GEl7B+ykpG?xj$3Ag)gim4Vn&BLVMYez|O0pR4e^VRoiKuG@w08l? zAK=ztJrqzF5i21Vy4y!jkHo#qw$KAzoFxSrEreD`Qz|sd@^XpG(bO%{+h8fp)q<5|6!FpWS*cmO2v zaK!e^fZ&f62SzZ-I>jRqbr+MeP$1j@b}M{2U~&+SrHJ~+vz@FB8_F1%k4DHaz^&m} zp@?%pL42Xb;Ctd=#CWV$4s{zYK9wqLXWy?sq`@^Knu^#h@Q(# z6xA@!2@g+3)ERv&MBw>4yn+gR55h6YSW(JT5p_o2E<@Trim2sZ=;;UUgAckMWL#}_NP)wOoV`EH4W)@Nu{tvfZ6#f*y1_O z0qmj*5B1AFA5l&rx-99@Kz?Pz@yD+_p8km!BIMcyv}~3|Xm5CRYnxfz;~^zpjL=~k zos;CN*7)HKV-8a;TZ z9vtyXgibA?zgCmHEX|)hn2Eg_`KJ#6LL8F_9jXS`hW5wned6#a0%M{|J?pmjiPs_& z)5Y7ym9iMTu9p}o`9pY-o^D>O>c%+S(ZY!5t9T=#-1!t#V-Bx)#e9(c`3WZqC<-( zYl$U^cO%OGL&CEtLF2`bEm(u*&>w-U78Bm%otx8Zs9LZ`#XVt?`w;R>0Pf7vpa4}Z z1n;wm>_Ad1j7Gx5zYWc5sqT{A0DKT3cUJ(^4ot)fN=wN#3py*P>ZCUoKO2XBY$-u} zs3jQ}igK0%98c$*#?joQzOw0*>Ld7l;-ko+RUTK`VT}AZS&dG6Bwd&E8uNfPz7Jr^ zkiFeglQaFClA219*C?)i$7m2f)*MdPO=qq6L=Pd2oT{rm<4o}4lZZM`>H=`=YrHzx zoK1YH5zCHQizy1Um!F#OJu}z&#N72WEq&AOl`NIgLdv3dWpSZUnV&7y5eGikeXlA` z!X=J6!8lijQcF`9u;|oJ(?Wcq#U>Ykw=Wi{I;FYwUuvmA?!DECYfOJ?IrXM?#a~6} z+$m_>Dk=w#Uezx7bwoL3$@9~4sMwf8eb$oeH=0GmT;n1Y(k=U6q!)m!Yge&t8!mL< z*2&URp@Z!Vi*>{sfIMur<-Zn!G^QO&1{?w+s|Eh;^V4_%AnG4v)w&kE=jvq5jy~Ra z2N4Mkk>&fuc5REz21_dm)w^*MJ1I}o#P)5QNTBneHyI!oIY?HxJOR2)E4nzQCgs3u zb-M~$<-P$G_K6+ZlyjH^%7Sc5i8hh#*rviPI8JlK4skk8-y`AjGReKH;>UaJ z!@OUemUBCI(s(o~Q;IaEE{S!Aa-304qW{i=hX%yXZNsv++V>1(2(J@fCi~siGa=}* zW=rt_k5mQOU5y+@t@wa!VwW~gurb=tWz*^OjA>KJcswdY060yhGP_olkxhdSol%#A zH)@U8t<8H$uPjq%-tOL}RyBB>kx&PFvxm#W5!8oNiE+TA-)5-Hg4%)zM*LhRY* zxlK^rL^(MKP-<3&x{7t9z|-jMEBlpN>p<|L5~TRA^{*@ zy_G@^?>^q%E80Zi=~Ia*891wY68p9(Phh73*sHRa=hm3j$nWPWD)wumP&AlAx)jBc z@{F2E9Af`AwdI%tH-(Mh=cRU$W+s=6EmD*Z2WaBb0AMv#mjK!@&}4<%1KUV@?l|K8 z2?v9*Fk5>b+OqiiVIIVUS+}fa0odtC)fO$1)|iWf+h{>^pg77WImRTy)+%|3-FCeM zxJPs9ls%Mj?bNyiM(IKc;g992+CZ}pYonkPE&%IHP@ReoZzB=iTMk+mmIdXe+L+eP zxEYhvJJ$@_WsR#iqK%X#P92hkYu!u(eLK<~5?Q_>v>wIFm02^nxiwVuXuGI7anw-J zW7(pvdZv)*u)*ec^cWR*Aam<&TYUw0OvsE8&cbY)(VU`AJKcS8G(r)dzu|8Mc zl#aDDQ20c9>bL@Y17%OL%eumR17%OP8*QBIXrS;Zo{AmGzk#x++GE`CG(XKIt@+Yp zoE*d(!t?2NwNmnKpt)yw%3--{sJ=7XNDJ=}#XLH%>=q<3A3IK*;B0`ch_l*ADOU?t z9Ts=CP1N(W5Zpk&&#~#lN0_Wr@3}VH(#viG)t=WzJ6Wfzdikum@||zjr1LjW(*dVIE!i%Z+cD#?X(9^O?WxF!Y9z$p!< zNpj0#=iU_A`ov|t`uPKCr2OS=q%pC|OQQ%Myd?vtxT1}=(wv1j$%b^r3?20_-}H(r zxyQ=Ga|sTc%1p)!_(3ov^=hD!$`-6l{01>?m_F@XsLp(0?gYg(Z4_dPj7w_#$wF%8 zFhmAcNJ#nd+BQ=a#i}MS4`g67zFs6qMJ29dBsq7K5gBCiMbr8qu5Vixjo66&4zaG0 zgRJs|5I3~Z=`80HTp!>I=ka9~H!}LnOgP?v&}oT5DX^0edy{O2u0#7!$jf@jJ*`*V z?5zuS3%czJUPbV{O0Y^o+`@!s)Ft%?m@;sC)D45&RYM9R9QKJ@+sOCD0HR{#!U2dc zeo`$LxADGlqmc>*2M!Ssk9c^@5kpnVaTh7-={+Cred(tNYL^?rWpi56DXMMITdQrv-SAVH;ns zZ4SdDD!9LmVn3+1s+LH8VZWneWDm5FnUz#oQiaA8L-U(L{7I^++DwWE+sGbh76L)I zgGlI->O1iePb)f{g0OXRZe!J01~&{cI78AX!iVhPHgZz3GC>o@S>Ub#3X;R~2zN_m z!?`*4SPXlZF3YBH^KGjF&0Ji%ruB*!m_Xr9DzgptSn^h66R!kC-NbMQ;W;Md6s6#0?Se$5{LPAZ7EsI!Fe| zWc~?QzF$sxq?qP4KJ!`Px$1gP@oC$pb&Ak&woFwacTmVb)jEkRK4Z>O-7DDyI@PSg zp<2yw!SMVbO;?}zyp2L?R)d0Tigcn8UtmXN=Wvf0lV59fNK>vzQ?B^3?f0JYYNw2y zMInQe!SWz$Ra2cawZ?Q8UqMBn8Z$78u; z3a-Wr648(3A=^gzpfr&i&T6xlGKr1wY}0{{iJsu%pz?1Qb-FVr59M7`P1@cloNBi4 z4$&F9KXa(CGzepNf!!YWlMk=kBPsj1V^mNM^T+_gh4bAZiW_oxU?8PW>=fllxK`dF zI$ypuf)vEbpPHtW z73ZZ}44-)$=fu0kS>j!ze660`W3& z6{`2Ns36IKNz_RqUFQ!J30p+VAo#)&L-!ty8=>EYwW|M zO+`}vK2Zc0Het}UnS2u>mWLYU9kE618>Kth?e5~(1i5YkUpkI5vM_g6GKttPN~?{@ z90!J=UXy~K!#u4b`$vhTV;kp0VkVrp&%NRRo|f(#y;0)5fa&zh^520Bj|L9n5=%e? z&wa+l!%@15$$i72tKCONjW{@pdxIBkhND0WpbDae9ts^?b^!i;HZ8TT*kmad(UA6S?8=D7sTS zH;cH6{T~tCKxN$!3$}z>wm8Gn(NfLPth{r^+`{C?vw}raVOG@rf3_IrMc+9!a(yHhb18&@RgQ0_l+yvd0bA4 z?gHNIE#`frri8;`F&|8ZOWDEuHDl!|8sWco`As(boo}n4gJtPF06HW=REtUG-?PJekhOkHb}De8gON#96iS5Bldn8FE;04#u)=j zr-bPWTzP6noF84l0jA@mw34cAsBd^7lQBl+0Mc}pr{(DMoLWk~!+Akeg@w;nF61QX z0>>|kQlJ(Xq%Mw9JeMJ?&6jX0HCo>0(kKN=L5l93hSw!{%w=3OMK`Ei&P8#w{E8^W zctLEIv26Lu=-NojKrBe$u6XE8NKUQA_5B8+DORZo602W`BC3pCT@trL(Y?nHzS;l zv~J?YXg`Nq!OiY&92T_PBtI{XZ;F1ex(uB55hNbA8NZJ-MAxuNQlVaPYxEb^ zTN!SE+`)*FjJYdri^{+-y0t`YWNpMOV1woD(Vtk5-0vDvpSS~S{kHV$BLLb+>A-x0tT&9?%iB#rQ7kyEoeB{ZJb#_t7xhP~477#M~dn zrPj5wxVU*BIuZI@T0kKZ$)k?yAex+fWE7Z}%R-&V0d5|QPDXaJ^U4G5c+lCAUw=YS z0fZAMYuWdq=&HCg3Wwqm%wkzS4zKLNhvh4}l7Sa{%(h3O9dus-$5<#o8g17Pk8zSh zh4eojjo~d6?1;JWL^N6{Kt@WJo{X-E$U1O{9W5fxptkdgr}S%B|KL%rqiH{_UvpXK z^)t~mBoLC@oVU+Lqi~ud0qVJEjGZp%to8HJE>45_(@E$Tq8au7x<0Wo+K^UA4Ih^mT1sBXYGHm2m1A@b6_^JIhp%d?fH(~452KM{ZhWZl zQ4}$4Kt+Y($I%}mxC4&)7D^Mqo&WlG&qDSIagzdN{P5;^AO7epq`q65ywpp19<>e0cj>c#hNM zC%CBv8Y+sO1Lk}Lik5JnY`XtQlt2s{Sn!5R*mH`b+9$)2wlWT}!x9RdP&s~V=IHiy zQ?S012h>>B{_mLfHT^yv+rE1B>*Ly2t9p5S`>Nh|C$z8Pd39oYkNxJP_HOIN$?aX{ z^C|6}#^b5&9q!XYU=_v4xEYx|cw%SDD+=Ir)0eDa^;qR7pB zu8Sh)<#{fO^tJsPGCcDqfC^NH_1eHsQB40?pt`dW9$V6uR&GsnTO#UWs@hc$wZJ8(xy(1Ip{JWgMJ(%xto8XO+9;>{s z)2ZCh2Qovx_@PQH{YWK}A9J>$%CdNJ@DqNC^rteB8U0Lt#dr;F^*N6e*!M{K3w|xH zL;8|mb2O>17{M6c^io*GzLp>8=^L3O0czVAjdzB`itS=V!I{F~_A-%A?GPgx%P@)W z7$b6|C~ByCrx>Auc>B(rHTPjfPT*Fr{bZsvw7*QGmL0%}{&Mob*qR9_7Lu5L*pFdHI-19I z^{IoruOa;6^}(^VjNA#Fw~^Tosd_K-9~wh+u4Rcb1u({nLWk_jhsAL55pM3vA}${J z5FQ@u($9q7Biu*A@sVzBM&(g4L;%acbE}Ly&NwjL(XmzIaV&h;JCj6CJC*Cdj zw1kpuS%K6j9rTWkd4hk9jb#7zcby*>+tzdARK05dH5X1DA1m2m&wQJJBd9Ag>e&h2 zO3VKSY@ZnWKf9-OD*e~s`lQ&_D{jF`M)k?Df?cQbCV|F{b?USwpv3~Q2_dPsa(Nqz z>c$mjr^NoJu^Rt1NIo@|UqSUN8N;W={ zzveEieT|Ldgb z+j+5doM)7E(!JvR*pHnjSY)x)#CC^bk~;dF3u5b4<**eFth~N3_M^Jl#6_{y2IvUR z90Y!WIv-I?aCE|cN7qt`ORRS!!r)e6>YGy*sBzRLIQ4-1@I1=N@Q$R;KzK*wci-9h zuZXR)7<)Q2b}=@G32fg-63Y>q7{?Z3KlOaU-cUv}(?03zi>qQkRGG+21jsa=2-R1| zzOUXa%+k3B_kq4%6Vq`gtG`|w`>~su2%xI&>tgGw9584~tB-E`^|7CMKluQ-AvQtf znu7rDzIEK_)G{x5uU| zV24%;Shjexjfua)&RMRnfxjd61HV#Wt*mChGxo!I*dA?^P3KbbRF5QJ5Cjw5U9lh4 z_>RVb?TEW$zp9ae`3cdKVT$P!_rxZ6@*BszWS#fMeo{M&s`kFvq}qA>Yra1=n~KcC zRhQBXC}U5$vxtpGmMw`Fpd<>32V(2lg-KRK|847&crdnsoeipZ`}Y5uzaqlwU61Yr4r4z_Hnzl0MbxvpD@M@xRuWS)noQ#tlz|i%%(ZNG-h~-LOd1w zgcnd-O^(lQ53JLXFYv$@2zQ;KI|Ked5#P8u98E06m;8=Imt zE#w;)8*2A+ZfkU@6^-EYvGsLDo1~Y6K=au_D8#8b)GkM#D_-zsq|cO17H~7ZXl2A` z)`IwwH)Ab`FT34B8ymvJE3uy$-BN^17qK{#6_a1QD!Cht9s^zxvR-p12TNicVC1_UL8HQ6nXHbx9bLsdmJ^0J9tJ%EJx!s{>gz@Gl_e;BXw=gY?;E z(hV`Im3GH3V||_sECJ|fu2$>CS1~%NXF{XQ{&~NSt%JOfy4bUl^2JBNdM5XZZ(?-v z()uDlY}--wf!Ic`*sg;D^^mEV4x~UpM2g0lp5#h~{u)s#`o#7f)Ni*06uxAdb_$6d zIw<_k;!(J4${P~M6NPvBE&;QcCwwOYRpVT#;OtVV zEL!UTbnJFwC+;6ZA~OI7;W2ONac$sQV%fQahRrHLPBA9y)VAh6u}cS0GpzH3FHHwT z&DJZT=3P7Ju&?!6(!KSnSM1h7G;6(NvE8Js-8+a=c=FUCu01*^Sd~wH+HA`}RbK3g zJv%1)m+_~`y*lWkQBM^#cG5*;?+ywD;PaUdBa3}H=-8*{t2{?;QpLWKut4vd=X2xo zK#!(%>Ep#qp}ottXhQ7QLBWIgB6b}(h>Si6W9ZVRBpyA+nk@Eb99kurG;5da69;rq z94J{P0T*o0F~^Md)@8Txzz$--dLX4Y)92B~@^` ze+4UV49=*o0Ca|HKI~v_tq<~<9TXSGq9HmvTuR_RUw9C%Bs`r}J=CbhPnOZkg-M-_ z5bN0;8E-#`1G5h;oE8!z#?flPYaLrzop<;+LaE_vZ_sJY?jl)?5gq85nic>4K?}84B z#G$)`6L+n~uD-BiQv;AX&Z;?Ntri%MgG5m@mg-g@wr1(kV%cQ+?t}mL<_*KQJ6eoQtDQZ^^4z zmaJEj8){MF)gAv?yU}1uD_q8}(FpcyF0lef3ILj%yVI}jpiMZM>WIsT>~DHZdI-~H zP@3ef>rj^tI1o@57J@XLbjroIu0=Rikg8sY>$PO!fX42X^oOMEC8YB%R@~5`F2B&( zN^;98k3eu<6V&;zFzqj+2-pJQ7>hAE?SVJ#F`y{(OQ@L?~5F&n19H45tyU)rHlFl4c4uz!#Gjyt^j|A^yV4Z?WLA4Xz% z6EGh4?Fgu))cg-IyR{f&2za@9ol}{ zcb4%TF%6E_Grqh_-)Pb>EkCOzXNv{4fSl*N9GNGD1k^ZQp7-S)3}y4ornnfrLF~Lx z7fzy1e0sBjKJlV29CQt;knGmDJ;2OfXS`qX#SXz?#cP95UakQ}xzaQUv#@vi8?$18ei?Ru+h>&D=NcMq(%03auDiAgRP~4$-YBGR zw2szl)XJQz+jf#|-WokxV14x^+jY`a8dlz>^lRI9l2Zqjw{I9J!6P1a{#H~CJ9Ltb zx*DX?ILNEO*tK)VPP&7-I%msO@6<`R#Z&`qg!p&vR2owcCN!ClhK8b>G)gDCbgI3Y zA3WnevJ>QW$|YJ3TBcL!~J!wi{$NsX!*yk`q*C<{DFcFo84 z=u}2Xb+@uF58ty>X-#CN7WwyHo#gdF)WS{w79_uSr&{SGqAwxKmy7=+29ZBTxMtfw_PoNxWip}@aa5HjW!<9smu-%UChU5dX|$->GO`X=b8fs+@`0ijwI-k(-ARGToiXCJDBBjBVr$ZlD=&H&QlB`+S%es&wP7~e)nhxAuExN- z#{lOg?K;gnu5*)GUDgw&(S{vw&vLV;()p>uu{@zuOP3mBhS61dfSaJyWIVA`-BRb^ z#VF?K1KC356h5i*ub%#|%;oOnPV$m73Cds0I;E3t@N)7syLmdbbE#FF;$+b(StSX> zrBvSkEqzN(EUtLz1Qk&+ahgrh9@_I@+Nr`Y9(m@7INcEnc)(Y@^E<<)kVdVmXLjm6 z9M@BOyLeV7IVAFMz|o()bZwtd+mO~L&hA{#$`30m_V;u%33T}+=Tg|GUU81DU!E|6 zn|K*#!zBJpFF$c^r*fE)8Rw2>GBPmX%Ca<`rxznn1-{bI`I_O_nOl^KF6i7`;>ruH zWvSpoEh5?wTZVU0r@C|2hS!L+adD?Isd|dGVsyJii;p%eW~*fG!l^fBa@99?U0M%P zQ%0}L^qTL}COYWWV1q8N(;%stZxqrMbs#B`w!t=C+4*}vx|FLJl#%n`lU>D6RY)-p zL+cY)=~dMSPs9kDFrr;ur-#ky0I%s(K4w*oTA54UwVHQU*W$auyUw4anq2~~*8-qj zZIhlvH*_lFvIhzo)nKPCt6NLplsA-5r{opfjtWsp6gPG%M+Gm873ni?(#xP-u=X-_ zvtD*&0eRY?S|fRjmdkXu7CHB=o#e=kRZ+ufgd^V8xx_BS6Kb@S+c2NR$!Svos}ZTT z>a`-#vKPSZwZP7YH&g3i@6hTh-9_12j*h6Chsmy!jkNU6&OiDgAdet!OX)aTxm6V0 zr8g^9TS29;xU~xN?oQ?0ZbnB1diQgRQKIq?nDKWIz z|A#vN+h?@Y?FQu~1-d7)RTMnD0@#}%T41ZNAMwY8-+iw3Ciq8Vr@WjfxH0 zD$vJ#IpeqHHjnE~pT!wQQqx*(=M%p4I>Mn`TBNNfeL>1-wJm~t%D3Aj>b3~*Y2PuY zIF@jiY!&D;_MVEv#uQ0!hZC2sh^mu~tXj`@(ha&^(j4FoJW^m64CQh3^xG_1FLkQJLI(JiDc!%U z)x#!yU%CDjt)nq>CUG)8jTm;2QjmmDjo7&f4%4L7>n2`D~wfLmN$XADY~SyxFN7rJeH4 z>_6VBLVzm0;!_Q8chX^9W7cb1FEF47=pAi?aT~Xyjm^8A%IRJgY1;eZz0SPTuz5K5 zylDa#(I!&q5+J&##^FF&q}%6om?qCSnY(lvH$2zMDcwykA#-)Gux;IyZaeeLH}4PfC-b_JeAqm8?vd||L1 z*%t;?OAT%;lMeghJ@J=@*4TlwGMWEZ+Lr2I3Jvu)XnbujA=wu0PPtNw!=&g5Rqu3z z>Ejzc7Z%BTcWTXrZM)Q5aPqY{7q;tC2Sgk|9>u-WKA>4_-=%n@le>E6?9inQ4NjgK zhVdP{l=aQY*fJUK)TPW{4yZ=Rc;_zV>EM)N+M{vBST(AJ-K9&}D@-UWlk#@$QVtMS z1-^2}Ze7Zh=49227&=6&gE^Y+epsIl-@Qw@)ohlfOXj|{yGhrWTt^rjPCS1LtQbs| zB@(kE=Gw;0V9ze4tmBG#JVy}(zy871y}Fbg%PHiG;=Q}JGCIXq=Kbrejr(Z2<~B8I z>f5(V$-zdf7df2lBmb?B>h0I1eCTZWzV@^IyOd?Y%G)BdI-pDWw0VHF%r_3~qVP75 z`7D4<9nCwaOUbKMAR0NJcW{?->aj}K^*TDFOZn1N7pZnWI#kbSD|5^EI;@LAu6Xg) z2(LX{GkdEctberQ^-{;B+aM602nljyND)*ww`Of}?6TP9G)1MU4$R z#2&5J`Rc~yE5mG7tqe_UUNnOgLwwf^H85Cfxlxxcp#uUC&);K88hQJmJL++M5(*S0^N zuEhn~6xa4?h3~y*RT=SB@R)b1Ba1Qog_nu+Uh4zyTbRVI z>rw`MW5hkj*jw!P^Ikec)o4b^6kAdEmfZ1ERlox&#*w&GHYnQTTdSS}b@+~6ZwmML8cD_ZZ zxBEaPNl%@mZxQMpK3H|`ZD)k%&YMy#;v8ng?G}So+ z-y+O=eK>3~RWHm@Et3n2Joov5OSBB`ejnC{T>{@3BTvY;*zE^=Rz3;1)iHmtOC9fU z=KadtFg?_zj(51weHEq;Yh|pPZ^f4IN3lm;KTg|}I9sk_TI zWM$8OQ9RbAf(=#!@r~x_>_b6z;_)tZ)>9Q;;eq}q?2Tg6R^li1{&fLXOKT77e^mb| zt=y=}-{LOsX}!w&0Bl*|_>5L|Rsr=n-1)4=c~#~b`@iS3L|j#%H`Eyls7$DljmtQBw64{1BsJx^Zsy|Fxt?NZC z_9|Xp)_kuvI9y2Fj1Kmd#vnq!*eDub)hYnLHu@WZU+bbc?NF6h6{)RLdR?*Q;3&c3OwGX|iRN&hXaQF4I!%+a^Cb=b*NV{X2qb)`GNX2{F^5#_E$ozf3YG7KNw;yQrsZ)LH^Yz0nbynGi)$Ba|s7sybuLjfP{QS5+ zq$cL&C)zY_w#k1!eyWX@PS)D<@G~tqQC@iu;Y!prf8Ism{fRT=EAw*YO$)f?r4i!# zqU(RE%l-R|>R)#Kv#NTcp_Pc4ubkE1#SB&9D_4H4waNw>8?}&sqq)$=h|0aFL?htO zX}9fGMDJ#7k=1V3JyD|1f`rb&T$vq74B4?y#P;3F>BG!EQb5q9su0LKbSq81o3+|2 zXUA@3-f%P3wKDJ2tpd$>@>iRfckWh}9ye#poO+jTrR{fNH8L}H?N;KxTa4Ky#B?03 zG3D|)qS9{N%2UAuga~j5WCFWOrdCMqD!FU-Zsnil0Va=S;_k>sTeU|GK*=0#*9Dx0 z4RU*SD`zK9i?GpXqB(nYtNRixC@Yf(?A@)LOY9naS-?KsDzu85*LBFjt?X6T+juO5 z+7`BN_1sM1PWVI#mofPSRNJpxd0@EJ)?Q2Y?^Y`PjX*=`#p%q-^u#%!Tlv}!7F?m4=--*$ zO7=I1iqK@^+q1fQgd&gL$MY!8(u=C63g3nQ>~7^%LxBS+>?N)$E#U@Uc>W=FWv=e& z3{ZtQ$5}U>^8WJwxy~eTGPcN;&U4mH15(S};e3Zq9B3`Wy1-f999WGonhPEBa*8o^ zRp=ZT4!V^acTT*h8p{l-#6clxj2oSZ7dy<~Zj^MQn4c}djNC*#(o4FP>cpipZdeYk z1OV1(t1hk4zifHVV7ZXPMV5_1x~vA$(W=FTLWQP6qo6LY4+`CDcyDn<4K$%uIEc{j z6&Y972GdN(uBzQJ8b-QnyHOlnT_4nfCU%6^)Syh@NE1ObxVqL^3T;9s8&}iw@46b@ zgwc6JM0;;$0$yK()SC~=dP5C_NqM&EseGfeMB50%{&z{C8O-0Lx4;%pSeZ-V&5pot zHq~DXc1yQ9!Qi&0S!3y~)r)CUr-p9pR?d!Y6PmVO-fof&9WiZrHM^r*MR=vw;FfTC z6_XL+_0DeP8Y(l?kmc`kHg623<>uVotqyp|+8S9{@6nnXS%eoHc_nTJZE2Ks-D@&a z6%@g|ShqpR_C6mlqelFm2Ep9ltxiE3eJacNAq_%!z^5U6Lak7aH*pKjgXVluXi;Dq z#q2{hTEb^|8^4F?VgHuE9MJF>Kce-X23GkB@n#6+Q6F++Ao2p{28ZV{pQgBRR~iKJ zxDSv5Tx;SL3XIbrkS9z=uSS@GKyYsg(33U`;Cbi(DkYXR+MuUQ{%AF*aTrh6!VJZb zXtW{E_%sB)YU*~GXML!aU_fivXfvLx(F|PQ*)Zil?=uIf8BNZ?7yQ9AD@woUGdij4 z5CW%eI)7TDXnDzJ9yTvEz3c-80f@_Kd5>a)bLbUEEy$}M4=@FucZz?jt^TXs%5%(N zTmG`mYu)Npx6GFuPA8Y*Ld8tFg4=O$6A?{DvXX68)$F;x;BT+&n6MA!hc`? zhDMXj)Z(80O|2VrpnwGZ?Rjr?tJB3gtG_Mp?QRu6(I*?qkR1)0ZOm}TMGoZe5@e`ZA7!s<6)-8+JnTJmTZ4}UFTEsU2!CSr2@}GCBxB^Cb@TNwKf1wu*qd4x}C1p&bAinfz0d^UU7XL~! zG^YhCbHnzvW@s*SU$x~oTJ0$F)ixS#+oSZG^Aig20MHCW2YGqd-o{s7X!gy(Fld45!86c_OT}v6-dfjlqw7mQs)1!783RDdR z=dqd{t86XTcU+HhbXR~HS#OW;QBGcN8GYf7_xc`jLXUEUPHuSLo~qeq35b1JOfke=zx4qaKx)OuEr(kVFA zHA1gv_bA^`rxY*FD2g-06bdtet8zTUVH^WAN2X7lqve+>V9i20*I_;yFS=Pv^Mz#% z-$-(vKNy;5`6dj?=l7^UcxJy==0bfz4{1H%IB!+pJ9{qdQT7HWYqQJsMGjljxUChF z(&Zf&YdMAPHkeZ?CB|2#H{B&Y$|c)`?z<>ms^^Q5v&HFoS&#Cjvp}^x{VvywssXNg zzF(nvpOK5JWJh_9n_S1mM_j3AtG9S7H?Cf#8L0uR5tebaW{_sNR{Zd;(d@zi#M4|_ z^FV!#GM;PoUd0Qk1%uvowOR%BXZ=`{UP17BA4GBgp!G=59BQ@ND^dLG0M9 z5*@Kbr0pb50v~__c_wfNqfnyXdwvu}v5R6C#V(3nRPVia7Ln?`_ueI{y_wnlc4xnD z@9+T+`G=ezZgzHdcDBuy&pHC_JyM>EV9bLZgZ8-r0VadrWpAZV=zvRBdjNsn6yATN zd{v%H8O-|efIDY01Pt`>`8`LJiU_?!0qkY3hXjuIA{2@6N+V$|rT*EQ5@JkGSzQH<1{(rd5JZ zmLK(MP9pjW<-n&3A5-oxE$d1M+Os@vRiXC}J%I<_C+rg7MdYA5JZUWid}ukSfTvVf z!mU6jUtk+1sFbIz6$&?{f>-D>YAoZ5^i*JX6Sl_!Yx1mJOtGtgk1z$^r+dzgavC1m zQ)o}L7puOOZMKyr=Xq=8bXNkO5P883&>32Emx5Nyi`G)WCocwb*7YSdVDXB9o@Eew z7B5@}YR>nqmD*N;uS4))ksgOV;p-;n1FJPbLQnx8TCGX* zZv4V$P%$6bOHvH}p3KKq32?40unvdq5(Y6meqxs}2y=dFt&c)$;QILNNcn0%8w7@P z_42t2A8EI@pS$|PI~T_;tI$hRQTld}oQBQ{x$7Y&5%}6G{TL1v|GD3mI5{LYO5Nf? z!|yD$mFU3KKoJA#7vLY6@$8VhqLCR7c42i&NbZp;W$1&fEv+zfXoGkkZ*5p&HsT{Z znogP>?aT?uD5EQ;y)>iNJX|+tca!PVkY`%Wo<=Jbi^Xg@%Pci7O3EbV_=|^YLbxrf1pk^YOVU<98O>1QOtOTJcW4=}4PmTE3B%(_|5ho($v12H z*M)FT!ooeY%-2(+)Z&U=-Ibm~&rI`lvQhXAA$+B`T9Touv5|aL%Ph3RDF$o#H-+$! znTK;|nQjjKgo~O?Ux^yo-_hZ|d({QrX%zje5We@WGB;BUO^Ge0+X<0X%6@jJ&7VDd z=Mp|AfiEM;E9q{N%N3yDMvDuAl?x8uvC1&RIj08QmWX=3ivt*V>CybI^<`E9pO~kVk zR^gYMCBuP4a1X6ySA>eZ7MQrho}$r_R;yWW^c0OahgP(kOt*25vJUIeeRBvOI#gYj=X9xm9(zj&4;5*CaeCBh ziCaUh7S>^Q``gT(e3X0o$g0up=BTcihgLmzn0+GKx3y+|X9!R5D$6nUp=EzpsH2*^ z;qB+{Hs_n}THIR5z2-8<H8sVQXgfSd>N4Cn|_xs{H6 zU5W(c;@0xhvhUSp!dFn>$wuEBrc`Oq_)H+!?cC3X zzURvys|zpfJI`6l?XRQfL-?Jl@vyr-sA77cO6feW8&+xpsxa1F? zhA+2w7V&*fycR3wbCptilk*Ch-jYz34Yt>nkst?s8@^@S#Fnw+jvs?nF$#JMI9@)b zLU$VBFR0S1p&vqmarpZ5q)G)o`Hk&DL2MMSQM5<>skwPZS9fbKys}qlZ|U|vTJ7oQ ze2}^l=XDC*`$R%G7uyjXq<7w+4IUp4`7GpWd$Gc7ac|NViBCXBPq8TUHmXvkC95k$ zE$yukemu)335M)STMJa#kZj?+9l~2CB=vZ(WwB>GoEw7~K0HK@k#PXjw|F*Tm1d-; zy$GcAI|0R47vb?{l{1Ndm$rSp+Jn;Q7tD)T(d3WlQ}2cFD%;RfzaPR=o>kKhhwVNX zL>5D|--o&h2ow2i*64ghYb91v=-~UyG=$5(RCTH34PcfN`pbO~IiEbUtF_{Gz`nmR zm7R}i`_Ie+9xbWB24L?@_`Y-t?9oKcfL(@r*eM0;sBE z!&LAW^uy0}Ey%yZs64&Y-BOqa122uu&KDM*_Wo{O4bH4EZbz8;>FxmsaovnjLDny# z@(hytCx@|!$5nd!#&xt!frpR8JQ~c_(hg5fvhq5!!?`;;(#&&uEi zp&eilsAq^|isQD*tIQ@pCyd+oMq;{=1`SSuqO z)aHiq!;ICX*GgagH)o!|TBOowL8DschjDf+HJIGjUaANOlPl?MV9Poat>c-M=!#L2Im}{#bMk5HnS(b?qXXBJ~T|8 z(T(qSqFJEr8y+EM5T|hulxm?2vj}3k(c~-%<5cgsLhm#TPNd_m4z zMOoROkn;?x9gO8;&74r|?T2qvfLr4|wW;t|xQ*O6YD$|M?1xWJ;Gm-Z&<(fdDks7K zv4(OSOD`$F4hYWjgvF<&1My7$1F6`HU=-%eV&Nc7Tld zp-xLD>})YDWRs$-d3G4@VOPtswbDKlRxiFBovrpPpaTP|U^GMC{Kn34TNt;gd|6bh zv+ZGwzbJNGIa`G82sfBq!hkzXHxi*FYc1^xed_7*~U1VdxlS@aUW{9wFih z2Mh}B3FB_9FG=-~(7D2Ym~!Zf_?2ttyf7ZT;GqJ!W#R97 zRHdP}^v7bObGbIZ%ou;8V9ga_oHui`b#(T_p<(ArpUwUCa#a{(o5sGF{ZiA_VLV`H zFhUcdbpc(W?SLZcIW4q6iuIsY-W9?%VLTh*kwj~RA>GBLwr5DI^18)!G+i|~hn(y6 z)PWhYf}B0Ofkr|z*--BP-srCkaEI;|@)z~zEp=ASCkev985Q5*l6yIaF}*h&h;Sq1nReU+~aLqL161&0urQ%ssLxvy(V zr5jw(wSZd7i1e6tbg{L6YLjytwQZ1z6VYFfhm{tDwhEo4cG%st9lCaIr{1Vq0tlYr zt!JYmoIAo8Sg(}?KO2LQ6u#G0!ec-{ zQKzziF#UCdq=u09g*_z~b_V7M{efWthzU$BmCb9Y&WDD|7&a)C;Wkf8aRv-mrnHZI ztZia*6k>qpGbzr;G?8#ihf-Zuv1@1wK1_X~l^fp@7w(ByJvffWNJD(cXBOXh6 zJ~JwnxY{A|Sn*isbK#WI$ih14ag~0LeZDZ9Nien*%59#Pik(??xK1=mU>5P@I__=Q ze6VYQ>5<7cyAA`rt{gE+fl^R=Cf_NBIO?~-EsL<8Hk@fr9WL!%ajg`Zp>~ULC#b$Y za0v4{p>t{-F73TZKwpYzdEzSQ^>gd63%4Yo{=raZo>d*uq(FDj$cWmY^!ardS@BBu z`sM<|9I~8KE1s7yorN}4u`c|*$ReX6q(reYHj1>k4p+b){lvgxR>f&HMqA5SV#}Fo z*c5nr9gg5`&hCI^D7RF3<%rP``o-toO&QDTaPo&Th@r0np(9^+vfRrAuc_d*MkA{g zs-C2zao}8V7{TOPS%e zr{H;m!#Pv=3>6HgpzxjKwrMS`g|_LYxV5I{iq+&=r+n2F*i(e_E^QwD*PB)cVHABg zWo_^=O@((a%MsJ?$>PJn!XhXSZ3w9q8`YTTCr4 zsKbpTk}MW|zG=vX%1@JYexYTm`D%r8k+KFbUuVk{Y?vjytPVH%Sk81;sHG2H-|*ymc^z)xFiw0rv%LlU8+I$a zVV*0z*(+u<`zw`$N;Sn)w7aJ;wX4t~Q`59Z^s3Gcb$@APg|-Ai_8Y+v zHbGzwT7UP#D}6Y)IyZp}+Zelwy}b}9XmoCdR$yZQ>$ZrzZmIi@hoc)mEMM$sbZ)Kt zuJ0#Nq(LBqQ( zNyK4KXRqz2aytYboqZPFi=D8PaQ0h&!88Xfiiy8&XdKrgis~772!!B-^3jHGaA(U$p zc$J6{yE~3W_&RkPe9Oss$4c#lEJINjXaX<8fKT3qa+rC%&iYDS*2*_<<-c0@ z@79#VWQf;jFqMX21rXK$I`!PXU(xNHH((;cijMm*aF7+(1~`p@ld2ey@ElWh-h}xt zC7Rg!`zmIC3nqmo3+&4FmtpBx>6`&GFX(!TJ#b<{Y*D>Uqc~`&1X3MgPz)ZLf*N{< zF<|*%CJJZZzze?i+wZ z!ngHA#{)NaX4Q`n=43*}3%iC);DM0`M8c8*#va@$ccSb?E1=2o?BNi$l$IKxQVW-yPwArs36>zTl zvCvwCyD+Za^y9pGIXl2DWwUV(T&(%^IGKTLF|qI?oO-f9G&&3Fe`NkiOfDgKJq-@y z;ZJnOa0KBdXQ7|HR`0i{9%o=I!{+8`@K9S%v9G_Uj2&G+Ts(rNj8hEh){E=^-kXHt zBY5(kR-XHtH7lqE~&>wj^q%tY6%*h(_Ozp&?)QlP(aB009 z8U>?UJwj>i97I8GY(lln%-&5&6}!A%j!r^qu%2OsTcKm%9kD9I(@NJWn#W_6Rjyjd z;qkZCu3F-^U}~LF|2tu3IDYV7)PmO3;|d8X&z}XE^UQiVcZEQRE>eIxTI;qxGaZ8K~zmo+jzRYD;?5>xDeb}|6`Qu{z)7Yq*JFNg5ixy zY^wjh$qx?^6)Ui$6+^`4dW=MXI6NY!vO|EGohAIh`s^0QcqjbEyB(NyHbGpjR$p_Y8lRYdZ#HW_ws>(_m!b8du5eT$ULo37*+`G*Xe8 zC*Uwv#A&RW<}&4IA?vCwH9g<0po!fR{RUO_sCNDSll+nbCK{=t!H$&%^l@5qle>m?P4SUr4r1=?$9nK(gfH1PHm=< z6NBY;mo^h637*;AtZXC7p8l#zrR-&8qcp*@+ou&BWXk>814p!b^bG8Q2efH@LaG$@ z9&MlzLHn13+CU;ra04B3lj7V!EEEduzwhsbeP;NCWBbfmZ1g*i)#FYOgkCR-GhB)KuRzh}@LH9blKhTcM22XSG-AizpM1C4#wVi9|PS;TScX5`-{_Xg9Dl zhIo~r(QdE-(LM(6K^T8>@7>a(0NLPTE=EM)Chn_Llk%E4Ecn*;EQ>x`neeap)` z7GBM%BKPe9c)8qn>VE=Nq%KxZg4;*1QijeB!+*X%qXFNgAqo!dULAA0O!&*Z7FfEBF{ECxN^rxY6V zv2>N%MW6i{%}jm2cf#?1+5A7JpstTY?h|+;4bB(#3}I(oWH>8=A!VO9jJfm{r*=Wy zg$FL2lOx#KarV)zo+8eUVD!(&qKbG*1S7$|-&qmo_;jL7sul56dxolrbM4})6>(nV zA8h&|dl9R)9S{5fhaAC059tDDegwn#boWZW_lM0`V{E?*BHuFphA}ieHtsB>#5kuB zfqc;iXpD&$QDXf!m3VOkqku4fEVa?qvnlvWmXP52BZ@gKg7XZ|4^_CA*m*_ZkKUni zJKHAb^hnAk7h`{BXRX5aI0<)_Mvk>5D?-qlVt??t5^=YtvB`07wZM+B>OqGy?bYNiR%`DA6(fSf%v&a(zF5g z$99{IU7mD~>(+m`Nm4^MLz1=~@jU|fP*u$>WDO&JB#PC%0jeyD6$EoSf1 zdv|0^b;*NRf1eY9;}g|19NHp$kLdMS&9g#7>~(+>XXi!=)ioNXMfG_&FR4~);q~W> z&evKB-NrA7v`Inq2*7{Q4(WxejoNb2+FYcZd#Jt0#j2GH2?O;WmnfeN(BEE)Qx38^ zW3Jj#FB82pRDj^-?F;wj=tP#ag~-*pk#diSa%THW;#*wyy@r2YE_ zTnoUj{jK5#E_0*SQW=(N&W({4gM*cMn3TUsjOt1UorBi%<_MfkAwB&X-V*sM`P+!z zk}dJA(ge5<&5xCcb?0re!S(e_EEgws2>ISt>JC4*M<7-JdKk<#2h}?wa3;x{B53=$ zQ}(JdJDd7<$^NCU>o*XjlyhjD62NS)uLpL8;p?w-I9hHV-|d!w^VclFUO7C=9JCTG zof!CqL!6jZsoW2-v3e=GgDM^4LcoFc2(Rpt#nA~uK0u2^1X82MT)`Uz7kwXas3p|%HmTPv=bo?g1N4E zUj({pG8SaW3~fnpe*{j6Sy*v<11?FGd*QTV3*OUq9*E?voIz^u!3dlxvg9&g-9025 zuq?k@bX{`~>$;c*4-XDlcaJD%n1cM;I9lYRVvPrmI{CyByxusV%*P^dIFCxl6V!Bx z$CWWf60JwefHrwTc8ackI;}3lld54(h6{ov2#8d=$H5BL#`}~i?+J9AaKQ3DtrQRm zY(k$=^+H=f1Im0>^*xNgrU{>Od(SSGB51pMUfG8d>k?Qxt`}6t<>d|H`Y)=+?@c{m zMZctc)ss}$^ULlC)iq8IPc{0jSHy}P9NT5CY2a7ooKUj|weD*obU+zt(`v0>SBe}9 zj|L3r8*j*&NM9GS+XTL;yk{)D;86(BX5SJKCQ#8xQPUuA%e9s#O;D@6qXrq7r7nrZ z>)w^KT9p~&4&rz3spjF&Z9va^U(UNNnd@5ofR|^$O8iiD2%wMPu4(L#RJ&39K@I(} z8q**tGh3%`PI6dv!zO1C1An5%G&Ajh#{E={X+}bA*w3_Ymddb%mot)@=K5UwCQlR8 zWM4$!WB?6eV?}aiHi!?S66WwjIqupEp|}9Wz_u7P+&TZU1`%5BgQwhF zPMiziRvUiG+T~l`Kzj{PXp;}EZCMkpU}|cy-gdZBwIwaIrjxBw4Ob@!>S3!@Gl0_- z?oeMdw=4n2Fl6cSY!MZ3f_Uc#4kx-g2e`&^wlJ4Jtrovkm}^o`ah&*+ zskb$3Qw*bv^sQ4b!*)^2lkgKEb`d)?M->@6MV){QT|TYjt_F(wP2@8z8MWKpKwCL@ zL`&Ocz$1I-G{DWfNfUS~o!cJKL?*WW9@m)xn#j4LhKvM3o5*>>G%~F&gjVPL1`2-w z2OQT?pXb8ZGCZ^3J|BykHaQoF*5tB6T$FZ-)SVV6u_zQwP++^(xlmYrLIo<0l~bDb zq6XSBrC)7|T`Xz^erIX>DVBPP5^PI&sr}{tA;Hw@S4&E|;0|u1o5Bg{V|< zQ^f0}R|+qN`xaGtg{wribRol^?bR}QrM*h>Yh-e~9pO)Yt*Dssc&vjvF$`05-`l(U ze_aC{44pJV@N0p?b@B9iSsGGDi`Q1ZLFo&xO0e3krtggn6wd^G6@SnMaFfynlG=2+ zSyZdIJ>sp_TSW804>XR!Gbn!3-zvNqIYdEZNC6H#<254ZHZjA~ztZ>En8B&3vCoi$B^l+b=R7SDpdK zZLR7Z5MA)NGCl?b9Sl5&9l&MoY4}HUaeu0y7CqPihgeMkHvJDZj2CRvM!DZo7ET1; zULMMGDEBtd{@S?mG@aWJMcpT+!{a*2rA}e7YP&J_i)k+7tm&l>2%jf*t)*_>4@%Pw zum|)|1D&r46kdC{f%Xbr-k_EEi1bW0*V1Y}Dt;7Kp}Z~sG5Mp_B_9`~#F#%YN0g() z6CxenQ1UmFCmU#2XLN60&loyfNz>M#g?XxhPVK1Fwj7=o9SHIW-GT~#Ml@4QXp{S_ z=tkilQ|@7RV)3=Vp&T^9AE)z?_*yPCZgYk?ct<5UPg2mldt+1JY&Uc4RlnENeEhd zuZtGv(am>`=M6g>SO!@2<4|vk*o{}(AWjLq)c`L<;lmq-t%g|FZwsIH3LE&Oz&j1U zwP{fpp64~*ZGiKcSVnj*Ue$Lyv>)&_Jh!gSr@iOaJ7?sM@xJJ&nWSnR^#`JrF;42J zW#99m=$GkNTOSe+ElMGBSY~vp#XwCrToR>typbTNDyNGQLRxFgWU18DzT{aJr9-VF$`$$` zkiBVnU&vV=rO=q0$W}2cqI9?jtj@X?**C3>(ge<^5j^iQz~#qPvLJZ7*I$vVqZB?L z0Y_?Cj@6pO8By9LL2fO~H%6|pa(RcyGouus^T-<7lz*+POG7W+HFAFopiWP#h^f)gV(7hC4T&wVGpgCtpkJI0H|5ds4tG3?6@uj{#T%*Hx-|=Wv zoc9mMHN84g|D}WPq7a&yVte*tX~xpWu-th(Qce!R^t> zRpks_yB*PyKB@BIANsfq+)2^jU6RH1TEW>FEm(v=`4U4=%wxqSX~ta^Gr~1k+|}vo z?kvIw%&4{ptd8B@0#6y68+3usu?iVvh3@fMjWiivtDWn$8s#x~tDP4eYt-=Mk??H+ zxR^C)%bg!BRuMG31-}4B;Ze}=LF$wW^bC_nidWVEcjJ9G*(?0$C`mXMMt|W;0LH`~55HbO*UQ z`V&JY*$=;F0oUOxN-XOWook}M)G6pPh-b`f>F?{vi7)GU`+4Y@;kTCVz8>kH*G8uW z5GM5Sbn9A{{|9)%VQRV9eiUA$bi4oSct>W_TeoN|Zj)DcSI+g(V=XGX16R_AfMMry!?T$8sDf7+I)|z65rNFnqv`}^3qQI`M0ZV(U&t%yB zL+>=0vfdW`oktBWWLQdid-P}aECQDE4n97RrHt``{(|Gfozas#`7mp=;5ip+Gyaw+ zo4e@6WIecJhGR62t_IHdeog`w}^yPZBbkc!b8}|WNNwEddpEQ84 zK}3J5Ar07rS}Yxm{w+_gS6arB#yJ%I>k+N3J;%9M;K8K~j1F~g^oPdZ{5)UFe&x?X zE%>FKw(0N@Z#V`}?D^8y`-)xNaQr>?t+zQ)K3Aip+jpk-2XuGXLj)uCj=IQ`7Ok&~)Oz zYdU$Prc)tJr^A}g)M+|fujyPw)A;bdz#MtrKYpr z*L3a&n$G`~qLZ;7YC3+DrW1dy>Ez#NI`uy^o&H-*XZ}vp*`qa``+H628x@_3Ihu|) zX*%&gHJ$vCrc*!Gbov-gXMUpTY)sR+xTf<7MWN`C7liXGd!~H%8O>v5L;dj@5Mh zI87(UX*&5!O{e}z)9K?iof)s`>;z5cCTcoANzu93KWjREf~FIbHJzNI>C~?@o&L3^ zGr!Sv_Fpue`&Uip|4q^P*l#r*|94F%{zKEr|I~DQK|JL^jf=cgTb2v(z%29GIN2z%nrRQ^$S-??tAxF7I9OV}?l!~3kQG5wUiPJesF6Ah-jHC2& zjxsAa%C6)nw~C|uYKGFWGdPN`;V5w?N6EDurPgtjUe8fx14r479OX7~l;6xyCUzD_ z@hu!B&gLk&m7~-)j?&vX%Ix4MyOX2bE{^iM8Op}a;V8a`qr|x!CC}q1bv{Sw3pmPL z$Witpj&c`sl)r?bT>pJ z=P3IIN4YmS%D=@>D)u%<@pm{%yvtGYJ&scEbCmvoqs)gKWk2F5_c2HL!wjWkpKuia zl%vFF93?;JDD?$L=~-V^<6k13IhmvEY>slLaFn0JP$qUNNAbBFCFXIIoX=5e0Y~YD z9Ay@9lwHhG?lg|_OBl+=PUk4Tl%vElj*`ncO0D21y^^EMDvq+NIm(^EQGN|Wx!9Q; z#n*C_SjSOvJx8ex9HlpMl-a~lb~8u0vpC9cVJIIvo1^$vjuP8AN^a*UwS%MdPL49W zILhwkD0dD=`8^sXW3h8Nil4_(;(U&h7jTrikfZcP9Az%%D0>MzDA$x-quj#5{1l)i?e%(Wb4uj43pJxBQ)7)r!$Q;`@w{euY zoulj>9OdrhD1R42$=KZ-#rJZQ*vC>-YF_i~iKkD*lTevaY~ zaFlqEqvS&zr5@%e{Rl^yM>)zq#!>EZj`B}1l#V^gQT!>65>IoKe1@acvmB+L<0$hy zN7)xR%Du=@{w0Pov6nfDzrs=CRgRLcag=(Uqx2gbW!~f{`xZyJw>iqc!%#N%E=TeA zI7+DQFaYSxidM+uVpA6TgOp+Jx7TR93?k$l-k5mdNW6v zvpC9b;V5@DNBOM`C1Tq+if`vAv4f-JPL5K$I7;v4D02=+**zTP&gCe79z)64`5eVB z;3#n+N6CvgN?puR`Vx*ZmvWT7jHBG;9ObWIC>6Vsqxe-EC9dWuc@0OYYdK0^$5G~b zjfdYzlEd3tsEt9<0y4IN9j8_%G}9O_AZWccXO2A%TOk^kE8g0 zjuHnrO5Vd!>L5qyLmXx9T>Gg`tY*1u&qat&g6q(=bk`O#pWPFPv6K5+j zxmA&=ZHi29S7c^~BC|UcncJnv{BDCSCPr{6q!0-k?9K*nYmDr*^3mJ zyI7I=OI#8HfQpP?rpUzQicDUi$kdgJOkbtQ%+-p_UZcp|wTjGN=aLZOQ)K)GMJ8@k zWb!6Orfybb`W8iIZdGLVHbv%cS7iPU*q+7yC`?=r}t|* zb3oJCdo-OpsOkJ6MMK0+)A9Q>ow#4q$p;>pVD;dX-%h}(RAinO=q9ebnbag=U-4XMB+3Ze@WAcmo=SyMboKQHJyG< z)0x*boqa>oxi>YPe@oF2b<=eG9Ze_R)pYVbO{d=1bov8LXFk+)_9IQ_KGt;pu%aQt zrs?>nnofMC>E!2{PJN;2^ei|tAp8@eYMRc@)^zR^P3Pw*8lq{Mj?dL}VxFdx^EI7X zpy~8NO=lKqI=fiYxzjYAU!rJ;oM}3~RMUxNnocg)bZUjB(G)brC)Q~?xn9$$4Vq4G)O2Q(rn8$hojXg@`7Mfuh?u71TQ!~7rs?E%O{aEf UI=xfVnO&OB?$&hf98Kr{A8JXe`~Uy| literal 0 HcmV?d00001

      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