From 8735586ed5af013ed8d7e4263cb51f7f5c183270 Mon Sep 17 00:00:00 2001 From: OverloadedOrama <35376950+OverloadedOrama@users.noreply.github.com> Date: Sun, 12 Jan 2025 18:43:13 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20Orama-In?= =?UTF-8?q?teractive/Pixelorama@77feb2434ae39e3979dcd8117f7f52521f2c76a0?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- early_access/index.144x144.png | Bin 0 -> 611 bytes early_access/index.180x180.png | Bin 0 -> 960 bytes early_access/index.512x512.png | Bin 0 -> 3095 bytes early_access/index.apple-touch-icon.png | Bin 0 -> 960 bytes early_access/index.audio.worklet.js | 213 ++++++ early_access/index.html | 200 ++++++ early_access/index.icon.png | Bin 0 -> 1026 bytes early_access/index.js | 908 ++++++++++++++++++++++++ early_access/index.manifest.json | 1 + early_access/index.offline.html | 41 ++ early_access/index.pck | Bin 0 -> 4795888 bytes early_access/index.png | Bin 0 -> 13558 bytes early_access/index.service.worker.js | 166 +++++ early_access/index.wasm | Bin 0 -> 35376909 bytes index.144x144.png | Bin 0 -> 611 bytes index.180x180.png | Bin 0 -> 960 bytes index.512x512.png | Bin 0 -> 3095 bytes index.apple-touch-icon.png | Bin 0 -> 960 bytes index.audio.worklet.js | 213 ++++++ index.html | 200 ++++++ index.icon.png | Bin 0 -> 1026 bytes index.js | 908 ++++++++++++++++++++++++ index.manifest.json | 1 + index.offline.html | 41 ++ index.pck | Bin 0 -> 4620000 bytes index.png | Bin 0 -> 13558 bytes index.service.worker.js | 166 +++++ index.wasm | Bin 0 -> 35376909 bytes 28 files changed, 3058 insertions(+) create mode 100644 early_access/index.144x144.png create mode 100644 early_access/index.180x180.png create mode 100644 early_access/index.512x512.png create mode 100644 early_access/index.apple-touch-icon.png create mode 100644 early_access/index.audio.worklet.js create mode 100644 early_access/index.html create mode 100644 early_access/index.icon.png create mode 100644 early_access/index.js create mode 100644 early_access/index.manifest.json create mode 100644 early_access/index.offline.html create mode 100644 early_access/index.pck create mode 100644 early_access/index.png create mode 100644 early_access/index.service.worker.js create mode 100644 early_access/index.wasm create mode 100644 index.144x144.png create mode 100644 index.180x180.png create mode 100644 index.512x512.png create mode 100644 index.apple-touch-icon.png create mode 100644 index.audio.worklet.js create mode 100644 index.html create mode 100644 index.icon.png create mode 100644 index.js create mode 100644 index.manifest.json create mode 100644 index.offline.html create mode 100644 index.pck create mode 100644 index.png create mode 100644 index.service.worker.js create mode 100644 index.wasm diff --git a/early_access/index.144x144.png b/early_access/index.144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..5e65f72f81cab21a7c7e640acf105e3d30deb838 GIT binary patch literal 611 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q4M;wBd$a>cF%}28J29*~C-ahlfl1cW#WAE} z&f7bRc_D!!4G$%QoNq8{Cvf|IxRSKuka+9L8MX@ouJki?9u5z?64<#&Tj7MGc;nCW zAL1^(k3Mj+wz9r&*UsB#Crsb{`tX%Cob8wYUUIK^P*lGEi=bS^-@mWRlFm);RJ4g> zQW6yCZ17-lQBn|MoXFAP;-G>>==RpTDswi~Z(nzQm+kKjUj+LOu@R+@Ny#$u7eoE* zU7i&mAJwFso3eWMdFA43Wt%S&tDhLxK^+|S-R;qomFAp3&82a81KnpSrRGBS>u&X( zv7GbH{h80sJ9qVKTNZCV6O6XaSW-L z^Y*S`c3i4V`@`jv^lq7TH1YY0v1)cGXn38Ra8a>4=}wH1W{K#XS?Bzk?jPXmTGZX_ z+|IYPn{n$7ktFu^O9|~xuM(7x@IMfF`tWUaajg7<-D^5UZ%G`|IM3o zx8^_m@kc*-&E2RklIletZ#~>m@%G`O^A;2J|LxfO`|01?;b}SchRGsgt{0YY%o1^& ztdtSN;@h>rQ_w`SNsW+T7|5RU5^=HhrNzhI`G}vhG1s&Ce+p#&^7C){4X3?c{eJrV znzUk@-tFZaZS{4pCu{CDu5=>JbHoP&Zk3Uz z=3fW8B(pjv_Ey{%$v^z_$O&ekAA{IYPJVyzuI6oWJ#p&a#fR^D9$vj)e=9~dx%k*OljrYr@1B3n|IS9Lnt$5s z=U?~#tNi~9sOqca?c#q-_Qxs`pT2o2?mz$T+^y$7-Lkj3^Y`uh!`jB%_7+VbDWSq* b=s&~khw&CSBic^`vm}G3tDnm{r-UW|vd^bE literal 0 HcmV?d00001 diff --git a/early_access/index.512x512.png b/early_access/index.512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..20749934e558f419a0c3b18d0a05ebf429166b22 GIT binary patch literal 3095 zcmd^B+f!3V7+)?zf@QG6R4^&fDq<@NQ5+}<1RWT3ut1@;5ww7(4yTjj_JgKjq8fnpqX%R5eafoR zOnscg9e21gUpC3}Bp10qIPv};9$&jAeYX9RxLE&RwKvJpw=dP5q5U4e-6_env9vU4 z9quc9>xZSzi}eqRH6GLIg2;c~(muV>DTU8zO^>U*GYOwFy3QJ|uxkj&Tf>Y*<&Naob;1oha+&uH|bXeDF?sl_G(m)fnLYVb)8Q&Fv5iS4) z{tf`_!yZ!T41hBp0Nh3ZHf#mJ{{R5drEl(rR0Y<$M%fnnk?xfSLVN=p2J1444Rz(r zdC6%=gQ5YFXO_xp-rZJjD2SezS!k$B`6akHXQo03-BL9$I`vxgZGKQAS56T!)i2O@ zCCp3}%F?f<7iV85f>@DB$LT8|t@R!ye*!RZ~l5wTYs*$gpFB4#TRg1D983R>1L4zTp) zq$XhqA|{#`vjp3D-NmK(iCGD^*ZF$$(aqf#tP6sC)foCg3VPuzgR(Lh2_aOB z0g_V-GcQ=`@@zgFB93o9N`QwON4O4B9JuoZiR52QP5%_qbW)>litXL+i{c({TNf4Sj~Tp5I-EN|TRUOgxQ!+!`!4$VUXz+d{Q5&Y z)3}h?%BLbOp7??mjR>+B^rWcNYT=hZwaH1l6uyvk9t}9uVvr{)!~7zBHg!|0BC~$1 zt+w(6W+m!#Xe;RD1|@K8ml%M{P3Q2IPjc#WVJzgUH5ZwyHDpL*JZ|)==(TGy%52s% z#w&S;CqzrDjikd9aInLiPegbWvBYB&#LN#x{tO-5!M5p9cPWu^% z?CW1S4kI(^=n!}J(DGP&&5$BwqDPCa0~F}0vX;r_g>_A{DcA*yH+#tV-+bIj4Ub^4 zjXxYo(ApUKhr;IO8X|Ps_|7&O5N`3sAkkdgzGikM&msxA&kz*EL8P-H*`?h;v@fgC-J4kHGRSo z>MZ-YNKV6O6XaSW-L z^Y*S`c3i4V`@`jv^lq7TH1YY0v1)cGXn38Ra8a>4=}wH1W{K#XS?Bzk?jPXmTGZX_ z+|IYPn{n$7ktFu^O9|~xuM(7x@IMfF`tWUaajg7<-D^5UZ%G`|IM3o zx8^_m@kc*-&E2RklIletZ#~>m@%G`O^A;2J|LxfO`|01?;b}SchRGsgt{0YY%o1^& ztdtSN;@h>rQ_w`SNsW+T7|5RU5^=HhrNzhI`G}vhG1s&Ce+p#&^7C){4X3?c{eJrV znzUk@-tFZaZS{4pCu{CDu5=>JbHoP&Zk3Uz z=3fW8B(pjv_Ey{%$v^z_$O&ekAA{IYPJVyzuI6oWJ#p&a#fR^D9$vj)e=9~dx%k*OljrYr@1B3n|IS9Lnt$5s z=U?~#tNi~9sOqca?c#q-_Qxs`pT2o2?mz$T+^y$7-Lkj3^Y`uh!`jB%_7+VbDWSq* b=s&~khw&CSBic^`vm}G3tDnm{r-UW|vd^bE literal 0 HcmV?d00001 diff --git a/early_access/index.audio.worklet.js b/early_access/index.audio.worklet.js new file mode 100644 index 000000000..3b94cab85 --- /dev/null +++ b/early_access/index.audio.worklet.js @@ -0,0 +1,213 @@ +/**************************************************************************/ +/* audio.worklet.js */ +/**************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/**************************************************************************/ +/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ +/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/**************************************************************************/ + +class RingBuffer { + constructor(p_buffer, p_state, p_threads) { + this.buffer = p_buffer; + this.avail = p_state; + this.threads = p_threads; + this.rpos = 0; + this.wpos = 0; + } + + data_left() { + return this.threads ? Atomics.load(this.avail, 0) : this.avail; + } + + space_left() { + return this.buffer.length - this.data_left(); + } + + read(output) { + const size = this.buffer.length; + let from = 0; + let to_write = output.length; + if (this.rpos + to_write > size) { + const high = size - this.rpos; + output.set(this.buffer.subarray(this.rpos, size)); + from = high; + to_write -= high; + this.rpos = 0; + } + if (to_write) { + output.set(this.buffer.subarray(this.rpos, this.rpos + to_write), from); + } + this.rpos += to_write; + if (this.threads) { + Atomics.add(this.avail, 0, -output.length); + Atomics.notify(this.avail, 0); + } else { + this.avail -= output.length; + } + } + + write(p_buffer) { + const to_write = p_buffer.length; + const mw = this.buffer.length - this.wpos; + if (mw >= to_write) { + this.buffer.set(p_buffer, this.wpos); + this.wpos += to_write; + if (mw === to_write) { + this.wpos = 0; + } + } else { + const high = p_buffer.subarray(0, mw); + const low = p_buffer.subarray(mw); + this.buffer.set(high, this.wpos); + this.buffer.set(low); + this.wpos = low.length; + } + if (this.threads) { + Atomics.add(this.avail, 0, to_write); + Atomics.notify(this.avail, 0); + } else { + this.avail += to_write; + } + } +} + +class GodotProcessor extends AudioWorkletProcessor { + constructor() { + super(); + this.threads = false; + this.running = true; + this.lock = null; + this.notifier = null; + this.output = null; + this.output_buffer = new Float32Array(); + this.input = null; + this.input_buffer = new Float32Array(); + this.port.onmessage = (event) => { + const cmd = event.data['cmd']; + const data = event.data['data']; + this.parse_message(cmd, data); + }; + } + + process_notify() { + if (this.notifier) { + Atomics.add(this.notifier, 0, 1); + Atomics.notify(this.notifier, 0); + } + } + + parse_message(p_cmd, p_data) { + if (p_cmd === 'start' && p_data) { + const state = p_data[0]; + let idx = 0; + this.threads = true; + this.lock = state.subarray(idx, ++idx); + this.notifier = state.subarray(idx, ++idx); + const avail_in = state.subarray(idx, ++idx); + const avail_out = state.subarray(idx, ++idx); + this.input = new RingBuffer(p_data[1], avail_in, true); + this.output = new RingBuffer(p_data[2], avail_out, true); + } else if (p_cmd === 'stop') { + this.running = false; + this.output = null; + this.input = null; + this.lock = null; + this.notifier = null; + } else if (p_cmd === 'start_nothreads') { + this.output = new RingBuffer(p_data[0], p_data[0].length, false); + } else if (p_cmd === 'chunk') { + this.output.write(p_data); + } + } + + static array_has_data(arr) { + return arr.length && arr[0].length && arr[0][0].length; + } + + process(inputs, outputs, parameters) { + if (!this.running) { + return false; // Stop processing. + } + if (this.output === null) { + return true; // Not ready yet, keep processing. + } + const process_input = GodotProcessor.array_has_data(inputs); + if (process_input) { + const input = inputs[0]; + const chunk = input[0].length * input.length; + if (this.input_buffer.length !== chunk) { + this.input_buffer = new Float32Array(chunk); + } + if (!this.threads) { + GodotProcessor.write_input(this.input_buffer, input); + this.port.postMessage({ 'cmd': 'input', 'data': this.input_buffer }); + } else if (this.input.space_left() >= chunk) { + GodotProcessor.write_input(this.input_buffer, input); + this.input.write(this.input_buffer); + } else { + // this.port.postMessage('Input buffer is full! Skipping input frame.'); // Uncomment this line to debug input buffer. + } + } + const process_output = GodotProcessor.array_has_data(outputs); + if (process_output) { + const output = outputs[0]; + const chunk = output[0].length * output.length; + if (this.output_buffer.length !== chunk) { + this.output_buffer = new Float32Array(chunk); + } + if (this.output.data_left() >= chunk) { + this.output.read(this.output_buffer); + GodotProcessor.write_output(output, this.output_buffer); + if (!this.threads) { + this.port.postMessage({ 'cmd': 'read', 'data': chunk }); + } + } else { + // this.port.postMessage('Output buffer has not enough frames! Skipping output frame.'); // Uncomment this line to debug output buffer. + } + } + this.process_notify(); + return true; + } + + static write_output(dest, source) { + const channels = dest.length; + for (let ch = 0; ch < channels; ch++) { + for (let sample = 0; sample < dest[ch].length; sample++) { + dest[ch][sample] = source[sample * channels + ch]; + } + } + } + + static write_input(dest, source) { + const channels = source.length; + for (let ch = 0; ch < channels; ch++) { + for (let sample = 0; sample < source[ch].length; sample++) { + dest[sample * channels + ch] = source[ch][sample]; + } + } + } +} + +registerProcessor('godot-processor', GodotProcessor); diff --git a/early_access/index.html b/early_access/index.html new file mode 100644 index 000000000..014edfe0a --- /dev/null +++ b/early_access/index.html @@ -0,0 +1,200 @@ + + + + + + Pixelorama + + + + + + + + + Your browser does not support the canvas tag. + + + + +
+ + +
+
+ + + + + + diff --git a/early_access/index.icon.png b/early_access/index.icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b249a953af19ef55aa8ee9f297743833d5527b18 GIT binary patch literal 1026 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G!U;i$lZxy-8q?;3=GVBJY5_^ zD(1YsrkE$4DB^a}CnYGAJ<@TzfaacMikw>c0iBKC1wulKmBpvEO0%_?ZdeiN7-|uF zjQRT<-aY=xXRq#$;n{t6{`Hrix`{Sr`t{2u-{F zw{osrU|CI0{lDvPFMnw<(P!WgrWv~J!#|^}CdU1J{m&l;RrR+XzBQ@(U;5jms(zL@ zLks7SMY+q^ugKo>yDZG{nW@2mkydEK*)I*5^Y`m7{(gP-;}?H3!3l-NF&0z1TVD3V z_t*Uwe;d5~@H_R(KAOgq?qz1X+8uGr%@0g@USIF_-;t*2@i%`|o7&A?X_{AnnVP}V L)z4*}Q$iB}60+>O literal 0 HcmV?d00001 diff --git a/early_access/index.js b/early_access/index.js new file mode 100644 index 000000000..322c2d1eb --- /dev/null +++ b/early_access/index.js @@ -0,0 +1,908 @@ + +var Godot = (() => { + var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined; + + return ( +function(moduleArg = {}) { + var moduleRtn; + +var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});["_memory","__Z14godot_web_mainiPPc","__emwebxr_on_input_event","__emwebxr_on_simple_event","___indirect_function_table","_main","onRuntimeInitialized"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(readyPromise,prop)){Object.defineProperty(readyPromise,prop,{get:()=>abort("You are getting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>abort("You are setting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)")}else 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(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");{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=>{assert(!isFileURI(url),"readAsync does not work with file:// URLs");return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}else{throw new Error("environment detection error")}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module["arguments"])arguments_=Module["arguments"];legacyModuleProp("arguments","arguments_");if(Module["thisProgram"])thisProgram=Module["thisProgram"];legacyModuleProp("thisProgram","thisProgram");if(Module["quit"])quit_=Module["quit"];legacyModuleProp("quit","quit_");assert(typeof Module["memoryInitializerPrefixURL"]=="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]=="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]=="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]=="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["read"]=="undefined","Module.read option was removed");assert(typeof Module["readAsync"]=="undefined","Module.readAsync option was removed (modify readAsync in JS)");assert(typeof Module["readBinary"]=="undefined","Module.readBinary option was removed (modify readBinary in JS)");assert(typeof Module["setWindowTitle"]=="undefined","Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)");assert(typeof Module["TOTAL_MEMORY"]=="undefined","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");legacyModuleProp("asm","wasmExports");legacyModuleProp("readAsync","readAsync");legacyModuleProp("readBinary","readBinary");legacyModuleProp("setWindowTitle","setWindowTitle");assert(!ENVIRONMENT_IS_NODE,"node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable.");assert(!ENVIRONMENT_IS_SHELL,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.");var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];legacyModuleProp("wasmBinary","wasmBinary");if(typeof WebAssembly!="object"){err("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed"+(text?": "+text:""))}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);Module["HEAP64"]=HEAP64=new BigInt64Array(b);Module["HEAPU64"]=HEAPU64=new BigUint64Array(b)}assert(!Module["STACK_SIZE"],"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time");assert(typeof Int32Array!="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,"JS engine does not provide full typed array support");assert(!Module["wasmMemory"],"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally");assert(!Module["INITIAL_MEMORY"],"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically");function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);if(max==0){max+=4}HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0>>2]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();if(max==0){max+=4}var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`)}if(HEAPU32[0>>2]!=1668509029){abort("Runtime error: The application has corrupted its heap memory area (address zero)!")}}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);callRuntimeCallbacks(__ATINIT__)}function preMain(){checkStackCookie();callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){assert(!runtimeExited);checkStackCookie();___funcs_on_exit();callRuntimeCallbacks(__ATEXIT__);FS.quit();TTY.shutdown();IDBFS.quit();runtimeExited=true}function postRun(){checkStackCookie();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)}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function getUniqueRunDependency(id){var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies);if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!="undefined"){runDependencyWatcher=setInterval(()=>{if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err(`dependency: ${dep}`)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function createExportWrapper(name,nargs){return(...args)=>{assert(runtimeInitialized,`native function \`${name}\` called before runtime initialization`);assert(!runtimeExited,`native function \`${name}\` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)`);var f=wasmExports[name];assert(f,`exported native function \`${name}\` not found`);assert(args.length<=nargs,`native function \`${name}\` called with ${args.length} args but expects ${nargs}`);return f(...args)}}function findWasmBinary(){var f="godot.web.template_release.wasm32.nothreads.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);if(isFileURI(wasmBinaryFile)){err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`)}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(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)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["memory"];assert(wasmMemory,"memory not found in wasm exports");updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];assert(wasmTable,"table not found in wasm exports");addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}function legacyModuleProp(prop,newName,incoming=true){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get(){let extra=incoming?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":"";abort(`\`Module.${prop}\` has been replaced by \`${newName}\``+extra)}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`)}}function isExportedByForceFilesystem(name){return name==="FS_createPath"||name==="FS_createDataFile"||name==="FS_createPreloadedFile"||name==="FS_unlink"||name==="addRunDependency"||name==="FS_createLazyFile"||name==="FS_createDevice"||name==="removeRunDependency"}function missingGlobal(sym,msg){if(typeof globalThis!="undefined"){Object.defineProperty(globalThis,sym,{configurable:true,get(){warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`);return undefined}})}}missingGlobal("buffer","Please use HEAP8.buffer or wasmMemory.buffer");missingGlobal("asm","Please use wasmExports instead");function missingLibrarySymbol(sym){if(typeof globalThis!="undefined"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get(){var msg=`\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`;var librarySymbol=sym;if(!librarySymbol.startsWith("_")){librarySymbol="$"+sym}msg+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`;if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}warnOnce(msg);return undefined}})}unexportedRuntimeSymbol(sym)}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get(){var msg=`'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}abort(msg)}})}}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP64[ptr>>3];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=Module["noExitRuntime"]||false;var ptrToString=ptr=>{assert(typeof ptr==="number");ptr>>>=0;return"0x"+ptr.toString(16).padStart(8,"0")};function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":HEAP64[ptr>>3]=BigInt(value);break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}};var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>{assert(typeof ptr=="number",`UTF8ToString expects a number (got ${typeof ptr})`);return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""};var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var ___call_sighandler=(fp,sig)=>getWasmTableEntry(fp)(sig);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:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else abort("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[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=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{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{assert(typeof str==="string",`stringToUTF8Array expects a string (got ${typeof str})`);if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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;if(u>1114111)warnOnce("Invalid Unicode code point "+ptrToString(u)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");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 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 FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(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;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var mmapAlloc=size=>{abort("internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported")};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}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(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(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>>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(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(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(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(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(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},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(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(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(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);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url).then(arrayBuffer=>{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},err=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_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){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var IDBFS={dbs:{},indexedDB:()=>{if(typeof indexedDB!="undefined")return indexedDB;var ret=null;if(typeof window=="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",queuePersist:mount=>{function onPersistComplete(){if(mount.idbPersistState==="again")startPersist();else mount.idbPersistState=0}function startPersist(){mount.idbPersistState="idb";IDBFS.syncfs(mount,false,onPersistComplete)}if(!mount.idbPersistState){mount.idbPersistState=setTimeout(startPersist,0)}else if(mount.idbPersistState==="idb"){mount.idbPersistState="again"}},mount:mount=>{var mnt=MEMFS.mount(mount);if(mount?.opts?.autoPersist){mnt.idbPersistState=0;var memfs_node_ops=mnt.node_ops;mnt.node_ops=Object.assign({},mnt.node_ops);mnt.node_ops.mknod=(parent,name,mode,dev)=>{var node=memfs_node_ops.mknod(parent,name,mode,dev);node.node_ops=mnt.node_ops;node.idbfs_mount=mnt.mount;node.memfs_stream_ops=node.stream_ops;node.stream_ops=Object.assign({},node.stream_ops);node.stream_ops.write=(stream,buffer,offset,length,position,canOwn)=>{stream.node.isModified=true;return node.memfs_stream_ops.write(stream,buffer,offset,length,position,canOwn)};node.stream_ops.close=stream=>{var n=stream.node;if(n.isModified){IDBFS.queuePersist(n.idbfs_mount);n.isModified=false}if(n.memfs_stream_ops.close)return n.memfs_stream_ops.close(stream)};return node};mnt.node_ops.mkdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.mkdir(...args));mnt.node_ops.rmdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rmdir(...args));mnt.node_ops.symlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.symlink(...args));mnt.node_ops.unlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.unlink(...args));mnt.node_ops.rename=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rename(...args))}return mnt},syncfs:(mount,populate,callback)=>{IDBFS.getLocalSet(mount,(err,local)=>{if(err)return callback(err);IDBFS.getRemoteSet(mount,(err,remote)=>{if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},quit:()=>{Object.values(IDBFS.dbs).forEach(value=>value.close());IDBFS.dbs={}},getDB:(name,callback)=>{var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=()=>{db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=e=>{callback(e.target.error);e.preventDefault()}},getLocalSet:(mount,callback)=>{var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return p=>PATH.join2(root,p)}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push(...FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:(mount,callback)=>{var entries={};IDBFS.getDB(mount.mountpoint,(err,db)=>{if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=e=>{callback(e.target.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=event=>{var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:(path,callback)=>{var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:(path,entry,callback)=>{try{if(FS.isDir(entry["mode"])){FS.mkdirTree(path,entry["mode"])}else if(FS.isFile(entry["mode"])){FS.writeFile(path,entry["contents"],{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry["mode"]);FS.utime(path,entry["timestamp"],entry["timestamp"])}catch(e){return callback(e)}callback(null)},removeLocalEntry:(path,callback)=>{try{var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:(store,path,callback)=>{var req=store.get(path);req.onsuccess=event=>callback(null,event.target.result);req.onerror=e=>{callback(e.target.error);e.preventDefault()}},storeRemoteEntry:(store,path,entry,callback)=>{try{var req=store.put(entry,path)}catch(e){callback(e);return}req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},removeRemoteEntry:(store,path,callback)=>{var req=store.delete(path);req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},reconcile:(src,dst,callback)=>{var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e["timestamp"].getTime()!=e2["timestamp"].getTime()){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){if(!src.entries[key]){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=transaction.onabort=e=>{done(e.target.error);e.preventDefault()};transaction.oncomplete=e=>{if(!errored){callback(null)}};create.sort().forEach(path=>{if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(err,entry)=>{if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,(err,entry)=>{if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(path=>{if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var strError=errno=>UTF8ToString(_strerror(errno));var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class extends Error{constructor(errno){super(runtimeInitialized?strError(errno):"");this.name="ErrnoError";this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(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;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},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;i40){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>>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)}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){assert(typeof parent=="object");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},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){if(!FS.isDir(dir.mode))return 54;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(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){assert(fd>=-1);stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;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(...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){assert(FS.syncFSRequests>0);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){if(typeof type=="string"){throw type}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);assert(idx!==-1);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=0);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){assert(offset>=0);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){assert(offset>=0);if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},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 randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);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.getStreamChecked(fd);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);assert(stdin.fd===0,`invalid handle for stdin (${stdin.fd})`);assert(stdout.fd===1,`invalid handle for stdout (${stdout.fd})`);assert(stderr.fd===2,`invalid handle for stderr (${stderr.fd})`)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS:MEMFS,IDBFS:IDBFS}},init(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;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;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}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}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}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;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]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});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);assert(size>=0);if(contents.slice){for(var i=0;i{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},absolutePath(){abort("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder(){abort("FS.createFolder has been removed; use FS.mkdir instead")},createLink(){abort("FS.createLink has been removed; use FS.symlink instead")},joinPath(){abort("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc(){abort("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath(){abort("FS.standardizePath has been removed; use PATH.normalize instead")}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(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(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;HEAP64[buf+24>>3]=BigInt(stat.size);HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>3]=BigInt(Math.floor(atime/1e3));HEAPU32[buf+48>>2]=atime%1e3*1e3;HEAP64[buf+56>>3]=BigInt(Math.floor(mtime/1e3));HEAPU32[buf+64>>2]=mtime%1e3*1e3;HEAP64[buf+72>>3]=BigInt(Math.floor(ctime/1e3));HEAPU32[buf+80>>2]=ctime%1e3*1e3;HEAP64[buf+88>>3]=BigInt(stat.ino);return 0},doMsync(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)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){try{assert(nfds<=64,"nfds must be less than or equal to 64");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd>2]:0,tv_usec=readfds?HEAP32[timeout+4>>2]:0;timeoutInMillis=(tv_sec+tv_usec/1e6)*1e3}flags=stream.stream_ops.poll(stream,timeoutInMillis)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var SOCKFS={mount(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this};Module["websocket"].emit=function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}};return FS.createNode(null,"/",16384|511,0)},createSocket(family,type,protocol){type&=~526336;var streaming=type==1;if(streaming&&protocol&&protocol!=6){throw new FS.ErrnoError(66)}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer(sock,addr,port){var ws;if(typeof addr=="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}var opts=undefined;if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=subProtocols}if(runtimeConfig&&null===Module["websocket"]["subprotocol"]){subProtocols="null";opts=undefined}var WebSocketConstructor;{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer(sock,addr,port){return sock.peers[addr+":"+port]},addPeer(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents(sock,peer){var first=true;var handleOpen=function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data=="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}data=new Uint8Array(data)}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,isBinary){if(!isBinary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module["websocket"].emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask},ioctl(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return 28}},close(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i{var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket};var inetPton4=str=>{var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};var jstoi_q=str=>parseInt(str);var inetPton6=str=>{var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w{switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0};var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};function ___syscall_accept4(fd,addr,addrlen,flags,d1,d2){try{var sock=getSocketFromFD(fd);var newsock=sock.sock_ops.accept(sock);if(addr){var errno=writeSockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport,addrlen);assert(!errno)}return newsock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var inetNtop4=addr=>(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255);var inetNtop6=ints=>{var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word{var family=HEAP16[sa>>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}};var getSocketAddress=(addrp,addrlen,allowNull)=>{if(allowNull&&addrp===0)return null;var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info};function ___syscall_bind(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_connect(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}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);assert(flags===0);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 ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function syscallGetVarargI(){assert(SYSCALLS.varargs!=undefined);var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>numINT53_MAX?NaN:Number(num);function ___syscall_ftruncate64(fd,length){length=bigintToI53Checked(length);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>{assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)};function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size>3]=BigInt(id);HEAP64[dirp+pos+8>>3]=BigInt((idx+1)*struct_size);HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18]=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_getsockname(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport,addrlen);assert(!errno);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_getsockopt(fd,level,optname,optval,optlen,d1){try{var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-50}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:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{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_listen(fd,backlog){try{var sock=getSocketFromFD(fd);sock.sock_ops.listen(sock,backlog);return 0}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_mknodat(dirfd,path,mode,dev){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);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;assert(!flags,`unknown flags in __syscall_newfstatat: ${flags}`);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?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_poll(fds,nfds,timeout){try{var nonzero=0;for(var i=0;i>2];var events=HEAP16[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream,-1)}}mask&=events|8|16;if(mask)nonzero++;HEAP16[pollfd+6>>1]=mask}return nonzero}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_recvfrom(fd,buf,len,flags,addr,addrlen){try{var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen);assert(!errno)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}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_sendto(fd,message,length,flags,addr,addr_len){try{var sock=getSocketFromFD(fd);var dest=getSocketAddress(addr,addr_len,true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_socket(domain,type,protocol){try{var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.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_statfs64(path,size,buf){try{path=SYSCALLS.getStr(path);assert(size===64);HEAP32[buf+4>>2]=4096;HEAP32[buf+40>>2]=4096;HEAP32[buf+8>>2]=1e6;HEAP32[buf+12>>2]=5e5;HEAP32[buf+16>>2]=5e5;HEAP32[buf+20>>2]=FS.nextInode;HEAP32[buf+24>>2]=1e6;HEAP32[buf+28>>2]=42;HEAP32[buf+44>>2]=2;HEAP32[buf+36>>2]=255;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_symlink(target,linkpath){try{target=SYSCALLS.getStr(target);linkpath=SYSCALLS.getStr(linkpath);FS.symlink(target,linkpath);return 0}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 __abort_js=()=>{abort("native code called abort()")};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};function __gmtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(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}var isLeapYear=year=>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];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(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=ydayFromDate(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}var __tzset_js=(timezone,daylight,std_name,dst_name)=>{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);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);assert(winterName);assert(summerName);assert(lengthBytesUTF8(winterName)<=16,`timezone name truncated to fit in TZNAME_MAX (${winterName})`);assert(lengthBytesUTF8(summerName)<=16,`timezone name truncated to fit in TZNAME_MAX (${summerName})`);if(summerOffset{runtimeKeepaliveCounter+=1};var _emscripten_set_main_loop_timing=(mode,value)=>{Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){err("emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.");return 1}if(!Browser.mainLoop.running){runtimeKeepalivePush();Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof Browser.setImmediate=="undefined"){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);Browser.setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){Module["setImmediates"]??=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}else{Browser.setImmediate=setImmediate}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){Browser.setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0};var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var webgl_enable_ANGLE_instanced_arrays=ctx=>{var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=(index,divisor)=>ext["vertexAttribDivisorANGLE"](index,divisor);ctx["drawArraysInstanced"]=(mode,first,count,primcount)=>ext["drawArraysInstancedANGLE"](mode,first,count,primcount);ctx["drawElementsInstanced"]=(mode,count,type,indices,primcount)=>ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount);return 1}};var webgl_enable_OES_vertex_array_object=ctx=>{var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=()=>ext["createVertexArrayOES"]();ctx["deleteVertexArray"]=vao=>ext["deleteVertexArrayOES"](vao);ctx["bindVertexArray"]=vao=>ext["bindVertexArrayOES"](vao);ctx["isVertexArray"]=vao=>ext["isVertexArrayOES"](vao);return 1}};var webgl_enable_WEBGL_draw_buffers=ctx=>{var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=(n,bufs)=>ext["drawBuffersWEBGL"](n,bufs);return 1}};var webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw=ctx=>!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"));var getEmscriptenSupportedExtensions=ctx=>{var supportedExtensions=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i>2]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i>2]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>2],len)}return source},createContext:(canvas,webGLContextAttributes)=>{if(webGLContextAttributes.renderViaOffscreenBackBuffer)webGLContextAttributes["preserveDrawingBuffer"]=true;var ctx=webGLContextAttributes.majorVersion>1?canvas.getContext("webgl2",webGLContextAttributes):canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},enableOffscreenFramebufferAttributes:webGLContextAttributes=>{webGLContextAttributes.renderViaOffscreenBackBuffer=true;webGLContextAttributes.preserveDrawingBuffer=true},createOffscreenFramebuffer:context=>{var gl=context.GLctx;var fbo=gl.createFramebuffer();gl.bindFramebuffer(36160,fbo);context.defaultFbo=fbo;context.defaultFboForbidBlitFramebuffer=false;if(gl.getContextAttributes().antialias){context.defaultFboForbidBlitFramebuffer=true}context.defaultColorTarget=gl.createTexture();context.defaultDepthTarget=gl.createRenderbuffer();GL.resizeOffscreenFramebuffer(context);gl.bindTexture(3553,context.defaultColorTarget);gl.texParameteri(3553,10241,9728);gl.texParameteri(3553,10240,9728);gl.texParameteri(3553,10242,33071);gl.texParameteri(3553,10243,33071);gl.texImage2D(3553,0,6408,gl.canvas.width,gl.canvas.height,0,6408,5121,null);gl.framebufferTexture2D(36160,36064,3553,context.defaultColorTarget,0);gl.bindTexture(3553,null);var depthTarget=gl.createRenderbuffer();gl.bindRenderbuffer(36161,context.defaultDepthTarget);gl.renderbufferStorage(36161,33189,gl.canvas.width,gl.canvas.height);gl.framebufferRenderbuffer(36160,36096,36161,context.defaultDepthTarget);gl.bindRenderbuffer(36161,null);var vertices=[-1,-1,-1,1,1,-1,1,1];var vb=gl.createBuffer();gl.bindBuffer(34962,vb);gl.bufferData(34962,new Float32Array(vertices),35044);gl.bindBuffer(34962,null);context.blitVB=vb;var vsCode="attribute vec2 pos;"+"varying lowp vec2 tex;"+"void main() { tex = pos * 0.5 + vec2(0.5,0.5); gl_Position = vec4(pos, 0.0, 1.0); }";var vs=gl.createShader(35633);gl.shaderSource(vs,vsCode);gl.compileShader(vs);var fsCode="varying lowp vec2 tex;"+"uniform sampler2D sampler;"+"void main() { gl_FragColor = texture2D(sampler, tex); }";var fs=gl.createShader(35632);gl.shaderSource(fs,fsCode);gl.compileShader(fs);var blitProgram=gl.createProgram();gl.attachShader(blitProgram,vs);gl.attachShader(blitProgram,fs);gl.linkProgram(blitProgram);context.blitProgram=blitProgram;context.blitPosLoc=gl.getAttribLocation(blitProgram,"pos");gl.useProgram(blitProgram);gl.uniform1i(gl.getUniformLocation(blitProgram,"sampler"),0);gl.useProgram(null);context.defaultVao=undefined;if(gl.createVertexArray){context.defaultVao=gl.createVertexArray();gl.bindVertexArray(context.defaultVao);gl.enableVertexAttribArray(context.blitPosLoc);gl.bindVertexArray(null)}},resizeOffscreenFramebuffer:context=>{var gl=context.GLctx;if(context.defaultColorTarget){var prevTextureBinding=gl.getParameter(32873);gl.bindTexture(3553,context.defaultColorTarget);gl.texImage2D(3553,0,6408,gl.drawingBufferWidth,gl.drawingBufferHeight,0,6408,5121,null);gl.bindTexture(3553,prevTextureBinding)}if(context.defaultDepthTarget){var prevRenderBufferBinding=gl.getParameter(36007);gl.bindRenderbuffer(36161,context.defaultDepthTarget);gl.renderbufferStorage(36161,33189,gl.drawingBufferWidth,gl.drawingBufferHeight);gl.bindRenderbuffer(36161,prevRenderBufferBinding)}},blitOffscreenFramebuffer:context=>{var gl=context.GLctx;var prevScissorTest=gl.getParameter(3089);if(prevScissorTest)gl.disable(3089);var prevFbo=gl.getParameter(36006);if(gl.blitFramebuffer&&!context.defaultFboForbidBlitFramebuffer){gl.bindFramebuffer(36008,context.defaultFbo);gl.bindFramebuffer(36009,null);gl.blitFramebuffer(0,0,gl.canvas.width,gl.canvas.height,0,0,gl.canvas.width,gl.canvas.height,16384,9728)}else{gl.bindFramebuffer(36160,null);var prevProgram=gl.getParameter(35725);gl.useProgram(context.blitProgram);var prevVB=gl.getParameter(34964);gl.bindBuffer(34962,context.blitVB);var prevActiveTexture=gl.getParameter(34016);gl.activeTexture(33984);var prevTextureBinding=gl.getParameter(32873);gl.bindTexture(3553,context.defaultColorTarget);var prevBlend=gl.getParameter(3042);if(prevBlend)gl.disable(3042);var prevCullFace=gl.getParameter(2884);if(prevCullFace)gl.disable(2884);var prevDepthTest=gl.getParameter(2929);if(prevDepthTest)gl.disable(2929);var prevStencilTest=gl.getParameter(2960);if(prevStencilTest)gl.disable(2960);function draw(){gl.vertexAttribPointer(context.blitPosLoc,2,5126,false,0,0);gl.drawArrays(5,0,4)}if(context.defaultVao){var prevVAO=gl.getParameter(34229);gl.bindVertexArray(context.defaultVao);draw();gl.bindVertexArray(prevVAO)}else{var prevVertexAttribPointer={buffer:gl.getVertexAttrib(context.blitPosLoc,34975),size:gl.getVertexAttrib(context.blitPosLoc,34339),stride:gl.getVertexAttrib(context.blitPosLoc,34340),type:gl.getVertexAttrib(context.blitPosLoc,34341),normalized:gl.getVertexAttrib(context.blitPosLoc,34922),pointer:gl.getVertexAttribOffset(context.blitPosLoc,34373)};var maxVertexAttribs=gl.getParameter(34921);var prevVertexAttribEnables=[];for(var i=0;i{var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}if(webGLContextAttributes.renderViaOffscreenBackBuffer)GL.createOffscreenFramebuffer(context);return handle},makeContextCurrent:contextHandle=>{GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext?.GLctx;return!(contextHandle&&!GLctx)},getContext:contextHandle=>GL.contexts[contextHandle],deleteContext:contextHandle=>{if(GL.currentContext===GL.contexts[contextHandle]){GL.currentContext=null}if(typeof JSEvents=="object"){JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas)}if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas){GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined}GL.contexts[contextHandle]=null},initExtensions:context=>{context||=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_ANGLE_instanced_arrays(GLctx);webgl_enable_OES_vertex_array_object(GLctx);webgl_enable_WEBGL_draw_buffers(GLctx);webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}webgl_enable_WEBGL_multi_draw(GLctx);getEmscriptenSupportedExtensions(GLctx).forEach(ext=>{if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var _emscripten_webgl_do_commit_frame=()=>{if(!GL.currentContext||!GL.currentContext.GLctx){return-3}if(GL.currentContext.defaultFbo){GL.blitOffscreenFramebuffer(GL.currentContext);return 0}if(!GL.currentContext.attributes.explicitSwapControl){return-3}return 0};var _emscripten_webgl_commit_frame=_emscripten_webgl_do_commit_frame;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;if(!keepRuntimeAlive()){exitRuntime()}if(keepRuntimeAlive()&&!implicit){var msg=`program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`;readyPromiseReject(msg);err(msg)}_proc_exit(status)};var _exit=exitJS;var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}checkStackCookie();if(e instanceof WebAssembly.RuntimeError){if(_emscripten_stack_get_current()<=0){err("Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 5242880)")}}quit_(1,e)};var maybeExit=()=>{if(runtimeExited){return}if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var runtimeKeepalivePop=()=>{assert(runtimeKeepaliveCounter>0);runtimeKeepaliveCounter-=1};var setMainLoop=(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)=>{assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){warnOnce("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);checkStackCookie();if(!checkIsRunning())return;if(typeof SDL=="object")SDL.audio?.queueNewAudioData?.();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}};var callUserCallback=func=>{if(runtimeExited||ABORT){err("user callback triggered after runtime exited or application aborted. Ignoring.");return}try{func();maybeExit()}catch(e){handleException(e)}};var safeSetTimeout=(func,timeout)=>{runtimeKeepalivePush();return setTimeout(()=>{runtimeKeepalivePop();callUserCallback(func)},timeout)};var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{assert(img.complete,`Image ${name} could not be decoded`);var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);preloadedImages[name]=canvas;URL.revokeObjectURL(url);onload?.(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);onerror?.()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;preloadedAudios[name]=audio;onload?.(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);assert(typeof url=="string","createObjectURL must return a url as a string");var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err(`warning: browser could not fully decode audio ${name}, trying slower base64 approach`);function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:typeof WebGL2RenderingContext!="undefined"?2:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},destroyContext(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},requestFullScreen(){abort("Module.requestFullScreen has been replaced by Module.requestFullscreen (without a capital S)")},exitFullscreen(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame(func){runtimeKeepalivePush();return Browser.requestAnimationFrame(()=>{runtimeKeepalivePop();callUserCallback(func)})},getMimetype(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia(func){window.getUserMedia||=navigator["getUserMedia"]||navigator["mozGetUserMedia"];window.getUserMedia(func)},getMovementX(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(pageX,pageY){var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;assert(typeof scrollX!="undefined"&&typeof scrollY!="undefined","Unable to retrieve scroll position, mouse positions likely broken.");var adjustedX=pageX-(scrollX+rect.left);var adjustedY=pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);return{x:adjustedX,y:adjustedY}},setMouseCoords(pageX,pageY){const{x:x,y:y}=Browser.calculateMouseCoords(pageX,pageY);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y},calculateMouseEvent(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h{Browser.mainLoop.pause();Browser.mainLoop.func=null};var _emscripten_date_now=()=>Date.now();var _emscripten_err=str=>err(UTF8ToString(str));var _emscripten_force_exit=status=>{__emscripten_runtime_keepalive_clear();_exit(status)};var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){err(`growMemory: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`)}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err(`Cannot enlarge memory, requested ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`);return false}var 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=growMemory(newSize);if(replacement){return true}}err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`);return false};var JSEvents={removeAllEventListeners(){while(JSEvents.eventHandlers.length){JSEvents._removeHandler(JSEvents.eventHandlers.length-1)}JSEvents.deferredCalls=[]},registerRemoveEventListeners(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},inEventHandler:0,deferredCalls:[],deferCall(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var call of JSEvents.deferredCalls){if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedencecall.targetFunction!=targetFunction)},canPerformEventHandlerRequests(){if(navigator.userActivation){return navigator.userActivation.isActive}return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(!JSEvents.canPerformEventHandlerRequests()){return}var deferredCalls=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var call of deferredCalls){call.targetFunction(...call.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(target,eventTypeString)=>{for(var i=0;icString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement};var findCanvasEventTarget=findEventTarget;var _emscripten_set_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;if(canvas.GLctxObject)GL.resizeOffscreenFramebuffer(canvas.GLctxObject);return 0};var _emscripten_set_main_loop=(func,fps,simulateInfiniteLoop)=>{var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)};var webglPowerPreferences=["default","low-power","high-performance"];var _emscripten_webgl_do_create_context=(target,attributes)=>{assert(attributes);var attr32=attributes>>2;var powerPreference=HEAP32[attr32+(8>>2)];var contextAttributes={alpha:!!HEAP8[attributes+0],depth:!!HEAP8[attributes+1],stencil:!!HEAP8[attributes+2],antialias:!!HEAP8[attributes+3],premultipliedAlpha:!!HEAP8[attributes+4],preserveDrawingBuffer:!!HEAP8[attributes+5],powerPreference:webglPowerPreferences[powerPreference],failIfMajorPerformanceCaveat:!!HEAP8[attributes+12],majorVersion:HEAP32[attr32+(16>>2)],minorVersion:HEAP32[attr32+(20>>2)],enableExtensionsByDefault:HEAP8[attributes+24],explicitSwapControl:HEAP8[attributes+25],proxyContextToMainThread:HEAP32[attr32+(28>>2)],renderViaOffscreenBackBuffer:HEAP8[attributes+32]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl&&!contextAttributes.renderViaOffscreenBackBuffer){contextAttributes.renderViaOffscreenBackBuffer=true}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle};var _emscripten_webgl_create_context=_emscripten_webgl_do_create_context;var _emscripten_webgl_destroy_context=contextHandle=>{if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)};var _emscripten_webgl_enable_extension=(contextHandle,extension)=>{var context=GL.getContext(contextHandle);var extString=UTF8ToString(extension);if(extString.startsWith("GL_"))extString=extString.substr(3);if(extString=="ANGLE_instanced_arrays")webgl_enable_ANGLE_instanced_arrays(GLctx);if(extString=="OES_vertex_array_object")webgl_enable_OES_vertex_array_object(GLctx);if(extString=="WEBGL_draw_buffers")webgl_enable_WEBGL_draw_buffers(GLctx);if(extString=="WEBGL_draw_instanced_base_vertex_base_instance")webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);if(extString=="WEBGL_multi_draw_instanced_base_vertex_base_instance")webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(extString=="WEBGL_multi_draw")webgl_enable_WEBGL_multi_draw(GLctx);var ext=context.GLctx.getExtension(extString);return!!ext};var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var _emscripten_webgl_get_supported_extensions=()=>stringToNewUTF8(GLctx.getSupportedExtensions().join(" "));var _emscripten_webgl_make_context_current=contextHandle=>{var success=GL.makeContextCurrent(contextHandle);return success?0:-5};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var 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};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};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 _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;HEAP64[pbuf+8>>3]=BigInt(rightsBase);HEAP64[pbuf+16>>3]=BigInt(rightsInheriting);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>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>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>3]=BigInt(stream.position);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}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>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}}var _getaddrinfo=(node,service,hint,out)=>{var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAPU32[ai+24>>2]=canon;HEAPU32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>2]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAPU32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>2]=ai;return 0};var _getnameinfo=(sa,salen,node,nodelen,serv,servlen,flags)=>{var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=""+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}return 0};var _glActiveTexture=x0=>GLctx.activeTexture(x0);var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};var _glBeginTransformFeedback=x0=>GLctx.beginTransformFeedback(x0);var _glBindBuffer=(target,buffer)=>{if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])};var _glBindBufferBase=(target,index,buffer)=>{GLctx.bindBufferBase(target,index,GL.buffers[buffer])};var _glBindBufferRange=(target,index,buffer,offset,ptrsize)=>{GLctx.bindBufferRange(target,index,GL.buffers[buffer],offset,ptrsize)};var _glBindFramebuffer=(target,framebuffer)=>{GLctx.bindFramebuffer(target,framebuffer?GL.framebuffers[framebuffer]:GL.currentContext.defaultFbo)};var _glBindRenderbuffer=(target,renderbuffer)=>{GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])};var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};var _glBlendColor=(x0,x1,x2,x3)=>GLctx.blendColor(x0,x1,x2,x3);var _glBlendEquation=x0=>GLctx.blendEquation(x0);var _glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);var _glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);var _glBlitFramebuffer=(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)=>GLctx.blitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9);var _glBufferData=(target,size,data,usage)=>{if(GL.currentContext.version>=2){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}return}GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)};var _glBufferSubData=(target,offset,size,data)=>{if(GL.currentContext.version>=2){size&&GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))};var _glCheckFramebufferStatus=x0=>GLctx.checkFramebufferStatus(x0);var _glClear=x0=>GLctx.clear(x0);var _glClearBufferfv=(buffer,drawbuffer,value)=>{GLctx.clearBufferfv(buffer,drawbuffer,HEAPF32,value>>2)};var _glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);var _glClearDepthf=x0=>GLctx.clearDepth(x0);var _glColorMask=(red,green,blue,alpha)=>{GLctx.colorMask(!!red,!!green,!!blue,!!alpha)};var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};var _glCompressedTexImage2D=(target,level,internalFormat,width,height,border,imageSize,data)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data);return}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8,data,imageSize);return}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)};var _glCompressedTexImage3D=(target,level,internalFormat,width,height,depth,border,imageSize,data)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data)}else{GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,HEAPU8,data,imageSize)}};var _glCompressedTexSubImage3D=(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)}else{GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,HEAPU8,data,imageSize)}};var _glCopyBufferSubData=(x0,x1,x2,x3,x4)=>GLctx.copyBufferSubData(x0,x1,x2,x3,x4);var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};var _glCullFace=x0=>GLctx.cullFace(x0);var _glDeleteBuffers=(n,buffers)=>{for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GLctx.currentPixelPackBufferBinding)GLctx.currentPixelPackBufferBinding=0;if(id==GLctx.currentPixelUnpackBufferBinding)GLctx.currentPixelUnpackBufferBinding=0}};var _glDeleteFramebuffers=(n,framebuffers)=>{for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}};var _glDeleteProgram=id=>{if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null};var _glDeleteQueries=(n,ids)=>{for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.deleteQuery(query);GL.queries[id]=null}};var _glDeleteRenderbuffers=(n,renderbuffers)=>{for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}};var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};var _glDeleteSync=id=>{if(!id)return;var sync=GL.syncs[id];if(!sync){GL.recordError(1281);return}GLctx.deleteSync(sync);sync.name=0;GL.syncs[id]=null};var _glDeleteTextures=(n,textures)=>{for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}};var _glDeleteVertexArrays=(n,vaos)=>{for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}};var _glDepthFunc=x0=>GLctx.depthFunc(x0);var _glDepthMask=flag=>{GLctx.depthMask(!!flag)};var _glDisable=x0=>GLctx.disable(x0);var _glDisableVertexAttribArray=index=>{GLctx.disableVertexAttribArray(index)};var _glDrawArrays=(mode,first,count)=>{GLctx.drawArrays(mode,first,count)};var _glDrawArraysInstanced=(mode,first,count,primcount)=>{GLctx.drawArraysInstanced(mode,first,count,primcount)};var tempFixedLengthArray=[];var _glDrawBuffers=(n,bufs)=>{var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx.drawBuffers(bufArray)};var _glDrawElements=(mode,count,type,indices)=>{GLctx.drawElements(mode,count,type,indices)};var _glDrawElementsInstanced=(mode,count,type,indices,primcount)=>{GLctx.drawElementsInstanced(mode,count,type,indices,primcount)};var _glEnable=x0=>GLctx.enable(x0);var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};var _glEndTransformFeedback=()=>GLctx.endTransformFeedback();var _glFenceSync=(condition,flags)=>{var sync=GLctx.fenceSync(condition,flags);if(sync){var id=GL.getNewId(GL.syncs);sync.name=id;GL.syncs[id]=sync;return id}return 0};var _glFinish=()=>GLctx.finish();var _glFramebufferRenderbuffer=(target,attachment,renderbuffertarget,renderbuffer)=>{GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])};var _glFramebufferTexture2D=(target,attachment,textarget,texture,level)=>{GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)};var _glFramebufferTextureLayer=(target,attachment,texture,level,layer)=>{GLctx.framebufferTextureLayer(target,attachment,GL.textures[texture],level,layer)};var _glFrontFace=x0=>GLctx.frontFace(x0);var _glGenBuffers=(n,buffers)=>{GL.genObject(n,buffers,"createBuffer",GL.buffers)};var _glGenFramebuffers=(n,ids)=>{GL.genObject(n,ids,"createFramebuffer",GL.framebuffers)};var _glGenQueries=(n,ids)=>{GL.genObject(n,ids,"createQuery",GL.queries)};var _glGenRenderbuffers=(n,renderbuffers)=>{GL.genObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)};var _glGenTextures=(n,textures)=>{GL.genObject(n,textures,"createTexture",GL.textures)};var _glGenVertexArrays=(n,arrays)=>{GL.genObject(n,arrays,"createVertexArray",GL.vaos)};var _glGenerateMipmap=x0=>GLctx.generateMipmap(x0);var readI53FromI64=ptr=>HEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;var readI53FromU64=ptr=>HEAPU32[ptr>>2]+HEAPU32[ptr+4>>2]*4294967296;var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>2]=num;var lower=HEAPU32[ptr>>2];HEAPU32[ptr+4>>2]=(num-lower)/4294967296;var deserialized=num>=0?readI53FromU64(ptr):readI53FromI64(ptr);var offset=ptr>>2;if(deserialized!=num)warnOnce(`writeI53ToI64() out of range: serialized JS Number ${num} to Wasm heap as bytes lo=${ptrToString(HEAPU32[offset])}, hi=${ptrToString(HEAPU32[offset+1])}, which deserializes back to ${deserialized} instead!`)};var webglGetExtensions=function $webglGetExtensions(){var exts=getEmscriptenSupportedExtensions(GLctx);exts=exts.concat(exts.map(e=>"GL_"+e));return exts};var emscriptenWebGLGet=(name_,p,type)=>{if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}ret=webglGetExtensions().length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Unknown object returned from WebGL getParameter(${name_})! (error: ${e})`);return}}break;default:GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Native code calling glGet${type}v(${name_}) and it returns ${result} of type ${typeof result}!`);return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p]=ret?1:0;break}};var _glGetFloatv=(name_,p)=>emscriptenWebGLGet(name_,p,2);var _glGetInteger64v=(name_,p)=>{emscriptenWebGLGet(name_,p,1)};var _glGetIntegerv=(name_,p)=>emscriptenWebGLGet(name_,p,0);var _glGetProgramInfoLog=(program,maxLength,length,infoLog)=>{var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetProgramiv=(program,pname,p)=>{if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}};var _glGetShaderInfoLog=(shader,maxLength,length,infoLog)=>{var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetShaderiv=(shader,pname,p)=>{if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}};var _glGetString=name_=>{var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:ret=stringToNewUTF8(webglGetExtensions().join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s?stringToNewUTF8(s):0;break;case 7938:var glVersion=GLctx.getParameter(7938);if(GL.currentContext.version>=2)glVersion=`OpenGL ES 3.0 (${glVersion})`;else{glVersion=`OpenGL ES 2.0 (${glVersion})`}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion=`OpenGL ES GLSL ES ${ver_num[1]} (${glslVersion})`}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret};var _glGetSynciv=(sync,pname,bufSize,length,values)=>{if(bufSize<0){GL.recordError(1281);return}if(!values){GL.recordError(1281);return}var ret=GLctx.getSyncParameter(GL.syncs[sync],pname);if(ret!==null){HEAP32[values>>2]=ret;if(length)HEAP32[length>>2]=1}};var _glGetUniformBlockIndex=(program,uniformBlockName)=>GLctx.getUniformBlockIndex(GL.programs[program],UTF8ToString(uniformBlockName));var webglGetLeftBracePos=name=>name.slice(-1)=="]"&&name.lastIndexOf("[");var webglPrepareUniformLocationsBeforeFirstUse=program=>{var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j{name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};var _glPixelStorei=(pname,param)=>{if(pname==3317){GL.unpackAlignment=param}else if(pname==3314){GL.unpackRowLength=param}GLctx.pixelStorei(pname,param)};var _glReadBuffer=x0=>GLctx.readBuffer(x0);var computeUnpackAlignedImageSize=(width,height,sizePerPixel)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=(GL.unpackRowLength||width)*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,GL.unpackAlignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel);return heap.subarray(toTypedArrayIndex(pixels,heap),toTypedArrayIndex(pixels+bytes,heap))};var _glReadPixels=(x,y,width,height,format,type,pixels)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels);return}var heap=heapObjectForWebGLType(type);var target=toTypedArrayIndex(pixels,heap);GLctx.readPixels(x,y,width,height,format,type,heap,target);return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)};var _glRenderbufferStorage=(x0,x1,x2,x3)=>GLctx.renderbufferStorage(x0,x1,x2,x3);var _glRenderbufferStorageMultisample=(x0,x1,x2,x3,x4)=>GLctx.renderbufferStorageMultisample(x0,x1,x2,x3,x4);var _glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);var _glShaderSource=(shader,count,string,length)=>{var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)};var _glTexImage2D=(target,level,internalFormat,width,height,border,format,type,pixels)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels);return}if(pixels){var heap=heapObjectForWebGLType(type);var index=toTypedArrayIndex(pixels,heap);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,index);return}}var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null;GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)};var _glTexImage3D=(target,level,internalFormat,width,height,depth,border,format,type,pixels)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,null)}};var _glTexParameterf=(x0,x1,x2)=>GLctx.texParameterf(x0,x1,x2);var _glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);var _glTexStorage2D=(x0,x1,x2,x3,x4)=>GLctx.texStorage2D(x0,x1,x2,x3,x4);var _glTexSubImage3D=(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,null)}};var _glTransformFeedbackVaryings=(program,count,varyings,bufferMode)=>{program=GL.programs[program];var vars=[];for(var i=0;i>2]));GLctx.transformFeedbackVaryings(program,vars,bufferMode)};var webglGetUniformLocation=location=>{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};var miniTempWebGLIntBuffers=[];var _glUniform1iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform1iv(webglGetUniformLocation(location),HEAP32,value>>2,count);return}if(count<=288){var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)};var _glUniform1ui=(location,v0)=>{GLctx.uniform1ui(webglGetUniformLocation(location),v0)};var _glUniform1uiv=(location,count,value)=>{count&&GLctx.uniform1uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count)};var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};var miniTempWebGLFloatBuffers=[];var _glUniform2fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform2fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*2);return}if(count<=144){var view=miniTempWebGLFloatBuffers[2*count];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)};var _glUniform2iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform2iv(webglGetUniformLocation(location),HEAP32,value>>2,count*2);return}if(count<=144){var view=miniTempWebGLIntBuffers[2*count];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)};var _glUniform3fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform3fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*3);return}if(count<=96){var view=miniTempWebGLFloatBuffers[3*count];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)};var _glUniform4f=(location,v0,v1,v2,v3)=>{GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)};var _glUniform4fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform4fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*4);return}if(count<=72){var view=miniTempWebGLFloatBuffers[4*count];var heap=HEAPF32;value=value>>2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)};var _glUniformBlockBinding=(program,uniformBlockIndex,uniformBlockBinding)=>{program=GL.programs[program];GLctx.uniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding)};var _glUniformMatrix3fv=(location,count,transpose,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*9);return}if(count<=32){var view=miniTempWebGLFloatBuffers[9*count];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)};var _glUniformMatrix4fv=(location,count,transpose,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16);return}if(count<=18){var view=miniTempWebGLFloatBuffers[16*count];var heap=HEAPF32;value=value>>2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)};var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};var _glVertexAttrib4f=(x0,x1,x2,x3,x4)=>GLctx.vertexAttrib4f(x0,x1,x2,x3,x4);var _glVertexAttribDivisor=(index,divisor)=>{GLctx.vertexAttribDivisor(index,divisor)};var _glVertexAttribI4ui=(x0,x1,x2,x3,x4)=>GLctx.vertexAttribI4ui(x0,x1,x2,x3,x4);var _glVertexAttribIPointer=(index,size,type,stride,ptr)=>{GLctx.vertexAttribIPointer(index,size,type,stride,ptr)};var _glVertexAttribPointer=(index,size,type,normalized,stride,ptr)=>{GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)};var _glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);var GodotRuntime={get_func:function(ptr){return wasmTable.get(ptr)},error:function(){err.apply(null,Array.from(arguments))},print:function(){out.apply(null,Array.from(arguments))},malloc:function(p_size){return _malloc(p_size)},free:function(p_ptr){_free(p_ptr)},getHeapValue:function(p_ptr,p_type){return getValue(p_ptr,p_type)},setHeapValue:function(p_ptr,p_value,p_type){setValue(p_ptr,p_value,p_type)},heapSub:function(p_heap,p_ptr,p_len){const bytes=p_heap.BYTES_PER_ELEMENT;return p_heap.subarray(p_ptr/bytes,p_ptr/bytes+p_len)},heapSlice:function(p_heap,p_ptr,p_len){const bytes=p_heap.BYTES_PER_ELEMENT;return p_heap.slice(p_ptr/bytes,p_ptr/bytes+p_len)},heapCopy:function(p_dst,p_src,p_ptr){const bytes=p_src.BYTES_PER_ELEMENT;return p_dst.set(p_src,p_ptr/bytes)},parseString:function(p_ptr){return UTF8ToString(p_ptr)},parseStringArray:function(p_ptr,p_size){const strings=[];const ptrs=GodotRuntime.heapSub(HEAP32,p_ptr,p_size);ptrs.forEach(function(ptr){strings.push(GodotRuntime.parseString(ptr))});return strings},strlen:function(p_str){return lengthBytesUTF8(p_str)},allocString:function(p_str){const length=GodotRuntime.strlen(p_str)+1;const c_str=GodotRuntime.malloc(length);stringToUTF8(p_str,c_str,length);return c_str},allocStringArray:function(p_strings){const size=p_strings.length;const c_ptr=GodotRuntime.malloc(size*4);for(let i=0;i>2)+i]=GodotRuntime.allocString(p_strings[i])}return c_ptr},freeStringArray:function(p_ptr,p_len){for(let i=0;i>2)+i])}GodotRuntime.free(p_ptr)},stringToHeap:function(p_str,p_ptr,p_len){return stringToUTF8Array(p_str,HEAP8,p_ptr,p_len)}};var GodotConfig={canvas:null,locale:"en",canvas_resize_policy:2,virtual_keyboard:false,persistent_drops:false,on_execute:null,on_exit:null,init_config:function(p_opts){GodotConfig.canvas_resize_policy=p_opts["canvasResizePolicy"];GodotConfig.canvas=p_opts["canvas"];GodotConfig.locale=p_opts["locale"]||GodotConfig.locale;GodotConfig.virtual_keyboard=p_opts["virtualKeyboard"];GodotConfig.persistent_drops=!!p_opts["persistentDrops"];GodotConfig.on_execute=p_opts["onExecute"];GodotConfig.on_exit=p_opts["onExit"];if(p_opts["focusCanvas"]){GodotConfig.canvas.focus()}},locate_file:function(file){return Module["locateFile"](file)},clear:function(){GodotConfig.canvas=null;GodotConfig.locale="en";GodotConfig.canvas_resize_policy=2;GodotConfig.virtual_keyboard=false;GodotConfig.persistent_drops=false;GodotConfig.on_execute=null;GodotConfig.on_exit=null}};var GodotFS={ENOENT:44,_idbfs:false,_syncing:false,_mount_points:[],is_persistent:function(){return GodotFS._idbfs?1:0},init:function(persistentPaths){GodotFS._idbfs=false;if(!Array.isArray(persistentPaths)){return Promise.reject(new Error("Persistent paths must be an array"))}if(!persistentPaths.length){return Promise.resolve()}GodotFS._mount_points=persistentPaths.slice();function createRecursive(dir){try{FS.stat(dir)}catch(e){if(e.errno!==GodotFS.ENOENT){GodotRuntime.error(e)}FS.mkdirTree(dir)}}GodotFS._mount_points.forEach(function(path){createRecursive(path);FS.mount(IDBFS,{},path)});return new Promise(function(resolve,reject){FS.syncfs(true,function(err){if(err){GodotFS._mount_points=[];GodotFS._idbfs=false;GodotRuntime.print(`IndexedDB not available: ${err.message}`)}else{GodotFS._idbfs=true}resolve(err)})})},deinit:function(){GodotFS._mount_points.forEach(function(path){try{FS.unmount(path)}catch(e){GodotRuntime.print("Already unmounted",e)}if(GodotFS._idbfs&&IDBFS.dbs[path]){IDBFS.dbs[path].close();delete IDBFS.dbs[path]}});GodotFS._mount_points=[];GodotFS._idbfs=false;GodotFS._syncing=false},sync:function(){if(GodotFS._syncing){GodotRuntime.error("Already syncing!");return Promise.resolve()}GodotFS._syncing=true;return new Promise(function(resolve,reject){FS.syncfs(false,function(error){if(error){GodotRuntime.error(`Failed to save IDB file system: ${error.message}`)}GodotFS._syncing=false;resolve(error)})})},copy_to_fs:function(path,buffer){const idx=path.lastIndexOf("/");let dir="/";if(idx>0){dir=path.slice(0,idx)}try{FS.stat(dir)}catch(e){if(e.errno!==GodotFS.ENOENT){GodotRuntime.error(e)}FS.mkdirTree(dir)}FS.writeFile(path,new Uint8Array(buffer))}};var GodotOS={request_quit:function(){},_async_cbs:[],_fs_sync_promise:null,atexit:function(p_promise_cb){GodotOS._async_cbs.push(p_promise_cb)},cleanup:function(exit_code){const cb=GodotConfig.on_exit;GodotFS.deinit();GodotConfig.clear();if(cb){cb(exit_code)}},finish_async:function(callback){GodotOS._fs_sync_promise.then(function(err){const promises=[];GodotOS._async_cbs.forEach(function(cb){promises.push(new Promise(cb))});return Promise.all(promises)}).then(function(){return GodotFS.sync()}).then(function(err){setTimeout(function(){callback()},0)})}};var GodotAudio={MAX_VOLUME_CHANNELS:8,GodotChannel:{CHANNEL_L:0,CHANNEL_R:1,CHANNEL_C:3,CHANNEL_LFE:4,CHANNEL_RL:5,CHANNEL_RR:6,CHANNEL_SL:7,CHANNEL_SR:8},WebChannel:{CHANNEL_L:0,CHANNEL_R:1,CHANNEL_SL:2,CHANNEL_SR:3,CHANNEL_C:4,CHANNEL_LFE:5},samples:null,Sample:class Sample{static getSample(id){if(!GodotAudio.samples.has(id)){throw new ReferenceError(`Could not find sample "${id}"`)}return GodotAudio.samples.get(id)}static getSampleOrNull(id){return GodotAudio.samples.get(id)??null}static create(params,options={}){const sample=new GodotAudio.Sample(params,options);GodotAudio.samples.set(params.id,sample);return sample}static delete(id){GodotAudio.samples.delete(id)}constructor(params,options={}){this.id=params.id;this._audioBuffer=null;this.numberOfChannels=options.numberOfChannels??2;this.sampleRate=options.sampleRate??44100;this.loopMode=options.loopMode??"disabled";this.loopBegin=options.loopBegin??0;this.loopEnd=options.loopEnd??0;this.setAudioBuffer(params.audioBuffer)}getAudioBuffer(){return this._duplicateAudioBuffer()}setAudioBuffer(val){this._audioBuffer=val}clear(){this.setAudioBuffer(null);GodotAudio.Sample.delete(this.id)}_duplicateAudioBuffer(){if(this._audioBuffer==null){throw new Error("couldn't duplicate a null audioBuffer")}const channels=new Array(this._audioBuffer.numberOfChannels);for(let i=0;i{if(self.isPaused){return}switch(self.getSample().loopMode){case"disabled":{const id=this.id;self.stop();if(GodotAudio.sampleFinishedCallback!=null){const idCharPtr=GodotRuntime.allocString(id);GodotAudio.sampleFinishedCallback(idCharPtr);GodotRuntime.free(idCharPtr)}}break;case"forward":case"backward":self.restart();break;default:}};this._source.addEventListener("ended",this._onended)}},buses:null,busSolo:null,Bus:class Bus{static getCount(){return GodotAudio.buses.length}static setCount(val){const buses=GodotAudio.buses;if(val===buses.length){return}if(val=GodotAudio.buses.length){throw new ReferenceError(`invalid bus index "${index}"`)}return GodotAudio.buses[index]}static getBusOrNull(index){if(index<0||index>=GodotAudio.buses.length){return null}return GodotAudio.buses[index]}static move(fromIndex,toIndex){const movedBus=GodotAudio.Bus.getBus(fromIndex);const buses=GodotAudio.buses.filter((_,i)=>i!==fromIndex);buses.splice(toIndex-1,0,movedBus);GodotAudio.buses=buses}static addAt(index){const newBus=GodotAudio.Bus.create();if(index!==newBus.getId()){GodotAudio.Bus.move(newBus.getId(),index)}}static create(){const newBus=new GodotAudio.Bus;const isFirstBus=GodotAudio.buses.length===0;GodotAudio.buses.push(newBus);if(isFirstBus){newBus.setSend(null)}else{newBus.setSend(GodotAudio.Bus.getBus(0))}return newBus}constructor(){this._sampleNodes=new Set;this.isSolo=false;this._send=null;this._gainNode=GodotAudio.ctx.createGain();this._soloNode=GodotAudio.ctx.createGain();this._muteNode=GodotAudio.ctx.createGain();this._gainNode.connect(this._soloNode).connect(this._muteNode)}getId(){return GodotAudio.buses.indexOf(this)}getVolumeDb(){return GodotAudio.linear_to_db(this._gainNode.gain.value)}setVolumeDb(val){const linear=GodotAudio.db_to_linear(val);if(isFinite(linear)){this._gainNode.gain.value=linear}}getSend(){return this._send}setSend(val){this._send=val;if(val==null){if(this.getId()==0){this.getOutputNode().connect(GodotAudio.ctx.destination);return}throw new Error(`Cannot send to "${val}" without the bus being at index 0 (current index: ${this.getId()})`)}this.connect(val)}getInputNode(){return this._gainNode}getOutputNode(){return this._muteNode}mute(enable){this._muteNode.gain.value=enable?0:1}solo(enable){if(this.isSolo===enable){return}if(enable){if(GodotAudio.busSolo!=null&&GodotAudio.busSolo!==this){GodotAudio.busSolo._disableSolo()}this._enableSolo();return}this._disableSolo()}addSampleNode(sampleNode){this._sampleNodes.add(sampleNode);sampleNode.getOutputNode().connect(this.getInputNode())}removeSampleNode(sampleNode){this._sampleNodes.delete(sampleNode);sampleNode.getOutputNode().disconnect()}connect(bus){if(bus==null){throw new Error("cannot connect to null bus")}this.getOutputNode().disconnect();this.getOutputNode().connect(bus.getInputNode());return bus}clear(){GodotAudio.buses=GodotAudio.buses.filter(v=>v!==this)}_syncSampleNodes(){const sampleNodes=Array.from(this._sampleNodes);for(let i=0;iotherBus!==this);for(let i=0;iotherBus!==this);for(let i=0;iGodotAudio.Bus.getBus(busIndex));sampleNode.setVolumes(buses,volumes)},set_sample_bus_count:function(count){GodotAudio.Bus.setCount(count)},remove_sample_bus:function(index){const bus=GodotAudio.Bus.getBus(index);bus.clear()},add_sample_bus:function(atPos){GodotAudio.Bus.addAt(atPos)},move_sample_bus:function(busIndex,toPos){GodotAudio.Bus.move(busIndex,toPos)},set_sample_bus_send:function(busIndex,sendIndex){const bus=GodotAudio.Bus.getBus(busIndex);bus.setSend(GodotAudio.Bus.getBus(sendIndex))},set_sample_bus_volume_db:function(busIndex,volumeDb){const bus=GodotAudio.Bus.getBus(busIndex);bus.setVolumeDb(volumeDb)},set_sample_bus_solo:function(busIndex,enable){const bus=GodotAudio.Bus.getBus(busIndex);bus.solo(enable)},set_sample_bus_mute:function(busIndex,enable){const bus=GodotAudio.Bus.getBus(busIndex);bus.mute(enable)}};function _godot_audio_has_worklet(){return GodotAudio.ctx&&GodotAudio.ctx.audioWorklet?1:0}function _godot_audio_init(p_mix_rate,p_latency,p_state_change,p_latency_update){const statechange=GodotRuntime.get_func(p_state_change);const latencyupdate=GodotRuntime.get_func(p_latency_update);const mix_rate=GodotRuntime.getHeapValue(p_mix_rate,"i32");const channels=GodotAudio.init(mix_rate,p_latency,statechange,latencyupdate);GodotRuntime.setHeapValue(p_mix_rate,GodotAudio.ctx.sampleRate,"i32");return channels}function _godot_audio_input_start(){return GodotAudio.create_input(function(input){input.connect(GodotAudio.driver.get_node())})}function _godot_audio_input_stop(){if(GodotAudio.input){const tracks=GodotAudio.input["mediaStream"]["getTracks"]();for(let i=0;i=size){const high=size-wpos;wbuf.set(buffer.subarray(wpos,size));pending_samples-=high;wpos=0}if(pending_samples>0){wbuf.set(buffer.subarray(wpos,wpos+pending_samples),tot_sent-pending_samples)}port.postMessage({cmd:"chunk",data:wbuf.subarray(0,tot_sent)});wpos+=pending_samples;pending_samples=0}this.receive=function(recv_buf){const buffer=GodotRuntime.heapSub(HEAPF32,p_in_buf,p_in_size);const from=rpos;let to_write=recv_buf.length;let high=0;if(rpos+to_write>=p_in_size){high=p_in_size-rpos;buffer.set(recv_buf.subarray(0,high),rpos);to_write-=high;rpos=0}if(to_write){buffer.set(recv_buf.subarray(high,to_write),rpos)}in_callback(from,recv_buf.length);rpos+=to_write};this.consumed=function(size,port){pending_samples+=size;send(port)}}GodotAudioWorklet.ring_buffer=new RingBuffer;GodotAudioWorklet.promise.then(function(){const node=GodotAudioWorklet.worklet;const buffer=GodotRuntime.heapSlice(HEAPF32,p_out_buf,p_out_size);node.connect(GodotAudio.ctx.destination);node.port.postMessage({cmd:"start_nothreads",data:[buffer,p_in_size]});node.port.onmessage=function(event){if(!GodotAudioWorklet.worklet){return}if(event.data["cmd"]==="read"){const read=event.data["data"];GodotAudioWorklet.ring_buffer.consumed(read,GodotAudioWorklet.worklet.port)}else if(event.data["cmd"]==="input"){const buf=event.data["data"];if(buf.length>p_in_size){GodotRuntime.error("Input chunk is too big");return}GodotAudioWorklet.ring_buffer.receive(buf)}else{GodotRuntime.error(event.data)}}})},get_node:function(){return GodotAudioWorklet.worklet},close:function(){return new Promise(function(resolve,reject){if(GodotAudioWorklet.promise===null){return}const p=GodotAudioWorklet.promise;p.then(function(){GodotAudioWorklet.worklet.port.postMessage({cmd:"stop",data:null});GodotAudioWorklet.worklet.disconnect();GodotAudioWorklet.worklet.port.onmessage=null;GodotAudioWorklet.worklet=null;GodotAudioWorklet.promise=null;resolve()}).catch(function(err){GodotRuntime.error(err)})})}};function _godot_audio_worklet_create(channels){try{GodotAudioWorklet.create(channels)}catch(e){GodotRuntime.error("Error starting AudioDriverWorklet",e);return 1}return 0}function _godot_audio_worklet_start_no_threads(p_out_buf,p_out_size,p_out_callback,p_in_buf,p_in_size,p_in_callback){const out_callback=GodotRuntime.get_func(p_out_callback);const in_callback=GodotRuntime.get_func(p_in_callback);GodotAudioWorklet.start_no_threads(p_out_buf,p_out_size,out_callback,p_in_buf,p_in_size,in_callback)}function _godot_js_config_canvas_id_get(p_ptr,p_ptr_max){GodotRuntime.stringToHeap(`#${GodotConfig.canvas.id}`,p_ptr,p_ptr_max)}function _godot_js_config_locale_get(p_ptr,p_ptr_max){GodotRuntime.stringToHeap(GodotConfig.locale,p_ptr,p_ptr_max)}var GodotDisplayCursor={shape:"default",visible:true,cursors:{},set_style:function(style){GodotConfig.canvas.style.cursor=style},set_shape:function(shape){GodotDisplayCursor.shape=shape;let css=shape;if(shape in GodotDisplayCursor.cursors){const c=GodotDisplayCursor.cursors[shape];css=`url("${c.url}") ${c.x} ${c.y}, default`}if(GodotDisplayCursor.visible){GodotDisplayCursor.set_style(css)}},clear:function(){GodotDisplayCursor.set_style("");GodotDisplayCursor.shape="default";GodotDisplayCursor.visible=true;Object.keys(GodotDisplayCursor.cursors).forEach(function(key){URL.revokeObjectURL(GodotDisplayCursor.cursors[key]);delete GodotDisplayCursor.cursors[key]})},lockPointer:function(){const canvas=GodotConfig.canvas;if(canvas.requestPointerLock){canvas.requestPointerLock()}},releasePointer:function(){if(document.exitPointerLock){document.exitPointerLock()}},isPointerLocked:function(){return document.pointerLockElement===GodotConfig.canvas}};var GodotEventListeners={handlers:[],has:function(target,event,method,capture){return GodotEventListeners.handlers.findIndex(function(e){return e.target===target&&e.event===event&&e.method===method&&e.capture===capture})!==-1},add:function(target,event,method,capture){if(GodotEventListeners.has(target,event,method,capture)){return}function Handler(p_target,p_event,p_method,p_capture){this.target=p_target;this.event=p_event;this.method=p_method;this.capture=p_capture}GodotEventListeners.handlers.push(new Handler(target,event,method,capture));target.addEventListener(event,method,capture)},clear:function(){GodotEventListeners.handlers.forEach(function(h){h.target.removeEventListener(h.event,h.method,h.capture)});GodotEventListeners.handlers.length=0}};var _emscripten_webgl_do_get_current_context=()=>GL.currentContext?GL.currentContext.handle:0;var _emscripten_webgl_get_current_context=_emscripten_webgl_do_get_current_context;var GodotDisplayScreen={desired_size:[0,0],hidpi:true,getPixelRatio:function(){return GodotDisplayScreen.hidpi?window.devicePixelRatio||1:1},isFullscreen:function(){const elem=document.fullscreenElement||document.mozFullscreenElement||document.webkitFullscreenElement||document.msFullscreenElement;if(elem){return elem===GodotConfig.canvas}return document.fullscreen||document.mozFullScreen||document.webkitIsFullscreen},hasFullscreen:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled},requestFullscreen:function(){if(!GodotDisplayScreen.hasFullscreen()){return 1}const canvas=GodotConfig.canvas;try{const promise=(canvas.requestFullscreen||canvas.msRequestFullscreen||canvas.mozRequestFullScreen||canvas.mozRequestFullscreen||canvas.webkitRequestFullscreen).call(canvas);if(promise){promise.catch(function(){})}}catch(e){return 1}return 0},exitFullscreen:function(){if(!GodotDisplayScreen.isFullscreen()){return 0}try{const promise=document.exitFullscreen();if(promise){promise.catch(function(){})}}catch(e){return 1}return 0},_updateGL:function(){const gl_context_handle=_emscripten_webgl_get_current_context();const gl=GL.getContext(gl_context_handle);if(gl){GL.resizeOffscreenFramebuffer(gl)}},updateSize:function(){const isFullscreen=GodotDisplayScreen.isFullscreen();const wantsFullWindow=GodotConfig.canvas_resize_policy===2;const noResize=GodotConfig.canvas_resize_policy===0;const dWidth=GodotDisplayScreen.desired_size[0];const dHeight=GodotDisplayScreen.desired_size[1];const canvas=GodotConfig.canvas;let width=dWidth;let height=dHeight;if(noResize){if(canvas.width!==width||canvas.height!==height){GodotDisplayScreen.desired_size=[canvas.width,canvas.height];GodotDisplayScreen._updateGL();return 1}return 0}const scale=GodotDisplayScreen.getPixelRatio();if(isFullscreen||wantsFullWindow){width=window.innerWidth*scale;height=window.innerHeight*scale}const csw=`${width/scale}px`;const csh=`${height/scale}px`;if(canvas.style.width!==csw||canvas.style.height!==csh||canvas.width!==width||canvas.height!==height){canvas.width=width;canvas.height=height;canvas.style.width=csw;canvas.style.height=csh;GodotDisplayScreen._updateGL();return 1}return 0}};var GodotDisplayVK={textinput:null,textarea:null,available:function(){return GodotConfig.virtual_keyboard&&"ontouchstart"in window},init:function(input_cb){function create(what){const elem=document.createElement(what);elem.style.display="none";elem.style.position="absolute";elem.style.zIndex="-1";elem.style.background="transparent";elem.style.padding="0px";elem.style.margin="0px";elem.style.overflow="hidden";elem.style.width="0px";elem.style.height="0px";elem.style.border="0px";elem.style.outline="none";elem.readonly=true;elem.disabled=true;GodotEventListeners.add(elem,"input",function(evt){const c_str=GodotRuntime.allocString(elem.value);input_cb(c_str,elem.selectionEnd);GodotRuntime.free(c_str)},false);GodotEventListeners.add(elem,"blur",function(evt){elem.style.display="none";elem.readonly=true;elem.disabled=true},false);GodotConfig.canvas.insertAdjacentElement("beforebegin",elem);return elem}GodotDisplayVK.textinput=create("input");GodotDisplayVK.textarea=create("textarea");GodotDisplayVK.updateSize()},show:function(text,type,start,end){if(!GodotDisplayVK.textinput||!GodotDisplayVK.textarea){return}if(GodotDisplayVK.textinput.style.display!==""||GodotDisplayVK.textarea.style.display!==""){GodotDisplayVK.hide()}GodotDisplayVK.updateSize();let elem=GodotDisplayVK.textinput;switch(type){case 0:elem.type="text";elem.inputmode="";break;case 1:elem=GodotDisplayVK.textarea;break;case 2:elem.type="text";elem.inputmode="numeric";break;case 3:elem.type="text";elem.inputmode="decimal";break;case 4:elem.type="tel";elem.inputmode="";break;case 5:elem.type="email";elem.inputmode="";break;case 6:elem.type="password";elem.inputmode="";break;case 7:elem.type="url";elem.inputmode="";break;default:elem.type="text";elem.inputmode="";break}elem.readonly=false;elem.disabled=false;elem.value=text;elem.style.display="block";elem.focus();elem.setSelectionRange(start,end)},hide:function(){if(!GodotDisplayVK.textinput||!GodotDisplayVK.textarea){return}[GodotDisplayVK.textinput,GodotDisplayVK.textarea].forEach(function(elem){elem.blur();elem.style.display="none";elem.value=""})},updateSize:function(){if(!GodotDisplayVK.textinput||!GodotDisplayVK.textarea){return}const rect=GodotConfig.canvas.getBoundingClientRect();function update(elem){elem.style.left=`${rect.left}px`;elem.style.top=`${rect.top}px`;elem.style.width=`${rect.width}px`;elem.style.height=`${rect.height}px`}update(GodotDisplayVK.textinput);update(GodotDisplayVK.textarea)},clear:function(){if(GodotDisplayVK.textinput){GodotDisplayVK.textinput.remove();GodotDisplayVK.textinput=null}if(GodotDisplayVK.textarea){GodotDisplayVK.textarea.remove();GodotDisplayVK.textarea=null}}};var GodotDisplay={window_icon:"",getDPI:function(){const dpi=Math.round(window.devicePixelRatio*96);return dpi>=96?dpi:96}};function _godot_js_display_alert(p_text){window.alert(GodotRuntime.parseString(p_text))}function _godot_js_display_canvas_focus(){GodotConfig.canvas.focus()}function _godot_js_display_canvas_is_focused(){return document.activeElement===GodotConfig.canvas}function _godot_js_display_clipboard_get(callback){const func=GodotRuntime.get_func(callback);try{navigator.clipboard.readText().then(function(result){const ptr=GodotRuntime.allocString(result);func(ptr);GodotRuntime.free(ptr)}).catch(function(e){})}catch(e){}}function _godot_js_display_clipboard_set(p_text){const text=GodotRuntime.parseString(p_text);if(!navigator.clipboard||!navigator.clipboard.writeText){return 1}navigator.clipboard.writeText(text).catch(function(e){GodotRuntime.error("Setting OS clipboard is only possible from an input callback for the Web platform. Exception:",e)});return 0}function _godot_js_display_cursor_is_hidden(){return!GodotDisplayCursor.visible}function _godot_js_display_cursor_is_locked(){return GodotDisplayCursor.isPointerLocked()?1:0}function _godot_js_display_cursor_lock_set(p_lock){if(p_lock){GodotDisplayCursor.lockPointer()}else{GodotDisplayCursor.releasePointer()}}function _godot_js_display_cursor_set_custom_shape(p_shape,p_ptr,p_len,p_hotspot_x,p_hotspot_y){const shape=GodotRuntime.parseString(p_shape);const old_shape=GodotDisplayCursor.cursors[shape];if(p_len>0){const png=new Blob([GodotRuntime.heapSlice(HEAPU8,p_ptr,p_len)],{type:"image/png"});const url=URL.createObjectURL(png);GodotDisplayCursor.cursors[shape]={url:url,x:p_hotspot_x,y:p_hotspot_y}}else{delete GodotDisplayCursor.cursors[shape]}if(shape===GodotDisplayCursor.shape){GodotDisplayCursor.set_shape(GodotDisplayCursor.shape)}if(old_shape){URL.revokeObjectURL(old_shape.url)}}function _godot_js_display_cursor_set_shape(p_string){GodotDisplayCursor.set_shape(GodotRuntime.parseString(p_string))}function _godot_js_display_cursor_set_visible(p_visible){const visible=p_visible!==0;if(visible===GodotDisplayCursor.visible){return}GodotDisplayCursor.visible=visible;if(visible){GodotDisplayCursor.set_shape(GodotDisplayCursor.shape)}else{GodotDisplayCursor.set_style("none")}}function _godot_js_display_desired_size_set(width,height){GodotDisplayScreen.desired_size=[width,height];GodotDisplayScreen.updateSize()}function _godot_js_display_fullscreen_cb(callback){const canvas=GodotConfig.canvas;const func=GodotRuntime.get_func(callback);function change_cb(evt){if(evt.target===canvas){func(GodotDisplayScreen.isFullscreen())}}GodotEventListeners.add(document,"fullscreenchange",change_cb,false);GodotEventListeners.add(document,"mozfullscreenchange",change_cb,false);GodotEventListeners.add(document,"webkitfullscreenchange",change_cb,false)}function _godot_js_display_fullscreen_exit(){return GodotDisplayScreen.exitFullscreen()}function _godot_js_display_fullscreen_request(){return GodotDisplayScreen.requestFullscreen()}function _godot_js_display_has_webgl(p_version){if(p_version!==1&&p_version!==2){return false}try{return!!document.createElement("canvas").getContext(p_version===2?"webgl2":"webgl")}catch(e){}return false}function _godot_js_display_is_swap_ok_cancel(){const win=["Windows","Win64","Win32","WinCE"];const plat=navigator.platform||"";if(win.indexOf(plat)!==-1){return 1}return 0}function _godot_js_display_notification_cb(callback,p_enter,p_exit,p_in,p_out){const canvas=GodotConfig.canvas;const func=GodotRuntime.get_func(callback);const notif=[p_enter,p_exit,p_in,p_out];["mouseover","mouseleave","focus","blur"].forEach(function(evt_name,idx){GodotEventListeners.add(canvas,evt_name,function(){func(notif[idx])},true)})}function _godot_js_display_pixel_ratio_get(){return GodotDisplayScreen.getPixelRatio()}function _godot_js_display_screen_dpi_get(){return GodotDisplay.getDPI()}function _godot_js_display_screen_size_get(width,height){const scale=GodotDisplayScreen.getPixelRatio();GodotRuntime.setHeapValue(width,window.screen.width*scale,"i32");GodotRuntime.setHeapValue(height,window.screen.height*scale,"i32")}function _godot_js_display_setup_canvas(p_width,p_height,p_fullscreen,p_hidpi){const canvas=GodotConfig.canvas;GodotEventListeners.add(canvas,"contextmenu",function(ev){ev.preventDefault()},false);GodotEventListeners.add(canvas,"webglcontextlost",function(ev){alert("WebGL context lost, please reload the page");ev.preventDefault()},false);GodotDisplayScreen.hidpi=!!p_hidpi;switch(GodotConfig.canvas_resize_policy){case 0:GodotDisplayScreen.desired_size=[canvas.width,canvas.height];break;case 1:GodotDisplayScreen.desired_size=[p_width,p_height];break;default:canvas.style.position="absolute";canvas.style.top=0;canvas.style.left=0;break}GodotDisplayScreen.updateSize();if(p_fullscreen){GodotDisplayScreen.requestFullscreen()}}function _godot_js_display_size_update(){const updated=GodotDisplayScreen.updateSize();if(updated){GodotDisplayVK.updateSize()}return updated}function _godot_js_display_touchscreen_is_available(){return"ontouchstart"in window}function _godot_js_display_tts_available(){return"speechSynthesis"in window}function _godot_js_display_vk_available(){return GodotDisplayVK.available()}function _godot_js_display_vk_cb(p_input_cb){const input_cb=GodotRuntime.get_func(p_input_cb);if(GodotDisplayVK.available()){GodotDisplayVK.init(input_cb)}}function _godot_js_display_vk_hide(){GodotDisplayVK.hide()}function _godot_js_display_vk_show(p_text,p_type,p_start,p_end){const text=GodotRuntime.parseString(p_text);const start=p_start>0?p_start:0;const end=p_end>0?p_end:start;GodotDisplayVK.show(text,p_type,start,end)}function _godot_js_display_window_blur_cb(callback){const func=GodotRuntime.get_func(callback);GodotEventListeners.add(window,"blur",function(){func()},false)}function _godot_js_display_window_icon_set(p_ptr,p_len){let link=document.getElementById("-gd-engine-icon");const old_icon=GodotDisplay.window_icon;if(p_ptr){if(link===null){link=document.createElement("link");link.rel="icon";link.id="-gd-engine-icon";document.head.appendChild(link)}const png=new Blob([GodotRuntime.heapSlice(HEAPU8,p_ptr,p_len)],{type:"image/png"});GodotDisplay.window_icon=URL.createObjectURL(png);link.href=GodotDisplay.window_icon}else{if(link){link.remove()}GodotDisplay.window_icon=null}if(old_icon){URL.revokeObjectURL(old_icon)}}function _godot_js_display_window_size_get(p_width,p_height){GodotRuntime.setHeapValue(p_width,GodotConfig.canvas.width,"i32");GodotRuntime.setHeapValue(p_height,GodotConfig.canvas.height,"i32")}function _godot_js_display_window_title_set(p_data){document.title=GodotRuntime.parseString(p_data)}function _godot_js_eval(p_js,p_use_global_ctx,p_union_ptr,p_byte_arr,p_byte_arr_write,p_callback){const js_code=GodotRuntime.parseString(p_js);let eval_ret=null;try{if(p_use_global_ctx){const global_eval=eval;eval_ret=global_eval(js_code)}else{eval_ret=eval(js_code)}}catch(e){GodotRuntime.error(e)}switch(typeof eval_ret){case"boolean":GodotRuntime.setHeapValue(p_union_ptr,eval_ret,"i32");return 1;case"number":GodotRuntime.setHeapValue(p_union_ptr,eval_ret,"double");return 3;case"string":GodotRuntime.setHeapValue(p_union_ptr,GodotRuntime.allocString(eval_ret),"*");return 4;case"object":if(eval_ret===null){break}if(ArrayBuffer.isView(eval_ret)&&!(eval_ret instanceof Uint8Array)){eval_ret=new Uint8Array(eval_ret.buffer)}else if(eval_ret instanceof ArrayBuffer){eval_ret=new Uint8Array(eval_ret)}if(eval_ret instanceof Uint8Array){const func=GodotRuntime.get_func(p_callback);const bytes_ptr=func(p_byte_arr,p_byte_arr_write,eval_ret.length);HEAPU8.set(eval_ret,bytes_ptr);return 29}break}return 0}var IDHandler={_last_id:0,_references:{},get:function(p_id){return IDHandler._references[p_id]},add:function(p_data){const id=++IDHandler._last_id;IDHandler._references[id]=p_data;return id},remove:function(p_id){delete IDHandler._references[p_id]}};var GodotFetch={onread:function(id,result){const obj=IDHandler.get(id);if(!obj){return}if(result.value){obj.chunks.push(result.value)}obj.reading=false;obj.done=result.done},onresponse:function(id,response){const obj=IDHandler.get(id);if(!obj){return}let chunked=false;response.headers.forEach(function(value,header){const v=value.toLowerCase().trim();const h=header.toLowerCase().trim();if(h==="transfer-encoding"&&v==="chunked"){chunked=true}});obj.status=response.status;obj.response=response;obj.reader=response.body.getReader();obj.chunked=chunked},onerror:function(id,err){GodotRuntime.error(err);const obj=IDHandler.get(id);if(!obj){return}obj.error=err},create:function(method,url,headers,body){const obj={request:null,response:null,reader:null,error:null,done:false,reading:false,status:0,chunks:[]};const id=IDHandler.add(obj);const init={method:method,headers:headers,body:body};obj.request=fetch(url,init);obj.request.then(GodotFetch.onresponse.bind(null,id)).catch(GodotFetch.onerror.bind(null,id));return id},free:function(id){const obj=IDHandler.get(id);if(!obj){return}IDHandler.remove(id);if(!obj.request){return}obj.request.then(function(response){response.abort()}).catch(function(e){})},read:function(id){const obj=IDHandler.get(id);if(!obj){return}if(obj.reader&&!obj.reading){if(obj.done){obj.reader=null;return}obj.reading=true;obj.reader.read().then(GodotFetch.onread.bind(null,id)).catch(GodotFetch.onerror.bind(null,id))}}};function _godot_js_fetch_create(p_method,p_url,p_headers,p_headers_size,p_body,p_body_size){const method=GodotRuntime.parseString(p_method);const url=GodotRuntime.parseString(p_url);const headers=GodotRuntime.parseStringArray(p_headers,p_headers_size);const body=p_body_size?GodotRuntime.heapSlice(HEAP8,p_body,p_body_size):null;return GodotFetch.create(method,url,headers.map(function(hv){const idx=hv.indexOf(":");if(idx<=0){return[]}return[hv.slice(0,idx).trim(),hv.slice(idx+1).trim()]}).filter(function(v){return v.length===2}),body)}function _godot_js_fetch_free(id){GodotFetch.free(id)}function _godot_js_fetch_http_status_get(p_id){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return 0}return obj.status}function _godot_js_fetch_is_chunked(p_id){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return-1}return obj.chunked?1:0}function _godot_js_fetch_read_chunk(p_id,p_buf,p_buf_size){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return 0}let to_read=p_buf_size;const chunks=obj.chunks;while(to_read&&chunks.length){const chunk=obj.chunks[0];if(chunk.length>to_read){GodotRuntime.heapCopy(HEAP8,chunk.slice(0,to_read),p_buf);chunks[0]=chunk.slice(to_read);to_read=0}else{GodotRuntime.heapCopy(HEAP8,chunk,p_buf);to_read-=chunk.length;chunks.pop()}}if(!chunks.length){GodotFetch.read(p_id)}return p_buf_size-to_read}function _godot_js_fetch_read_headers(p_id,p_parse_cb,p_ref){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return 1}const cb=GodotRuntime.get_func(p_parse_cb);const arr=[];obj.response.headers.forEach(function(v,h){arr.push(`${h}:${v}`)});const c_ptr=GodotRuntime.allocStringArray(arr);cb(arr.length,c_ptr,p_ref);GodotRuntime.freeStringArray(c_ptr,arr.length);return 0}function _godot_js_fetch_state_get(p_id){const obj=IDHandler.get(p_id);if(!obj){return-1}if(obj.error){return-1}if(!obj.response){return 0}if(obj.reader){return 1}if(obj.done){return 2}return-1}var GodotInputGamepads={samples:[],get_pads:function(){try{const pads=navigator.getGamepads();if(pads){return pads}return[]}catch(e){return[]}},get_samples:function(){return GodotInputGamepads.samples},get_sample:function(index){const samples=GodotInputGamepads.samples;return index=0){os="Android"}else if(ua.indexOf("Linux")>=0){os="Linux"}else if(ua.indexOf("iPhone")>=0){os="iOS"}else if(ua.indexOf("Macintosh")>=0){os="MacOSX"}else if(ua.indexOf("Windows")>=0){os="Windows"}const id=pad.id;const exp1=/vendor: ([0-9a-f]{4}) product: ([0-9a-f]{4})/i;const exp2=/^([0-9a-f]+)-([0-9a-f]+)-/i;let vendor="";let product="";if(exp1.test(id)){const match=exp1.exec(id);vendor=match[1].padStart(4,"0");product=match[2].padStart(4,"0")}else if(exp2.test(id)){const match=exp2.exec(id);vendor=match[1].padStart(4,"0");product=match[2].padStart(4,"0")}if(!vendor||!product){return`${os}Unknown`}return os+vendor+product}};var GodotInputDragDrop={promises:[],pending_files:[],add_entry:function(entry){if(entry.isDirectory){GodotInputDragDrop.add_dir(entry)}else if(entry.isFile){GodotInputDragDrop.add_file(entry)}else{GodotRuntime.error("Unrecognized entry...",entry)}},add_dir:function(entry){GodotInputDragDrop.promises.push(new Promise(function(resolve,reject){const reader=entry.createReader();reader.readEntries(function(entries){for(let i=0;i{const path=elem["path"];GodotFS.copy_to_fs(DROP+path,elem["data"]);let idx=path.indexOf("/");if(idx===-1){drops.push(DROP+path)}else{const sub=path.substr(0,idx);idx=sub.indexOf("/");if(idx<0&&drops.indexOf(DROP+sub)===-1){drops.push(DROP+sub)}}files.push(DROP+path)});GodotInputDragDrop.promises=[];GodotInputDragDrop.pending_files=[];callback(drops);if(GodotConfig.persistent_drops){GodotOS.atexit(function(resolve,reject){GodotInputDragDrop.remove_drop(files,DROP);resolve()})}else{GodotInputDragDrop.remove_drop(files,DROP)}})},remove_drop:function(files,drop_path){const dirs=[drop_path.substr(0,drop_path.length-1)];files.forEach(function(file){FS.unlink(file);let dir=file.replace(drop_path,"");let idx=dir.lastIndexOf("/");while(idx>0){dir=dir.substr(0,idx);if(dirs.indexOf(drop_path+dir)===-1){dirs.push(drop_path+dir)}idx=dir.lastIndexOf("/")}});dirs.sort(function(a,b){const al=(a.match(/\//g)||[]).length;const bl=(b.match(/\//g)||[]).length;if(al>bl){return-1}else if(al=Number.MIN_SAFE_INTEGER&&heap_value<=Number.MAX_SAFE_INTEGER?Number(heap_value):heap_value}case 3:return Number(GodotRuntime.getHeapValue(val,"double"));case 4:return GodotRuntime.parseString(GodotRuntime.getHeapValue(val,"*"));case 24:return GodotJSWrapper.get_proxied_value(GodotRuntime.getHeapValue(val,"i64"));default:return undefined}},js2variant:function(p_val,p_exchange){if(p_val===undefined||p_val===null){return 0}const type=typeof p_val;if(type==="boolean"){GodotRuntime.setHeapValue(p_exchange,p_val,"i64");return 1}else if(type==="number"){if(Number.isInteger(p_val)){GodotRuntime.setHeapValue(p_exchange,p_val,"i64");return 2}GodotRuntime.setHeapValue(p_exchange,p_val,"double");return 3}else if(type==="bigint"){GodotRuntime.setHeapValue(p_exchange,p_val,"i64");return 2}else if(type==="string"){const c_str=GodotRuntime.allocString(p_val);GodotRuntime.setHeapValue(p_exchange,c_str,"*");return 4}const id=GodotJSWrapper.get_proxied(p_val);GodotRuntime.setHeapValue(p_exchange,id,"i64");return 24}};function _godot_js_wrapper_create_cb(p_ref,p_func){const func=GodotRuntime.get_func(p_func);let id=0;const cb=function(){if(!GodotJSWrapper.get_proxied_value(id)){return undefined}GodotJSWrapper.cb_ret=null;const args=Array.from(arguments);const argsProxy=new GodotJSWrapper.MyProxy(args);func(p_ref,argsProxy.get_id(),args.length);argsProxy.unref();const ret=GodotJSWrapper.cb_ret;GodotJSWrapper.cb_ret=null;return ret};id=GodotJSWrapper.get_proxied(cb);return id}function _godot_js_wrapper_create_object(p_object,p_args,p_argc,p_convert_callback,p_exchange,p_lock,p_free_lock_callback){const name=GodotRuntime.parseString(p_object);if(typeof window[name]==="undefined"){return-1}const convert=GodotRuntime.get_func(p_convert_callback);const freeLock=GodotRuntime.get_func(p_free_lock_callback);const args=new Array(p_argc);for(let i=0;i{if(GodotWebXR.session&&GodotWebXR.space){const onFrame=function(time,frame){GodotWebXR.frame=frame;GodotWebXR.pose=frame.getViewerPose(GodotWebXR.space);callback(time);GodotWebXR.frame=null;GodotWebXR.pose=null};GodotWebXR.session.requestAnimationFrame(onFrame)}else{GodotWebXR.orig_requestAnimationFrame(callback)}},monkeyPatchRequestAnimationFrame:enable=>{if(GodotWebXR.orig_requestAnimationFrame===null){GodotWebXR.orig_requestAnimationFrame=Browser.requestAnimationFrame}Browser.requestAnimationFrame=enable?GodotWebXR.requestAnimationFrame:GodotWebXR.orig_requestAnimationFrame},pauseResumeMainLoop:()=>{Browser.mainLoop.pause();runtimeKeepalivePush();window.setTimeout(function(){runtimeKeepalivePop();Browser.mainLoop.resume()},0)},getLayer:()=>{const new_view_count=GodotWebXR.pose?GodotWebXR.pose.views.length:1;let layer=GodotWebXR.layer;if(layer&&GodotWebXR.view_count===new_view_count){return layer}if(!GodotWebXR.session||!GodotWebXR.gl_binding){return null}const gl=GodotWebXR.gl;layer=GodotWebXR.gl_binding.createProjectionLayer({textureType:new_view_count>1?"texture-array":"texture",colorFormat:gl.RGBA8,depthFormat:gl.DEPTH_COMPONENT24});GodotWebXR.session.updateRenderState({layers:[layer]});GodotWebXR.layer=layer;GodotWebXR.view_count=new_view_count;return layer},getSubImage:()=>{if(!GodotWebXR.pose){return null}const layer=GodotWebXR.getLayer();if(layer===null){return null}return GodotWebXR.gl_binding.getViewSubImage(layer,GodotWebXR.pose.views[0])},getTextureId:texture=>{if(texture.name!==undefined){return texture.name}const id=GL.getNewId(GL.textures);texture.name=id;GL.textures[id]=texture;return id},addInputSource:input_source=>{let name=-1;if(input_source.targetRayMode==="tracked-pointer"&&input_source.handedness==="left"){name=0}else if(input_source.targetRayMode==="tracked-pointer"&&input_source.handedness==="right"){name=1}else{for(let i=2;i<16;i++){if(!GodotWebXR.input_sources[i]){name=i;break}}}if(name>=0){GodotWebXR.input_sources[name]=input_source;input_source.name=name;if(input_source.targetRayMode==="screen"){let touch_index=-1;for(let i=0;i<5;i++){if(!GodotWebXR.touches[i]){touch_index=i;break}}if(touch_index>=0){GodotWebXR.touches[touch_index]=input_source;input_source.touch_index=touch_index}}}return name},removeInputSource:input_source=>{if(input_source.name!==undefined){const name=input_source.name;if(name>=0&&name<16){GodotWebXR.input_sources[name]=null}if(input_source.touch_index!==undefined){const touch_index=input_source.touch_index;if(touch_index>=0&&touch_index<5){GodotWebXR.touches[touch_index]=null}}return name}return-1},getInputSourceId:input_source=>{if(input_source!==undefined){return input_source.name}return-1},getTouchIndex:input_source=>{if(input_source.touch_index!==undefined){return input_source.touch_index}return-1}};function _godot_webxr_get_bounds_geometry(r_points){if(!GodotWebXR.space||!GodotWebXR.space.boundsGeometry){return 0}const point_count=GodotWebXR.space.boundsGeometry.length;if(point_count===0){return 0}const buf=GodotRuntime.malloc(point_count*3*4);for(let i=0;i=0){matrix=views[p_view].transform.matrix}else{matrix=GodotWebXR.pose.transform.matrix}for(let i=0;i<16;i++){GodotRuntime.setHeapValue(r_transform+i*4,matrix[i],"float")}return true}function _godot_webxr_get_velocity_texture(){const subimage=GodotWebXR.getSubImage();if(subimage===null){return 0}if(!subimage.motionVectorTexture){return 0}return GodotWebXR.getTextureId(subimage.motionVectorTexture)}function _godot_webxr_get_view_count(){if(!GodotWebXR.session||!GodotWebXR.pose){return 1}const view_count=GodotWebXR.pose.views.length;return view_count>0?view_count:1}function _godot_webxr_get_visibility_state(){if(!GodotWebXR.session||!GodotWebXR.session.visibilityState){return 0}return GodotRuntime.allocString(GodotWebXR.session.visibilityState)}var _godot_webxr_initialize=function(p_session_mode,p_required_features,p_optional_features,p_requested_reference_spaces,p_on_session_started,p_on_session_ended,p_on_session_failed,p_on_input_event,p_on_simple_event){GodotWebXR.monkeyPatchRequestAnimationFrame(true);const session_mode=GodotRuntime.parseString(p_session_mode);const required_features=GodotRuntime.parseString(p_required_features).split(",").map(s=>s.trim()).filter(s=>s!=="");const optional_features=GodotRuntime.parseString(p_optional_features).split(",").map(s=>s.trim()).filter(s=>s!=="");const requested_reference_space_types=GodotRuntime.parseString(p_requested_reference_spaces).split(",").map(s=>s.trim());const onstarted=GodotRuntime.get_func(p_on_session_started);const onended=GodotRuntime.get_func(p_on_session_ended);const onfailed=GodotRuntime.get_func(p_on_session_failed);const oninputevent=GodotRuntime.get_func(p_on_input_event);const onsimpleevent=GodotRuntime.get_func(p_on_simple_event);const session_init={};if(required_features.length>0){session_init["requiredFeatures"]=required_features}if(optional_features.length>0){session_init["optionalFeatures"]=optional_features}navigator.xr.requestSession(session_mode,session_init).then(function(session){GodotWebXR.session=session;session.addEventListener("end",function(evt){onended()});session.addEventListener("inputsourceschange",function(evt){evt.added.forEach(GodotWebXR.addInputSource);evt.removed.forEach(GodotWebXR.removeInputSource)});["selectstart","selectend","squeezestart","squeezeend"].forEach((input_event,index)=>{session.addEventListener(input_event,function(evt){GodotWebXR.frame=evt.frame;oninputevent(index,GodotWebXR.getInputSourceId(evt.inputSource));GodotWebXR.frame=null})});session.addEventListener("visibilitychange",function(evt){const c_str=GodotRuntime.allocString("visibility_state_changed");onsimpleevent(c_str);GodotRuntime.free(c_str)});GodotWebXR.onsimpleevent=onsimpleevent;const gl_context_handle=_emscripten_webgl_get_current_context();const gl=GL.getContext(gl_context_handle).GLctx;GodotWebXR.gl=gl;gl.makeXRCompatible().then(function(){GodotWebXR.gl_binding=new XRWebGLBinding(session,gl);GodotWebXR.getLayer();function onReferenceSpaceSuccess(reference_space,reference_space_type){GodotWebXR.space=reference_space;reference_space.onreset=function(evt){const c_str=GodotRuntime.allocString("reference_space_reset");onsimpleevent(c_str);GodotRuntime.free(c_str)};GodotWebXR.pauseResumeMainLoop();window.setTimeout(function(){const reference_space_c_str=GodotRuntime.allocString(reference_space_type);const enabled_features="enabledFeatures"in session?Array.from(session.enabledFeatures):[];const enabled_features_c_str=GodotRuntime.allocString(enabled_features.join(","));const environment_blend_mode="environmentBlendMode"in session?session.environmentBlendMode:"";const environment_blend_mode_c_str=GodotRuntime.allocString(environment_blend_mode);onstarted(reference_space_c_str,enabled_features_c_str,environment_blend_mode_c_str);GodotRuntime.free(reference_space_c_str);GodotRuntime.free(enabled_features_c_str);GodotRuntime.free(environment_blend_mode_c_str)},0)}function requestReferenceSpace(){const reference_space_type=requested_reference_space_types.shift();session.requestReferenceSpace(reference_space_type).then(refSpace=>{onReferenceSpaceSuccess(refSpace,reference_space_type)}).catch(()=>{if(requested_reference_space_types.length===0){const c_str=GodotRuntime.allocString("Unable to get any of the requested reference space types");onfailed(c_str);GodotRuntime.free(c_str)}else{requestReferenceSpace()}})}requestReferenceSpace()}).catch(function(error){const c_str=GodotRuntime.allocString(`Unable to make WebGL context compatible with WebXR: ${error}`);onfailed(c_str);GodotRuntime.free(c_str)})}).catch(function(error){const c_str=GodotRuntime.allocString(`Unable to start session: ${error}`);onfailed(c_str);GodotRuntime.free(c_str)})};function _godot_webxr_is_session_supported(p_session_mode,p_callback){const session_mode=GodotRuntime.parseString(p_session_mode);const cb=GodotRuntime.get_func(p_callback);if(navigator.xr){navigator.xr.isSessionSupported(session_mode).then(function(supported){const c_str=GodotRuntime.allocString(session_mode);cb(c_str,supported?1:0);GodotRuntime.free(c_str)})}else{const c_str=GodotRuntime.allocString(session_mode);cb(c_str,0);GodotRuntime.free(c_str)}}function _godot_webxr_is_supported(){return!!navigator.xr}var _godot_webxr_uninitialize=function(){if(GodotWebXR.session){GodotWebXR.session.end().catch(e=>{})}GodotWebXR.session=null;GodotWebXR.gl_binding=null;GodotWebXR.layer=null;GodotWebXR.space=null;GodotWebXR.frame=null;GodotWebXR.pose=null;GodotWebXR.view_count=1;GodotWebXR.input_sources=new Array(16);GodotWebXR.touches=new Array(5);GodotWebXR.onsimpleevent=null;GodotWebXR.monkeyPatchRequestAnimationFrame(false);GodotWebXR.pauseResumeMainLoop()};function _godot_webxr_update_input_source(p_input_source_id,r_target_pose,r_target_ray_mode,r_touch_index,r_has_grip_pose,r_grip_pose,r_has_standard_mapping,r_button_count,r_buttons,r_axes_count,r_axes,r_has_hand_data,r_hand_joints,r_hand_radii){if(!GodotWebXR.session||!GodotWebXR.frame){return 0}if(p_input_source_id<0||p_input_source_id>=GodotWebXR.input_sources.length||!GodotWebXR.input_sources[p_input_source_id]){return false}const input_source=GodotWebXR.input_sources[p_input_source_id];const frame=GodotWebXR.frame;const space=GodotWebXR.space;const target_pose=frame.getPose(input_source.targetRaySpace,space);if(!target_pose){return false}const target_pose_matrix=target_pose.transform.matrix;for(let i=0;i<16;i++){GodotRuntime.setHeapValue(r_target_pose+i*4,target_pose_matrix[i],"float")}let target_ray_mode=0;switch(input_source.targetRayMode){case"gaze":target_ray_mode=1;break;case"tracked-pointer":target_ray_mode=2;break;case"screen":target_ray_mode=3;break;default:}GodotRuntime.setHeapValue(r_target_ray_mode,target_ray_mode,"i32");GodotRuntime.setHeapValue(r_touch_index,GodotWebXR.getTouchIndex(input_source),"i32");let has_grip_pose=false;if(input_source.gripSpace){const grip_pose=frame.getPose(input_source.gripSpace,space);if(grip_pose){const grip_pose_matrix=grip_pose.transform.matrix;for(let i=0;i<16;i++){GodotRuntime.setHeapValue(r_grip_pose+i*4,grip_pose_matrix[i],"float")}has_grip_pose=true}}GodotRuntime.setHeapValue(r_has_grip_pose,has_grip_pose?1:0,"i32");let has_standard_mapping=false;let button_count=0;let axes_count=0;if(input_source.gamepad){if(input_source.gamepad.mapping==="xr-standard"){has_standard_mapping=true}button_count=Math.min(input_source.gamepad.buttons.length,10);for(let i=0;i{const c_str=GodotRuntime.allocString("display_refresh_rate_changed");GodotWebXR.onsimpleevent(c_str);GodotRuntime.free(c_str)})}var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var getCFunc=ident=>{var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func};var writeArrayToMemory=(array,buffer)=>{assert(array.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)");HEAP8.set(array,buffer)};var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i(...args)=>ccall(ident,returnType,argTypes,args,opts);FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["requestFullscreen"]=Browser.requestFullscreen;Module["requestFullScreen"]=Browser.requestFullScreen;Module["requestAnimationFrame"]=Browser.requestAnimationFrame;Module["setCanvasSize"]=Browser.setCanvasSize;Module["pauseMainLoop"]=Browser.mainLoop.pause;Module["resumeMainLoop"]=Browser.mainLoop.resume;Module["getUserMedia"]=Browser.getUserMedia;Module["createContext"]=Browser.createContext;var preloadedImages={};var preloadedAudios={};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<=288;++i){miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i)}var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<=288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i)}Module["request_quit"]=function(){GodotOS.request_quit()};Module["onExit"]=GodotOS.cleanup;GodotOS._fs_sync_promise=Promise.resolve();Module["initConfig"]=GodotConfig.init_config;Module["initFS"]=GodotFS.init;Module["copyToFS"]=GodotFS.copy_to_fs;GodotOS.atexit(function(resolve,reject){GodotDisplayCursor.clear();resolve()});GodotOS.atexit(function(resolve,reject){GodotEventListeners.clear();resolve()});GodotOS.atexit(function(resolve,reject){GodotDisplayVK.clear();resolve()});GodotOS.atexit(function(resolve,reject){GodotIME.clear();resolve()});GodotJSWrapper.proxies=new Map;function checkIncomingModuleAPI(){ignoredModuleProp("fetchSettings")}var wasmImports={__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__syscall__newselect:___syscall__newselect,__syscall_accept4:___syscall_accept4,__syscall_bind:___syscall_bind,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_connect:___syscall_connect,__syscall_faccessat:___syscall_faccessat,__syscall_fchmod:___syscall_fchmod,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_getsockname:___syscall_getsockname,__syscall_getsockopt:___syscall_getsockopt,__syscall_ioctl:___syscall_ioctl,__syscall_listen:___syscall_listen,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_mknodat:___syscall_mknodat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_poll:___syscall_poll,__syscall_readlinkat:___syscall_readlinkat,__syscall_recvfrom:___syscall_recvfrom,__syscall_renameat:___syscall_renameat,__syscall_rmdir:___syscall_rmdir,__syscall_sendto:___syscall_sendto,__syscall_socket:___syscall_socket,__syscall_stat64:___syscall_stat64,__syscall_statfs64:___syscall_statfs64,__syscall_symlink:___syscall_symlink,__syscall_unlinkat:___syscall_unlinkat,_abort_js:__abort_js,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_tzset_js:__tzset_js,emscripten_cancel_main_loop:_emscripten_cancel_main_loop,emscripten_date_now:_emscripten_date_now,emscripten_err:_emscripten_err,emscripten_force_exit:_emscripten_force_exit,emscripten_get_now:_emscripten_get_now,emscripten_resize_heap:_emscripten_resize_heap,emscripten_set_canvas_element_size:_emscripten_set_canvas_element_size,emscripten_set_main_loop:_emscripten_set_main_loop,emscripten_webgl_commit_frame:_emscripten_webgl_commit_frame,emscripten_webgl_create_context:_emscripten_webgl_create_context,emscripten_webgl_destroy_context:_emscripten_webgl_destroy_context,emscripten_webgl_enable_extension:_emscripten_webgl_enable_extension,emscripten_webgl_get_supported_extensions:_emscripten_webgl_get_supported_extensions,emscripten_webgl_make_context_current:_emscripten_webgl_make_context_current,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_read:_fd_read,fd_seek:_fd_seek,fd_write:_fd_write,getaddrinfo:_getaddrinfo,getnameinfo:_getnameinfo,glActiveTexture:_glActiveTexture,glAttachShader:_glAttachShader,glBeginTransformFeedback:_glBeginTransformFeedback,glBindBuffer:_glBindBuffer,glBindBufferBase:_glBindBufferBase,glBindBufferRange:_glBindBufferRange,glBindFramebuffer:_glBindFramebuffer,glBindRenderbuffer:_glBindRenderbuffer,glBindTexture:_glBindTexture,glBindVertexArray:_glBindVertexArray,glBlendColor:_glBlendColor,glBlendEquation:_glBlendEquation,glBlendFunc:_glBlendFunc,glBlendFuncSeparate:_glBlendFuncSeparate,glBlitFramebuffer:_glBlitFramebuffer,glBufferData:_glBufferData,glBufferSubData:_glBufferSubData,glCheckFramebufferStatus:_glCheckFramebufferStatus,glClear:_glClear,glClearBufferfv:_glClearBufferfv,glClearColor:_glClearColor,glClearDepthf:_glClearDepthf,glColorMask:_glColorMask,glCompileShader:_glCompileShader,glCompressedTexImage2D:_glCompressedTexImage2D,glCompressedTexImage3D:_glCompressedTexImage3D,glCompressedTexSubImage3D:_glCompressedTexSubImage3D,glCopyBufferSubData:_glCopyBufferSubData,glCreateProgram:_glCreateProgram,glCreateShader:_glCreateShader,glCullFace:_glCullFace,glDeleteBuffers:_glDeleteBuffers,glDeleteFramebuffers:_glDeleteFramebuffers,glDeleteProgram:_glDeleteProgram,glDeleteQueries:_glDeleteQueries,glDeleteRenderbuffers:_glDeleteRenderbuffers,glDeleteShader:_glDeleteShader,glDeleteSync:_glDeleteSync,glDeleteTextures:_glDeleteTextures,glDeleteVertexArrays:_glDeleteVertexArrays,glDepthFunc:_glDepthFunc,glDepthMask:_glDepthMask,glDisable:_glDisable,glDisableVertexAttribArray:_glDisableVertexAttribArray,glDrawArrays:_glDrawArrays,glDrawArraysInstanced:_glDrawArraysInstanced,glDrawBuffers:_glDrawBuffers,glDrawElements:_glDrawElements,glDrawElementsInstanced:_glDrawElementsInstanced,glEnable:_glEnable,glEnableVertexAttribArray:_glEnableVertexAttribArray,glEndTransformFeedback:_glEndTransformFeedback,glFenceSync:_glFenceSync,glFinish:_glFinish,glFramebufferRenderbuffer:_glFramebufferRenderbuffer,glFramebufferTexture2D:_glFramebufferTexture2D,glFramebufferTextureLayer:_glFramebufferTextureLayer,glFrontFace:_glFrontFace,glGenBuffers:_glGenBuffers,glGenFramebuffers:_glGenFramebuffers,glGenQueries:_glGenQueries,glGenRenderbuffers:_glGenRenderbuffers,glGenTextures:_glGenTextures,glGenVertexArrays:_glGenVertexArrays,glGenerateMipmap:_glGenerateMipmap,glGetFloatv:_glGetFloatv,glGetInteger64v:_glGetInteger64v,glGetIntegerv:_glGetIntegerv,glGetProgramInfoLog:_glGetProgramInfoLog,glGetProgramiv:_glGetProgramiv,glGetShaderInfoLog:_glGetShaderInfoLog,glGetShaderiv:_glGetShaderiv,glGetString:_glGetString,glGetSynciv:_glGetSynciv,glGetUniformBlockIndex:_glGetUniformBlockIndex,glGetUniformLocation:_glGetUniformLocation,glLinkProgram:_glLinkProgram,glPixelStorei:_glPixelStorei,glReadBuffer:_glReadBuffer,glReadPixels:_glReadPixels,glRenderbufferStorage:_glRenderbufferStorage,glRenderbufferStorageMultisample:_glRenderbufferStorageMultisample,glScissor:_glScissor,glShaderSource:_glShaderSource,glTexImage2D:_glTexImage2D,glTexImage3D:_glTexImage3D,glTexParameterf:_glTexParameterf,glTexParameteri:_glTexParameteri,glTexStorage2D:_glTexStorage2D,glTexSubImage3D:_glTexSubImage3D,glTransformFeedbackVaryings:_glTransformFeedbackVaryings,glUniform1f:_glUniform1f,glUniform1i:_glUniform1i,glUniform1iv:_glUniform1iv,glUniform1ui:_glUniform1ui,glUniform1uiv:_glUniform1uiv,glUniform2f:_glUniform2f,glUniform2fv:_glUniform2fv,glUniform2iv:_glUniform2iv,glUniform3fv:_glUniform3fv,glUniform4f:_glUniform4f,glUniform4fv:_glUniform4fv,glUniformBlockBinding:_glUniformBlockBinding,glUniformMatrix3fv:_glUniformMatrix3fv,glUniformMatrix4fv:_glUniformMatrix4fv,glUseProgram:_glUseProgram,glVertexAttrib4f:_glVertexAttrib4f,glVertexAttribDivisor:_glVertexAttribDivisor,glVertexAttribI4ui:_glVertexAttribI4ui,glVertexAttribIPointer:_glVertexAttribIPointer,glVertexAttribPointer:_glVertexAttribPointer,glViewport:_glViewport,godot_audio_has_worklet:_godot_audio_has_worklet,godot_audio_init:_godot_audio_init,godot_audio_input_start:_godot_audio_input_start,godot_audio_input_stop:_godot_audio_input_stop,godot_audio_is_available:_godot_audio_is_available,godot_audio_resume:_godot_audio_resume,godot_audio_sample_bus_add:_godot_audio_sample_bus_add,godot_audio_sample_bus_move:_godot_audio_sample_bus_move,godot_audio_sample_bus_remove:_godot_audio_sample_bus_remove,godot_audio_sample_bus_set_count:_godot_audio_sample_bus_set_count,godot_audio_sample_bus_set_mute:_godot_audio_sample_bus_set_mute,godot_audio_sample_bus_set_send:_godot_audio_sample_bus_set_send,godot_audio_sample_bus_set_solo:_godot_audio_sample_bus_set_solo,godot_audio_sample_bus_set_volume_db:_godot_audio_sample_bus_set_volume_db,godot_audio_sample_is_active:_godot_audio_sample_is_active,godot_audio_sample_register_stream:_godot_audio_sample_register_stream,godot_audio_sample_set_finished_callback:_godot_audio_sample_set_finished_callback,godot_audio_sample_set_pause:_godot_audio_sample_set_pause,godot_audio_sample_set_volumes_linear:_godot_audio_sample_set_volumes_linear,godot_audio_sample_start:_godot_audio_sample_start,godot_audio_sample_stop:_godot_audio_sample_stop,godot_audio_sample_stream_is_registered:_godot_audio_sample_stream_is_registered,godot_audio_sample_unregister_stream:_godot_audio_sample_unregister_stream,godot_audio_sample_update_pitch_scale:_godot_audio_sample_update_pitch_scale,godot_audio_worklet_create:_godot_audio_worklet_create,godot_audio_worklet_start_no_threads:_godot_audio_worklet_start_no_threads,godot_js_config_canvas_id_get:_godot_js_config_canvas_id_get,godot_js_config_locale_get:_godot_js_config_locale_get,godot_js_display_alert:_godot_js_display_alert,godot_js_display_canvas_focus:_godot_js_display_canvas_focus,godot_js_display_canvas_is_focused:_godot_js_display_canvas_is_focused,godot_js_display_clipboard_get:_godot_js_display_clipboard_get,godot_js_display_clipboard_set:_godot_js_display_clipboard_set,godot_js_display_cursor_is_hidden:_godot_js_display_cursor_is_hidden,godot_js_display_cursor_is_locked:_godot_js_display_cursor_is_locked,godot_js_display_cursor_lock_set:_godot_js_display_cursor_lock_set,godot_js_display_cursor_set_custom_shape:_godot_js_display_cursor_set_custom_shape,godot_js_display_cursor_set_shape:_godot_js_display_cursor_set_shape,godot_js_display_cursor_set_visible:_godot_js_display_cursor_set_visible,godot_js_display_desired_size_set:_godot_js_display_desired_size_set,godot_js_display_fullscreen_cb:_godot_js_display_fullscreen_cb,godot_js_display_fullscreen_exit:_godot_js_display_fullscreen_exit,godot_js_display_fullscreen_request:_godot_js_display_fullscreen_request,godot_js_display_has_webgl:_godot_js_display_has_webgl,godot_js_display_is_swap_ok_cancel:_godot_js_display_is_swap_ok_cancel,godot_js_display_notification_cb:_godot_js_display_notification_cb,godot_js_display_pixel_ratio_get:_godot_js_display_pixel_ratio_get,godot_js_display_screen_dpi_get:_godot_js_display_screen_dpi_get,godot_js_display_screen_size_get:_godot_js_display_screen_size_get,godot_js_display_setup_canvas:_godot_js_display_setup_canvas,godot_js_display_size_update:_godot_js_display_size_update,godot_js_display_touchscreen_is_available:_godot_js_display_touchscreen_is_available,godot_js_display_tts_available:_godot_js_display_tts_available,godot_js_display_vk_available:_godot_js_display_vk_available,godot_js_display_vk_cb:_godot_js_display_vk_cb,godot_js_display_vk_hide:_godot_js_display_vk_hide,godot_js_display_vk_show:_godot_js_display_vk_show,godot_js_display_window_blur_cb:_godot_js_display_window_blur_cb,godot_js_display_window_icon_set:_godot_js_display_window_icon_set,godot_js_display_window_size_get:_godot_js_display_window_size_get,godot_js_display_window_title_set:_godot_js_display_window_title_set,godot_js_eval:_godot_js_eval,godot_js_fetch_create:_godot_js_fetch_create,godot_js_fetch_free:_godot_js_fetch_free,godot_js_fetch_http_status_get:_godot_js_fetch_http_status_get,godot_js_fetch_is_chunked:_godot_js_fetch_is_chunked,godot_js_fetch_read_chunk:_godot_js_fetch_read_chunk,godot_js_fetch_read_headers:_godot_js_fetch_read_headers,godot_js_fetch_state_get:_godot_js_fetch_state_get,godot_js_input_drop_files_cb:_godot_js_input_drop_files_cb,godot_js_input_gamepad_cb:_godot_js_input_gamepad_cb,godot_js_input_gamepad_sample:_godot_js_input_gamepad_sample,godot_js_input_gamepad_sample_count:_godot_js_input_gamepad_sample_count,godot_js_input_gamepad_sample_get:_godot_js_input_gamepad_sample_get,godot_js_input_key_cb:_godot_js_input_key_cb,godot_js_input_mouse_button_cb:_godot_js_input_mouse_button_cb,godot_js_input_mouse_move_cb:_godot_js_input_mouse_move_cb,godot_js_input_mouse_wheel_cb:_godot_js_input_mouse_wheel_cb,godot_js_input_paste_cb:_godot_js_input_paste_cb,godot_js_input_touch_cb:_godot_js_input_touch_cb,godot_js_input_vibrate_handheld:_godot_js_input_vibrate_handheld,godot_js_is_ime_focused:_godot_js_is_ime_focused,godot_js_os_download_buffer:_godot_js_os_download_buffer,godot_js_os_execute:_godot_js_os_execute,godot_js_os_finish_async:_godot_js_os_finish_async,godot_js_os_fs_is_persistent:_godot_js_os_fs_is_persistent,godot_js_os_fs_sync:_godot_js_os_fs_sync,godot_js_os_has_feature:_godot_js_os_has_feature,godot_js_os_hw_concurrency_get:_godot_js_os_hw_concurrency_get,godot_js_os_request_quit_cb:_godot_js_os_request_quit_cb,godot_js_os_shell_open:_godot_js_os_shell_open,godot_js_pwa_cb:_godot_js_pwa_cb,godot_js_pwa_update:_godot_js_pwa_update,godot_js_rtc_datachannel_close:_godot_js_rtc_datachannel_close,godot_js_rtc_datachannel_connect:_godot_js_rtc_datachannel_connect,godot_js_rtc_datachannel_destroy:_godot_js_rtc_datachannel_destroy,godot_js_rtc_datachannel_get_buffered_amount:_godot_js_rtc_datachannel_get_buffered_amount,godot_js_rtc_datachannel_id_get:_godot_js_rtc_datachannel_id_get,godot_js_rtc_datachannel_is_negotiated:_godot_js_rtc_datachannel_is_negotiated,godot_js_rtc_datachannel_is_ordered:_godot_js_rtc_datachannel_is_ordered,godot_js_rtc_datachannel_label_get:_godot_js_rtc_datachannel_label_get,godot_js_rtc_datachannel_max_packet_lifetime_get:_godot_js_rtc_datachannel_max_packet_lifetime_get,godot_js_rtc_datachannel_max_retransmits_get:_godot_js_rtc_datachannel_max_retransmits_get,godot_js_rtc_datachannel_protocol_get:_godot_js_rtc_datachannel_protocol_get,godot_js_rtc_datachannel_ready_state_get:_godot_js_rtc_datachannel_ready_state_get,godot_js_rtc_datachannel_send:_godot_js_rtc_datachannel_send,godot_js_rtc_pc_close:_godot_js_rtc_pc_close,godot_js_rtc_pc_create:_godot_js_rtc_pc_create,godot_js_rtc_pc_datachannel_create:_godot_js_rtc_pc_datachannel_create,godot_js_rtc_pc_destroy:_godot_js_rtc_pc_destroy,godot_js_rtc_pc_ice_candidate_add:_godot_js_rtc_pc_ice_candidate_add,godot_js_rtc_pc_local_description_set:_godot_js_rtc_pc_local_description_set,godot_js_rtc_pc_offer_create:_godot_js_rtc_pc_offer_create,godot_js_rtc_pc_remote_description_set:_godot_js_rtc_pc_remote_description_set,godot_js_set_ime_active:_godot_js_set_ime_active,godot_js_set_ime_cb:_godot_js_set_ime_cb,godot_js_set_ime_position:_godot_js_set_ime_position,godot_js_tts_get_voices:_godot_js_tts_get_voices,godot_js_tts_is_paused:_godot_js_tts_is_paused,godot_js_tts_is_speaking:_godot_js_tts_is_speaking,godot_js_tts_pause:_godot_js_tts_pause,godot_js_tts_resume:_godot_js_tts_resume,godot_js_tts_speak:_godot_js_tts_speak,godot_js_tts_stop:_godot_js_tts_stop,godot_js_websocket_buffered_amount:_godot_js_websocket_buffered_amount,godot_js_websocket_close:_godot_js_websocket_close,godot_js_websocket_create:_godot_js_websocket_create,godot_js_websocket_destroy:_godot_js_websocket_destroy,godot_js_websocket_send:_godot_js_websocket_send,godot_js_wrapper_create_cb:_godot_js_wrapper_create_cb,godot_js_wrapper_create_object:_godot_js_wrapper_create_object,godot_js_wrapper_interface_get:_godot_js_wrapper_interface_get,godot_js_wrapper_object_call:_godot_js_wrapper_object_call,godot_js_wrapper_object_get:_godot_js_wrapper_object_get,godot_js_wrapper_object_getvar:_godot_js_wrapper_object_getvar,godot_js_wrapper_object_set:_godot_js_wrapper_object_set,godot_js_wrapper_object_set_cb_ret:_godot_js_wrapper_object_set_cb_ret,godot_js_wrapper_object_setvar:_godot_js_wrapper_object_setvar,godot_js_wrapper_object_unref:_godot_js_wrapper_object_unref,godot_webgl2_glFramebufferTextureMultisampleMultiviewOVR:_godot_webgl2_glFramebufferTextureMultisampleMultiviewOVR,godot_webgl2_glFramebufferTextureMultiviewOVR:_godot_webgl2_glFramebufferTextureMultiviewOVR,godot_webgl2_glGetBufferSubData:_godot_webgl2_glGetBufferSubData,godot_webxr_get_bounds_geometry:_godot_webxr_get_bounds_geometry,godot_webxr_get_color_texture:_godot_webxr_get_color_texture,godot_webxr_get_depth_texture:_godot_webxr_get_depth_texture,godot_webxr_get_frame_rate:_godot_webxr_get_frame_rate,godot_webxr_get_projection_for_view:_godot_webxr_get_projection_for_view,godot_webxr_get_render_target_size:_godot_webxr_get_render_target_size,godot_webxr_get_supported_frame_rates:_godot_webxr_get_supported_frame_rates,godot_webxr_get_transform_for_view:_godot_webxr_get_transform_for_view,godot_webxr_get_velocity_texture:_godot_webxr_get_velocity_texture,godot_webxr_get_view_count:_godot_webxr_get_view_count,godot_webxr_get_visibility_state:_godot_webxr_get_visibility_state,godot_webxr_initialize:_godot_webxr_initialize,godot_webxr_is_session_supported:_godot_webxr_is_session_supported,godot_webxr_is_supported:_godot_webxr_is_supported,godot_webxr_uninitialize:_godot_webxr_uninitialize,godot_webxr_update_input_source:_godot_webxr_update_input_source,godot_webxr_update_target_frame_rate:_godot_webxr_update_target_frame_rate,proc_exit:_proc_exit};var wasmExports=createWasm();var ___wasm_call_ctors=createExportWrapper("__wasm_call_ctors",0);var _free=createExportWrapper("free",1);var __Z14godot_web_mainiPPc=Module["__Z14godot_web_mainiPPc"]=createExportWrapper("_Z14godot_web_mainiPPc",2);var _main=Module["_main"]=createExportWrapper("__main_argc_argv",2);var _malloc=createExportWrapper("malloc",1);var _fflush=createExportWrapper("fflush",1);var _htonl=createExportWrapper("htonl",1);var _htons=createExportWrapper("htons",1);var _ntohs=createExportWrapper("ntohs",1);var __emwebxr_on_input_event=Module["__emwebxr_on_input_event"]=createExportWrapper("_emwebxr_on_input_event",2);var __emwebxr_on_simple_event=Module["__emwebxr_on_simple_event"]=createExportWrapper("_emwebxr_on_simple_event",1);var _strerror=createExportWrapper("strerror",1);var ___funcs_on_exit=createExportWrapper("__funcs_on_exit",0);var _emscripten_stack_init=()=>(_emscripten_stack_init=wasmExports["emscripten_stack_init"])();var _emscripten_stack_get_free=()=>(_emscripten_stack_get_free=wasmExports["emscripten_stack_get_free"])();var _emscripten_stack_get_base=()=>(_emscripten_stack_get_base=wasmExports["emscripten_stack_get_base"])();var _emscripten_stack_get_end=()=>(_emscripten_stack_get_end=wasmExports["emscripten_stack_get_end"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["_emscripten_stack_restore"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"])();Module["callMain"]=callMain;Module["cwrap"]=cwrap;var missingLibrarySymbols=["writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","convertI32PairToI53","convertI32PairToI53Checked","convertU32PairToI53","getTempRet0","setTempRet0","arraySum","addDays","emscriptenLog","readEmAsmArgs","listenOnce","autoResumeAudioContext","getDynCaller","dynCall","setWasmTableEntry","asmjsMangle","HandleAllocator","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","intArrayToString","AsciiToString","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","registerKeyEventCallback","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","jsStackTrace","getCallstack","convertPCtoSourceLocation","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","createDyncallWrapper","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","getPromise","makePromise","idsToPromises","makePromiseCallback","Browser_asyncPrepareDataCounter","FS_unlink","FS_mkdirTree","_setNetworkCallback","emscriptenWebGLGetUniform","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","registerWebGlEventCallback","runAndAbortIfError","emscriptenWebGLGetIndexed","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","setErrNo","demangle","stackTrace"];missingLibrarySymbols.forEach(missingLibrarySymbol);var unexportedSymbols=["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","out","err","abort","wasmMemory","wasmExports","writeStackCookie","checkStackCookie","writeI53ToI64","readI53FromI64","readI53FromU64","INT53_MAX","INT53_MIN","bigintToI53Checked","stackSave","stackRestore","stackAlloc","ptrToString","zeroMemory","exitJS","getHeapMax","growMemory","ENV","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","isLeapYear","ydayFromDate","ERRNO_CODES","strError","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","DNS","Protocols","Sockets","initRandomFill","randomFill","timers","warnOnce","readEmAsmArgsArray","jstoi_q","jstoi_s","getExecutableName","getWasmTableEntry","handleException","keepRuntimeAlive","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","asyncLoad","alignMemory","mmapAlloc","wasmTable","noExitRuntime","getCFunc","ccall","freeTableIndexes","functionsInTableMap","setValue","getValue","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","intArrayFromString","stringToAscii","UTF16Decoder","stringToNewUTF8","stringToUTF8OnStack","writeArrayToMemory","JSEvents","specialHTMLTargets","maybeCStringToJsString","findEventTarget","findCanvasEventTarget","currentFullscreenStrategy","restoreOldWindowedStyle","UNWIND_CACHE","ExitStatus","getEnvStrings","doReadv","doWritev","safeSetTimeout","promiseMap","Browser","setMainLoop","getPreloadedImageData__data","wget","SYSCALLS","getSocketFromFD","getSocketAddress","preloadPlugins","FS_createPreloadedFile","FS_modeStringToFlags","FS_getMode","FS_stdin_getChar_buffer","FS_stdin_getChar","FS_createPath","FS_createDevice","FS_readFile","FS","FS_createDataFile","FS_createLazyFile","MEMFS","TTY","PIPEFS","SOCKFS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","heapObjectForWebGLType","toTypedArrayIndex","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","GL","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance","webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance","allocateUTF8","allocateUTF8OnStack","print","printErr","GodotWebXR","GodotWebSocket","GodotRTCDataChannel","GodotRTCPeerConnection","GodotAudio","GodotAudioWorklet","GodotAudioScript","GodotDisplayVK","GodotDisplayCursor","GodotDisplayScreen","GodotDisplay","GodotFetch","IDHandler","GodotConfig","GodotFS","GodotOS","GodotEventListeners","GodotPWA","GodotRuntime","GodotIME","GodotInputGamepads","GodotInputDragDrop","GodotInput","GodotWebGL2","GodotJSWrapper","IDBFS"];unexportedSymbols.forEach(unexportedRuntimeSymbol);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args=[]){assert(runDependencies==0,'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])');assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function stackCheckInit(){_emscripten_stack_init();writeStackCookie()}function run(args=arguments_){if(runDependencies>0){return}stackCheckInit();preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=false;if(Module["noInitialRun"])shouldRunNow=false;run();moduleRtn=readyPromise;for(const prop of Object.keys(Module)){if(!(prop in moduleArg)){Object.defineProperty(moduleArg,prop,{configurable:true,get(){abort(`Access to module property ('${prop}') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`)}})}} + + + return moduleRtn; +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = Godot; +else if (typeof define === 'function' && define['amd']) + define([], () => Godot); + +const Features = { + /** + * Check whether WebGL is available. Optionally, specify a particular version of WebGL to check for. + * + * @param {number=} [majorVersion=1] The major WebGL version to check for. + * @returns {boolean} If the given major version of WebGL is available. + * @function Engine.isWebGLAvailable + */ + isWebGLAvailable: function (majorVersion = 1) { + try { + return !!document.createElement('canvas').getContext(['webgl', 'webgl2'][majorVersion - 1]); + } catch (e) { /* Not available */ } + return false; + }, + + /** + * Check whether the Fetch API available and supports streaming responses. + * + * @returns {boolean} If the Fetch API is available and supports streaming responses. + * @function Engine.isFetchAvailable + */ + isFetchAvailable: function () { + return 'fetch' in window && 'Response' in window && 'body' in window.Response.prototype; + }, + + /** + * Check whether the engine is running in a Secure Context. + * + * @returns {boolean} If the engine is running in a Secure Context. + * @function Engine.isSecureContext + */ + isSecureContext: function () { + return window['isSecureContext'] === true; + }, + + /** + * Check whether the engine is cross origin isolated. + * This value is dependent on Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy headers sent by the server. + * + * @returns {boolean} If the engine is running in a Secure Context. + * @function Engine.isSecureContext + */ + isCrossOriginIsolated: function () { + return window['crossOriginIsolated'] === true; + }, + + /** + * Check whether SharedBufferArray is available. + * + * Most browsers require the page to be running in a secure context, and the + * the server to provide specific CORS headers for SharedArrayBuffer to be available. + * + * @returns {boolean} If SharedArrayBuffer is available. + * @function Engine.isSharedArrayBufferAvailable + */ + isSharedArrayBufferAvailable: function () { + return 'SharedArrayBuffer' in window; + }, + + /** + * Check whether the AudioContext supports AudioWorkletNodes. + * + * @returns {boolean} If AudioWorkletNode is available. + * @function Engine.isAudioWorkletAvailable + */ + isAudioWorkletAvailable: function () { + return 'AudioContext' in window && 'audioWorklet' in AudioContext.prototype; + }, + + /** + * Return an array of missing required features (as string). + * + * @returns {Array} A list of human-readable missing features. + * @function Engine.getMissingFeatures + * @param {{threads: (boolean|undefined)}} supportedFeatures + */ + getMissingFeatures: function (supportedFeatures = {}) { + const { + // Quotes are needed for the Closure compiler. + 'threads': supportsThreads = true, + } = supportedFeatures; + + const missing = []; + if (!Features.isWebGLAvailable(2)) { + missing.push('WebGL2 - Check web browser configuration and hardware support'); + } + if (!Features.isFetchAvailable()) { + missing.push('Fetch - Check web browser version'); + } + if (!Features.isSecureContext()) { + missing.push('Secure Context - Check web server configuration (use HTTPS)'); + } + + if (supportsThreads) { + if (!Features.isCrossOriginIsolated()) { + missing.push('Cross-Origin Isolation - Check that the web server configuration sends the correct headers.'); + } + if (!Features.isSharedArrayBufferAvailable()) { + missing.push('SharedArrayBuffer - Check that the web server configuration sends the correct headers.'); + } + } + + // Audio is normally optional since we have a dummy fallback. + return missing; + }, +}; + +const Preloader = /** @constructor */ function () { // eslint-disable-line no-unused-vars + function getTrackedResponse(response, load_status) { + function onloadprogress(reader, controller) { + return reader.read().then(function (result) { + if (load_status.done) { + return Promise.resolve(); + } + if (result.value) { + controller.enqueue(result.value); + load_status.loaded += result.value.length; + } + if (!result.done) { + return onloadprogress(reader, controller); + } + load_status.done = true; + return Promise.resolve(); + }); + } + const reader = response.body.getReader(); + return new Response(new ReadableStream({ + start: function (controller) { + onloadprogress(reader, controller).then(function () { + controller.close(); + }); + }, + }), { headers: response.headers }); + } + + function loadFetch(file, tracker, fileSize, raw) { + tracker[file] = { + total: fileSize || 0, + loaded: 0, + done: false, + }; + return fetch(file).then(function (response) { + if (!response.ok) { + return Promise.reject(new Error(`Failed loading file '${file}'`)); + } + const tr = getTrackedResponse(response, tracker[file]); + if (raw) { + return Promise.resolve(tr); + } + return tr.arrayBuffer(); + }); + } + + function retry(func, attempts = 1) { + function onerror(err) { + if (attempts <= 1) { + return Promise.reject(err); + } + return new Promise(function (resolve, reject) { + setTimeout(function () { + retry(func, attempts - 1).then(resolve).catch(reject); + }, 1000); + }); + } + return func().catch(onerror); + } + + const DOWNLOAD_ATTEMPTS_MAX = 4; + const loadingFiles = {}; + const lastProgress = { loaded: 0, total: 0 }; + let progressFunc = null; + + const animateProgress = function () { + let loaded = 0; + let total = 0; + let totalIsValid = true; + let progressIsFinal = true; + + Object.keys(loadingFiles).forEach(function (file) { + const stat = loadingFiles[file]; + if (!stat.done) { + progressIsFinal = false; + } + if (!totalIsValid || stat.total === 0) { + totalIsValid = false; + total = 0; + } else { + total += stat.total; + } + loaded += stat.loaded; + }); + if (loaded !== lastProgress.loaded || total !== lastProgress.total) { + lastProgress.loaded = loaded; + lastProgress.total = total; + if (typeof progressFunc === 'function') { + progressFunc(loaded, total); + } + } + if (!progressIsFinal) { + requestAnimationFrame(animateProgress); + } + }; + + this.animateProgress = animateProgress; + + this.setProgressFunc = function (callback) { + progressFunc = callback; + }; + + this.loadPromise = function (file, fileSize, raw = false) { + return retry(loadFetch.bind(null, file, loadingFiles, fileSize, raw), DOWNLOAD_ATTEMPTS_MAX); + }; + + this.preloadedFiles = []; + this.preload = function (pathOrBuffer, destPath, fileSize) { + let buffer = null; + if (typeof pathOrBuffer === 'string') { + const me = this; + return this.loadPromise(pathOrBuffer, fileSize).then(function (buf) { + me.preloadedFiles.push({ + path: destPath || pathOrBuffer, + buffer: buf, + }); + return Promise.resolve(); + }); + } else if (pathOrBuffer instanceof ArrayBuffer) { + buffer = new Uint8Array(pathOrBuffer); + } else if (ArrayBuffer.isView(pathOrBuffer)) { + buffer = new Uint8Array(pathOrBuffer.buffer); + } + if (buffer) { + this.preloadedFiles.push({ + path: destPath, + buffer: pathOrBuffer, + }); + return Promise.resolve(); + } + return Promise.reject(new Error('Invalid object for preloading')); + }; +}; + +/** + * An object used to configure the Engine instance based on godot export options, and to override those in custom HTML + * templates if needed. + * + * @header Engine configuration + * @summary The Engine configuration object. This is just a typedef, create it like a regular object, e.g.: + * + * ``const MyConfig = { executable: 'godot', unloadAfterInit: false }`` + * + * @typedef {Object} EngineConfig + */ +const EngineConfig = {}; // eslint-disable-line no-unused-vars + +/** + * @struct + * @constructor + * @ignore + */ +const InternalConfig = function (initConfig) { // eslint-disable-line no-unused-vars + const cfg = /** @lends {InternalConfig.prototype} */ { + /** + * Whether to unload the engine automatically after the instance is initialized. + * + * @memberof EngineConfig + * @default + * @type {boolean} + */ + unloadAfterInit: true, + /** + * The HTML DOM Canvas object to use. + * + * By default, the first canvas element in the document will be used is none is specified. + * + * @memberof EngineConfig + * @default + * @type {?HTMLCanvasElement} + */ + canvas: null, + /** + * The name of the WASM file without the extension. (Set by Godot Editor export process). + * + * @memberof EngineConfig + * @default + * @type {string} + */ + executable: '', + /** + * An alternative name for the game pck to load. The executable name is used otherwise. + * + * @memberof EngineConfig + * @default + * @type {?string} + */ + mainPack: null, + /** + * Specify a language code to select the proper localization for the game. + * + * The browser locale will be used if none is specified. See complete list of + * :ref:`supported locales `. + * + * @memberof EngineConfig + * @type {?string} + * @default + */ + locale: null, + /** + * The canvas resize policy determines how the canvas should be resized by Godot. + * + * ``0`` means Godot won't do any resizing. This is useful if you want to control the canvas size from + * javascript code in your template. + * + * ``1`` means Godot will resize the canvas on start, and when changing window size via engine functions. + * + * ``2`` means Godot will adapt the canvas size to match the whole browser window. + * + * @memberof EngineConfig + * @type {number} + * @default + */ + canvasResizePolicy: 2, + /** + * The arguments to be passed as command line arguments on startup. + * + * See :ref:`command line tutorial `. + * + * **Note**: :js:meth:`startGame ` will always add the ``--main-pack`` argument. + * + * @memberof EngineConfig + * @type {Array} + * @default + */ + args: [], + /** + * When enabled, the game canvas will automatically grab the focus when the engine starts. + * + * @memberof EngineConfig + * @type {boolean} + * @default + */ + focusCanvas: true, + /** + * When enabled, this will turn on experimental virtual keyboard support on mobile. + * + * @memberof EngineConfig + * @type {boolean} + * @default + */ + experimentalVK: false, + /** + * The progressive web app service worker to install. + * @memberof EngineConfig + * @default + * @type {string} + */ + serviceWorker: '', + /** + * @ignore + * @type {Array.} + */ + persistentPaths: ['/userfs'], + /** + * @ignore + * @type {boolean} + */ + persistentDrops: false, + /** + * @ignore + * @type {Array.} + */ + gdextensionLibs: [], + /** + * @ignore + * @type {Array.} + */ + fileSizes: [], + /** + * A callback function for handling Godot's ``OS.execute`` calls. + * + * This is for example used in the Web Editor template to switch between project manager and editor, and for running the game. + * + * @callback EngineConfig.onExecute + * @param {string} path The path that Godot's wants executed. + * @param {Array.} args The arguments of the "command" to execute. + */ + /** + * @ignore + * @type {?function(string, Array.)} + */ + onExecute: null, + /** + * A callback function for being notified when the Godot instance quits. + * + * **Note**: This function will not be called if the engine crashes or become unresponsive. + * + * @callback EngineConfig.onExit + * @param {number} status_code The status code returned by Godot on exit. + */ + /** + * @ignore + * @type {?function(number)} + */ + onExit: null, + /** + * A callback function for displaying download progress. + * + * The function is called once per frame while downloading files, so the usage of ``requestAnimationFrame()`` + * is not necessary. + * + * If the callback function receives a total amount of bytes as 0, this means that it is impossible to calculate. + * Possible reasons include: + * + * - Files are delivered with server-side chunked compression + * - Files are delivered with server-side compression on Chromium + * - Not all file downloads have started yet (usually on servers without multi-threading) + * + * @callback EngineConfig.onProgress + * @param {number} current The current amount of downloaded bytes so far. + * @param {number} total The total amount of bytes to be downloaded. + */ + /** + * @ignore + * @type {?function(number, number)} + */ + onProgress: null, + /** + * A callback function for handling the standard output stream. This method should usually only be used in debug pages. + * + * By default, ``console.log()`` is used. + * + * @callback EngineConfig.onPrint + * @param {...*} [var_args] A variadic number of arguments to be printed. + */ + /** + * @ignore + * @type {?function(...*)} + */ + onPrint: function () { + console.log.apply(console, Array.from(arguments)); // eslint-disable-line no-console + }, + /** + * A callback function for handling the standard error stream. This method should usually only be used in debug pages. + * + * By default, ``console.error()`` is used. + * + * @callback EngineConfig.onPrintError + * @param {...*} [var_args] A variadic number of arguments to be printed as errors. + */ + /** + * @ignore + * @type {?function(...*)} + */ + onPrintError: function (var_args) { + console.error.apply(console, Array.from(arguments)); // eslint-disable-line no-console + }, + }; + + /** + * @ignore + * @struct + * @constructor + * @param {EngineConfig} opts + */ + function Config(opts) { + this.update(opts); + } + + Config.prototype = cfg; + + /** + * @ignore + * @param {EngineConfig} opts + */ + Config.prototype.update = function (opts) { + const config = opts || {}; + // NOTE: We must explicitly pass the default, accessing it via + // the key will fail due to closure compiler renames. + function parse(key, def) { + if (typeof (config[key]) === 'undefined') { + return def; + } + return config[key]; + } + // Module config + this.unloadAfterInit = parse('unloadAfterInit', this.unloadAfterInit); + this.onPrintError = parse('onPrintError', this.onPrintError); + this.onPrint = parse('onPrint', this.onPrint); + this.onProgress = parse('onProgress', this.onProgress); + + // Godot config + this.canvas = parse('canvas', this.canvas); + this.executable = parse('executable', this.executable); + this.mainPack = parse('mainPack', this.mainPack); + this.locale = parse('locale', this.locale); + this.canvasResizePolicy = parse('canvasResizePolicy', this.canvasResizePolicy); + this.persistentPaths = parse('persistentPaths', this.persistentPaths); + this.persistentDrops = parse('persistentDrops', this.persistentDrops); + this.experimentalVK = parse('experimentalVK', this.experimentalVK); + this.focusCanvas = parse('focusCanvas', this.focusCanvas); + this.serviceWorker = parse('serviceWorker', this.serviceWorker); + this.gdextensionLibs = parse('gdextensionLibs', this.gdextensionLibs); + this.fileSizes = parse('fileSizes', this.fileSizes); + this.args = parse('args', this.args); + this.onExecute = parse('onExecute', this.onExecute); + this.onExit = parse('onExit', this.onExit); + }; + + /** + * @ignore + * @param {string} loadPath + * @param {Response} response + */ + Config.prototype.getModuleConfig = function (loadPath, response) { + let r = response; + const gdext = this.gdextensionLibs; + return { + 'print': this.onPrint, + 'printErr': this.onPrintError, + 'thisProgram': this.executable, + 'noExitRuntime': false, + 'dynamicLibraries': [`${loadPath}.side.wasm`].concat(this.gdextensionLibs), + 'instantiateWasm': function (imports, onSuccess) { + function done(result) { + onSuccess(result['instance'], result['module']); + } + if (typeof (WebAssembly.instantiateStreaming) !== 'undefined') { + WebAssembly.instantiateStreaming(Promise.resolve(r), imports).then(done); + } else { + r.arrayBuffer().then(function (buffer) { + WebAssembly.instantiate(buffer, imports).then(done); + }); + } + r = null; + return {}; + }, + 'locateFile': function (path) { + if (!path.startsWith('godot.')) { + return path; + } else if (path.endsWith('.worker.js')) { + return `${loadPath}.worker.js`; + } else if (path.endsWith('.audio.worklet.js')) { + return `${loadPath}.audio.worklet.js`; + } else if (path.endsWith('.js')) { + return `${loadPath}.js`; + } else if (path in gdext) { + return path; + } else if (path.endsWith('.side.wasm')) { + return `${loadPath}.side.wasm`; + } else if (path.endsWith('.wasm')) { + return `${loadPath}.wasm`; + } + return path; + }, + }; + }; + + /** + * @ignore + * @param {function()} cleanup + */ + Config.prototype.getGodotConfig = function (cleanup) { + // Try to find a canvas + if (!(this.canvas instanceof HTMLCanvasElement)) { + const nodes = document.getElementsByTagName('canvas'); + if (nodes.length && nodes[0] instanceof HTMLCanvasElement) { + const first = nodes[0]; + this.canvas = /** @type {!HTMLCanvasElement} */ (first); + } + if (!this.canvas) { + throw new Error('No canvas found in page'); + } + } + // Canvas can grab focus on click, or key events won't work. + if (this.canvas.tabIndex < 0) { + this.canvas.tabIndex = 0; + } + + // Browser locale, or custom one if defined. + let locale = this.locale; + if (!locale) { + locale = navigator.languages ? navigator.languages[0] : navigator.language; + locale = locale.split('.')[0]; + } + locale = locale.replace('-', '_'); + const onExit = this.onExit; + + // Godot configuration. + return { + 'canvas': this.canvas, + 'canvasResizePolicy': this.canvasResizePolicy, + 'locale': locale, + 'persistentDrops': this.persistentDrops, + 'virtualKeyboard': this.experimentalVK, + 'focusCanvas': this.focusCanvas, + 'onExecute': this.onExecute, + 'onExit': function (p_code) { + cleanup(); // We always need to call the cleanup callback to free memory. + if (typeof (onExit) === 'function') { + onExit(p_code); + } + }, + }; + }; + return new Config(initConfig); +}; + +/** + * Projects exported for the Web expose the :js:class:`Engine` class to the JavaScript environment, that allows + * fine control over the engine's start-up process. + * + * This API is built in an asynchronous manner and requires basic understanding + * of `Promises `__. + * + * @module Engine + * @header Web export JavaScript reference + */ +const Engine = (function () { + const preloader = new Preloader(); + + let loadPromise = null; + let loadPath = ''; + let initPromise = null; + + /** + * @classdesc The ``Engine`` class provides methods for loading and starting exported projects on the Web. For default export + * settings, this is already part of the exported HTML page. To understand practical use of the ``Engine`` class, + * see :ref:`Custom HTML page for Web export `. + * + * @description Create a new Engine instance with the given configuration. + * + * @global + * @constructor + * @param {EngineConfig} initConfig The initial config for this instance. + */ + function Engine(initConfig) { // eslint-disable-line no-shadow + this.config = new InternalConfig(initConfig); + this.rtenv = null; + } + + /** + * Load the engine from the specified base path. + * + * @param {string} basePath Base path of the engine to load. + * @param {number=} [size=0] The file size if known. + * @returns {Promise} A Promise that resolves once the engine is loaded. + * + * @function Engine.load + */ + Engine.load = function (basePath, size) { + if (loadPromise == null) { + loadPath = basePath; + loadPromise = preloader.loadPromise(`${loadPath}.wasm`, size, true); + requestAnimationFrame(preloader.animateProgress); + } + return loadPromise; + }; + + /** + * Unload the engine to free memory. + * + * This method will be called automatically depending on the configuration. See :js:attr:`unloadAfterInit`. + * + * @function Engine.unload + */ + Engine.unload = function () { + loadPromise = null; + }; + + /** + * Safe Engine constructor, creates a new prototype for every new instance to avoid prototype pollution. + * @ignore + * @constructor + */ + function SafeEngine(initConfig) { + const proto = /** @lends Engine.prototype */ { + /** + * Initialize the engine instance. Optionally, pass the base path to the engine to load it, + * if it hasn't been loaded yet. See :js:meth:`Engine.load`. + * + * @param {string=} basePath Base path of the engine to load. + * @return {Promise} A ``Promise`` that resolves once the engine is loaded and initialized. + */ + init: function (basePath) { + if (initPromise) { + return initPromise; + } + if (loadPromise == null) { + if (!basePath) { + initPromise = Promise.reject(new Error('A base path must be provided when calling `init` and the engine is not loaded.')); + return initPromise; + } + Engine.load(basePath, this.config.fileSizes[`${basePath}.wasm`]); + } + const me = this; + function doInit(promise) { + // Care! Promise chaining is bogus with old emscripten versions. + // This caused a regression with the Mono build (which uses an older emscripten version). + // Make sure to test that when refactoring. + return new Promise(function (resolve, reject) { + promise.then(function (response) { + const cloned = new Response(response.clone().body, { 'headers': [['content-type', 'application/wasm']] }); + Godot(me.config.getModuleConfig(loadPath, cloned)).then(function (module) { + const paths = me.config.persistentPaths; + module['initFS'](paths).then(function (err) { + me.rtenv = module; + if (me.config.unloadAfterInit) { + Engine.unload(); + } + resolve(); + }); + }); + }); + }); + } + preloader.setProgressFunc(this.config.onProgress); + initPromise = doInit(loadPromise); + return initPromise; + }, + + /** + * Load a file so it is available in the instance's file system once it runs. Must be called **before** starting the + * instance. + * + * If not provided, the ``path`` is derived from the URL of the loaded file. + * + * @param {string|ArrayBuffer} file The file to preload. + * + * If a ``string`` the file will be loaded from that path. + * + * If an ``ArrayBuffer`` or a view on one, the buffer will used as the content of the file. + * + * @param {string=} path Path by which the file will be accessible. Required, if ``file`` is not a string. + * + * @returns {Promise} A Promise that resolves once the file is loaded. + */ + preloadFile: function (file, path) { + return preloader.preload(file, path, this.config.fileSizes[file]); + }, + + /** + * Start the engine instance using the given override configuration (if any). + * :js:meth:`startGame ` can be used in typical cases instead. + * + * This will initialize the instance if it is not initialized. For manual initialization, see :js:meth:`init `. + * The engine must be loaded beforehand. + * + * Fails if a canvas cannot be found on the page, or not specified in the configuration. + * + * @param {EngineConfig} override An optional configuration override. + * @return {Promise} Promise that resolves once the engine started. + */ + start: function (override) { + this.config.update(override); + const me = this; + return me.init().then(function () { + if (!me.rtenv) { + return Promise.reject(new Error('The engine must be initialized before it can be started')); + } + + let config = {}; + try { + config = me.config.getGodotConfig(function () { + me.rtenv = null; + }); + } catch (e) { + return Promise.reject(e); + } + // Godot configuration. + me.rtenv['initConfig'](config); + + // Preload GDExtension libraries. + if (me.config.gdextensionLibs.length > 0 && !me.rtenv['loadDynamicLibrary']) { + return Promise.reject(new Error('GDExtension libraries are not supported by this engine version. ' + + 'Enable "Extensions Support" for your export preset and/or build your custom template with "dlink_enabled=yes".')); + } + return new Promise(function (resolve, reject) { + for (const file of preloader.preloadedFiles) { + me.rtenv['copyToFS'](file.path, file.buffer); + } + preloader.preloadedFiles.length = 0; // Clear memory + me.rtenv['callMain'](me.config.args); + initPromise = null; + me.installServiceWorker(); + resolve(); + }); + }); + }, + + /** + * Start the game instance using the given configuration override (if any). + * + * This will initialize the instance if it is not initialized. For manual initialization, see :js:meth:`init `. + * + * This will load the engine if it is not loaded, and preload the main pck. + * + * This method expects the initial config (or the override) to have both the :js:attr:`executable` and :js:attr:`mainPack` + * properties set (normally done by the editor during export). + * + * @param {EngineConfig} override An optional configuration override. + * @return {Promise} Promise that resolves once the game started. + */ + startGame: function (override) { + this.config.update(override); + // Add main-pack argument. + const exe = this.config.executable; + const pack = this.config.mainPack || `${exe}.pck`; + this.config.args = ['--main-pack', pack].concat(this.config.args); + // Start and init with execName as loadPath if not inited. + const me = this; + return Promise.all([ + this.init(exe), + this.preloadFile(pack, pack), + ]).then(function () { + return me.start.apply(me); + }); + }, + + /** + * Create a file at the specified ``path`` with the passed as ``buffer`` in the instance's file system. + * + * @param {string} path The location where the file will be created. + * @param {ArrayBuffer} buffer The content of the file. + */ + copyToFS: function (path, buffer) { + if (this.rtenv == null) { + throw new Error('Engine must be inited before copying files'); + } + this.rtenv['copyToFS'](path, buffer); + }, + + /** + * Request that the current instance quit. + * + * This is akin the user pressing the close button in the window manager, and will + * have no effect if the engine has crashed, or is stuck in a loop. + * + */ + requestQuit: function () { + if (this.rtenv) { + this.rtenv['request_quit'](); + } + }, + + /** + * Install the progressive-web app service worker. + * @returns {Promise} The service worker registration promise. + */ + installServiceWorker: function () { + if (this.config.serviceWorker && 'serviceWorker' in navigator) { + return navigator.serviceWorker.register(this.config.serviceWorker); + } + return Promise.resolve(); + }, + }; + + Engine.prototype = proto; + // Closure compiler exported instance methods. + Engine.prototype['init'] = Engine.prototype.init; + Engine.prototype['preloadFile'] = Engine.prototype.preloadFile; + Engine.prototype['start'] = Engine.prototype.start; + Engine.prototype['startGame'] = Engine.prototype.startGame; + Engine.prototype['copyToFS'] = Engine.prototype.copyToFS; + Engine.prototype['requestQuit'] = Engine.prototype.requestQuit; + Engine.prototype['installServiceWorker'] = Engine.prototype.installServiceWorker; + // Also expose static methods as instance methods + Engine.prototype['load'] = Engine.load; + Engine.prototype['unload'] = Engine.unload; + return new Engine(initConfig); + } + + // Closure compiler exported static methods. + SafeEngine['load'] = Engine.load; + SafeEngine['unload'] = Engine.unload; + + // Feature-detection utilities. + SafeEngine['isWebGLAvailable'] = Features.isWebGLAvailable; + SafeEngine['isFetchAvailable'] = Features.isFetchAvailable; + SafeEngine['isSecureContext'] = Features.isSecureContext; + SafeEngine['isCrossOriginIsolated'] = Features.isCrossOriginIsolated; + SafeEngine['isSharedArrayBufferAvailable'] = Features.isSharedArrayBufferAvailable; + SafeEngine['isAudioWorkletAvailable'] = Features.isAudioWorkletAvailable; + SafeEngine['getMissingFeatures'] = Features.getMissingFeatures; + + return SafeEngine; +}()); +if (typeof window !== 'undefined') { + window['Engine'] = Engine; +} diff --git a/early_access/index.manifest.json b/early_access/index.manifest.json new file mode 100644 index 000000000..35e5a39f2 --- /dev/null +++ b/early_access/index.manifest.json @@ -0,0 +1 @@ +{"background_color":"#000000","display":"standalone","icons":[{"sizes":"144x144","src":"index.144x144.png","type":"image/png"},{"sizes":"180x180","src":"index.180x180.png","type":"image/png"},{"sizes":"512x512","src":"index.512x512.png","type":"image/png"}],"name":"Pixelorama","orientation":"any","start_url":"./index.html"} \ No newline at end of file diff --git a/early_access/index.offline.html b/early_access/index.offline.html new file mode 100644 index 000000000..ae5298ae4 --- /dev/null +++ b/early_access/index.offline.html @@ -0,0 +1,41 @@ + + + + + + + You are offline + + + +

You are offline

+

This application requires an Internet connection to run for the first time.

+

Press the button below to try reloading:

+ + + + diff --git a/early_access/index.pck b/early_access/index.pck new file mode 100644 index 0000000000000000000000000000000000000000..a57f04f5ccc48b1bad646dcb1659388ceb2f10f7 GIT binary patch literal 4795888 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

LwI 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 !bH^Z2bF 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

H|xJd;c!`+BCm9;aRS&%Wm>+rg{KJFT(4N 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