From 9f5acef9cf6df4ff13e238b03ce61faf7db7de7d Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Tue, 6 Sep 2022 23:20:22 -0500 Subject: [PATCH] Some messing around with the emscripten file API Co-authored-by: sigonasr2 --- C++/scripts/web.sh | 4 ++-- C++ProjectTemplate | Bin 684736 -> 684856 bytes C++ProjectTemplate.data | Bin 1706347 -> 1707057 bytes C++ProjectTemplate.js | 2 +- C++ProjectTemplate.wasm | Bin 869757 -> 876962 bytes main.cpp | 37 ++++++++++++++++++++++++------------- pixelGameEngine.h | 36 ++++++++++++++++++++++++++++++++++++ 7 files changed, 63 insertions(+), 16 deletions(-) diff --git a/C++/scripts/web.sh b/C++/scripts/web.sh index 7f48358..9542995 100755 --- a/C++/scripts/web.sh +++ b/C++/scripts/web.sh @@ -1,9 +1,9 @@ #Compiles emscripten instance of this project for the web. #C++ if [ -d "assets" ]; then - em++ -std=c++17 -O2 -s ALLOW_MEMORY_GROWTH=1 -s MAX_WEBGL_VERSION=2 -s MIN_WEBGL_VERSION=2 -s USE_SDL_MIXER=2 -s USE_LIBPNG=1 $(find . -type f -name "*.cpp") -o ${PROJECT_NAME}.html -I pixelGameEngine.h --preload-file ./assets + em++ -lidbfs.js -std=c++17 -O2 -s ALLOW_MEMORY_GROWTH=1 -s MAX_WEBGL_VERSION=2 -s MIN_WEBGL_VERSION=2 -s USE_SDL_MIXER=2 -s USE_LIBPNG=1 $(find . -type f -name "*.cpp") -o ${PROJECT_NAME}.html -I pixelGameEngine.h --preload-file ./assets else - em++ -std=c++17 -O2 -s ALLOW_MEMORY_GROWTH=1 -s MAX_WEBGL_VERSION=2 -s MIN_WEBGL_VERSION=2 -s USE_SDL_MIXER=2 -s USE_LIBPNG=1 $(find . -type f -name "*.cpp") -o ${PROJECT_NAME}.html -I pixelGameEngine.h + em++ -lidbfs.js -std=c++17 -O2 -s ALLOW_MEMORY_GROWTH=1 -s MAX_WEBGL_VERSION=2 -s MIN_WEBGL_VERSION=2 -s USE_SDL_MIXER=2 -s USE_LIBPNG=1 $(find . -type f -name "*.cpp") -o ${PROJECT_NAME}.html -I pixelGameEngine.h fi cp buildtemplate.html ${PROJECT_NAME}.html diff --git a/C++ProjectTemplate b/C++ProjectTemplate index b59155e56e9348112121f70149597734712a29d3..9e0c3c6b48992b81bcff5c6c1b19cf0245cdc424 100755 GIT binary patch delta 150346 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

R6!egFCMljEK-Nk7F#?ZcB987s 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 XWk2}{XIMkcIr&e&XcIUrN16W*uP6nW diff --git a/C++ProjectTemplate.data b/C++ProjectTemplate.data index f465d97776469fdd8c4ab531155ba993f7bcee58..c87b23a010dabc364c4cd5b3c443ccfe21f432ab 100644 GIT binary patch delta 830 zcmaDoDP!Y|j19bo^_>BJ?z~)5Tnr2hyq+E|K|q=vh`Tx1faF?*<^l!=#+FQH=KxP< zXN7{I{ItxRR0al(iM11LJq|m_9E}fN>Z;XLHeu0(g;tRQqJ>wqL>4-&5RED|*!hKf zmWhh4USCu8!GrxrS2cHUUdOktN#O_MqZdz>yiij8r?0uCzT@MA9rEwr*}l8S=(PBZ z$?9yG3tv{v^g43Xr!16bk5UK69|^bpXLOSNCQbSv6aW3g$FF+FHt#wA*RtyBoTCi$ zJ#0?%Z1&pYXtOuc)Z)Exdt_i(=lRa#KD!h?Dqk0!e&0e|Myw+3hR^b6orjMkEo`33 zm*yI*JWr`_)hxfCPRCN~r+yYoUmKIWw)&HJThXsmM%Od>6dPT29Gf^;O{WC7i5fbHUgGKN%KnT)idlnG^%ff_ zb`N{HIEHu}e;R&Ps@Z^}p1Y>{fA~2*>y^ABTUWo{v8=vD;K~QiM-s~zm={k)Z5t^Up$j)xx+jRYywQZCo^Ok!i`$WAsw*{6TDcsC3FZ9_3hvvqP zifW;c3$H$T@_VMAx9G``k2Z6kFMe}OdseRAf?K+?SLpbbMe{DYY2^Iz&8kD*xzn<) zyX@_Fw0lk4(^X536!UzHX!^ljmwnai>hY(&@j?4dW7t>aADjE%VNZYN!40RcDb#JX zzizJcI94xRo9zJ5Lkym-elF{r5}KNM4cmDQ8G)Dyh?#+y1&CRJm<@>8ftUk`If0l9 th`E872Z(urm=B2gfmi^D1%X%yh=qYz1c*g}SPY28fmmWYuc2hz4FKfGTd)8C delta 114 zcmWN=w+({throw toThrow};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 scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}var fs;var nodePath;var requireNodeFS;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}requireNodeFS=()=>{if(!nodePath){fs=require("fs");nodePath=require("path")}};read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath["normalize"](filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror)=>{requireNodeFS();filename=nodePath["normalize"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}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(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var POINTER_SIZE=4;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function 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}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="C++ProjectTemplate.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"env":asmLibraryArg,"wasi_snapshot_preview1":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["memory"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;var ASM_CONSTS={168220:()=>{window.onunload=Module._olc_OnPageUnload},168264:($0,$1)=>{Module._olc_EmscriptenShellCss="width: 100%; height: 70vh; margin-left: auto; margin-right: auto;";Module._olc_WindowAspectRatio=$0/$1;Module.canvas.parentNode.addEventListener("resize",function(e){if(e.defaultPrevented){e.stopPropagation();return}var viewWidth=e.detail.width;var viewHeight=e.detail.width/Module._olc_WindowAspectRatio;if(viewHeight>e.detail.height){viewHeight=e.detail.height;viewWidth=e.detail.height*Module._olc_WindowAspectRatio}if(Module.canvas.parentNode.className=="emscripten_border")Module.canvas.parentNode.style.cssText=Module._olc_EmscriptenShellCss+" width: "+viewWidth.toString()+"px; height: "+viewHeight.toString()+"px;";Module.canvas.setAttribute("width",viewWidth);Module.canvas.setAttribute("height",viewHeight);if(document.fullscreenElement!=null){var top=(e.detail.height-viewHeight)/2;var left=(e.detail.width-viewWidth)/2;Module.canvas.style.position="fixed";Module.canvas.style.top=top.toString()+"px";Module.canvas.style.left=left.toString()+"px";Module.canvas.style.width="";Module.canvas.style.height=""}Module._olc_PGE_UpdateWindowSize(viewWidth,viewHeight);Module.canvas.focus();e.stopPropagation()});Module._olc_ResizeCanvas=function(){setTimeout(function(){if(Module.canvas.parentNode.className=="emscripten_border")Module.canvas.parentNode.style.cssText=Module._olc_EmscriptenShellCss;Module.canvas.style.cssText="width: 100%; height: 100%; outline: none;";var resizeEvent=new CustomEvent("resize",{detail:{width:Module.canvas.clientWidth,height:Module.canvas.clientHeight},bubbles:true,cancelable:true});Module.canvas.dispatchEvent(resizeEvent)},50)};document.body.style.cssText+=" overscroll-behavior-y: contain;";if(Module.canvas.parentNode.className=="emscripten_border"){document.body.style.margin="0";Module.canvas.parentNode.style.cssText=Module._olc_EmscriptenShellCss}Module._olc_ResizeCanvas();var resizeObserver=new ResizeObserver(function(entries){Module._olc_ResizeCanvas()}).observe(Module.canvas.parentNode);var mutationObserver=new MutationObserver(function(mutationsList,observer){for(var i=0;i{if(typeof AudioContext!=="undefined"){return true}else if(typeof webkitAudioContext!=="undefined"){return true}return false},171010:()=>{if(typeof navigator.mediaDevices!=="undefined"&&typeof navigator.mediaDevices.getUserMedia!=="undefined"){return true}else if(typeof navigator.webkitGetUserMedia!=="undefined"){return true}return false},171244:$0=>{if(typeof Module["SDL2"]==="undefined"){Module["SDL2"]={}}var SDL2=Module["SDL2"];if(!$0){SDL2.audio={}}else{SDL2.capture={}}if(!SDL2.audioContext){if(typeof AudioContext!=="undefined"){SDL2.audioContext=new AudioContext}else if(typeof webkitAudioContext!=="undefined"){SDL2.audioContext=new webkitAudioContext}if(SDL2.audioContext){autoResumeAudioContext(SDL2.audioContext)}}return SDL2.audioContext===undefined?-1:0},171737:()=>{var SDL2=Module["SDL2"];return SDL2.audioContext.sampleRate},171805:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];var have_microphone=function(stream){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer);SDL2.capture.silenceTimer=undefined}SDL2.capture.mediaStreamNode=SDL2.audioContext.createMediaStreamSource(stream);SDL2.capture.scriptProcessorNode=SDL2.audioContext.createScriptProcessor($1,$0,1);SDL2.capture.scriptProcessorNode.onaudioprocess=function(audioProcessingEvent){if(SDL2===undefined||SDL2.capture===undefined){return}audioProcessingEvent.outputBuffer.getChannelData(0).fill(0);SDL2.capture.currentCaptureBuffer=audioProcessingEvent.inputBuffer;dynCall("vi",$2,[$3])};SDL2.capture.mediaStreamNode.connect(SDL2.capture.scriptProcessorNode);SDL2.capture.scriptProcessorNode.connect(SDL2.audioContext.destination);SDL2.capture.stream=stream};var no_microphone=function(error){};SDL2.capture.silenceBuffer=SDL2.audioContext.createBuffer($0,$1,SDL2.audioContext.sampleRate);SDL2.capture.silenceBuffer.getChannelData(0).fill(0);var silence_callback=function(){SDL2.capture.currentCaptureBuffer=SDL2.capture.silenceBuffer;dynCall("vi",$2,[$3])};SDL2.capture.silenceTimer=setTimeout(silence_callback,$1/SDL2.audioContext.sampleRate*1e3);if(navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined){navigator.mediaDevices.getUserMedia({audio:true,video:false}).then(have_microphone).catch(no_microphone)}else if(navigator.webkitGetUserMedia!==undefined){navigator.webkitGetUserMedia({audio:true,video:false},have_microphone,no_microphone)}},173457:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];SDL2.audio.scriptProcessorNode=SDL2.audioContext["createScriptProcessor"]($1,0,$0);SDL2.audio.scriptProcessorNode["onaudioprocess"]=function(e){if(SDL2===undefined||SDL2.audio===undefined){return}SDL2.audio.currentOutputBuffer=e["outputBuffer"];dynCall("vi",$2,[$3])};SDL2.audio.scriptProcessorNode["connect"](SDL2.audioContext["destination"])},173867:($0,$1)=>{var SDL2=Module["SDL2"];var numChannels=SDL2.capture.currentCaptureBuffer.numberOfChannels;for(var c=0;c{var SDL2=Module["SDL2"];var numChannels=SDL2.audio.currentOutputBuffer["numberOfChannels"];for(var c=0;c>2]}}},174952:$0=>{var SDL2=Module["SDL2"];if($0){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer)}if(SDL2.capture.stream!==undefined){var tracks=SDL2.capture.stream.getAudioTracks();for(var i=0;i{var w=$0;var h=$1;var pixels=$2;if(!Module["SDL2"])Module["SDL2"]={};var SDL2=Module["SDL2"];if(SDL2.ctxCanvas!==Module["canvas"]){SDL2.ctx=Module["createContext"](Module["canvas"],false,true);SDL2.ctxCanvas=Module["canvas"]}if(SDL2.w!==w||SDL2.h!==h||SDL2.imageCtx!==SDL2.ctx){SDL2.image=SDL2.ctx.createImageData(w,h);SDL2.w=w;SDL2.h=h;SDL2.imageCtx=SDL2.ctx}var data=SDL2.image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=255;src++;dst+=4}}else{if(SDL2.data32Data!==data){SDL2.data32=new Int32Array(data.buffer);SDL2.data8=new Uint8Array(data.buffer);SDL2.data32Data=data}var data32=SDL2.data32;num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=SDL2.data8;var i=3;var j=i+4*num;if(num%8==0){while(i{var w=$0;var h=$1;var hot_x=$2;var hot_y=$3;var pixels=$4;var canvas=document.createElement("canvas");canvas.width=w;canvas.height=h;var ctx=canvas.getContext("2d");var image=ctx.createImageData(w,h);var data=image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=val>>24&255;src++;dst+=4}}else{var data32=new Int32Array(data.buffer);num=data32.length;data32.set(HEAP32.subarray(src,src+num))}ctx.putImageData(image,0,0);var url=hot_x===0&&hot_y===0?"url("+canvas.toDataURL()+"), auto":"url("+canvas.toDataURL()+") "+hot_x+" "+hot_y+", auto";var urlBuf=_malloc(url.length+1);stringToUTF8(url,urlBuf,url.length+1);return urlBuf},178582:$0=>{if(Module["canvas"]){Module["canvas"].style["cursor"]=UTF8ToString($0)}},178665:()=>{if(Module["canvas"]){Module["canvas"].style["cursor"]="none"}},178734:()=>{return window.innerWidth},178764:()=>{return window.innerHeight}};function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function listenOnce(object,event,func){object.addEventListener(event,func,{"once":true})}function autoResumeAudioContext(ctx,elements){if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(function(event){elements.forEach(function(element){if(element){listenOnce(element,event,()=>{if(ctx.state==="suspended")ctx.resume()})}})})}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}function jsStackTrace(){var error=new Error;if(!error.stack){try{throw new Error}catch(e){error=e}if(!error.stack){return"(no stack trace available)"}}return error.stack.toString()}function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort("invalid type for setValue: "+type)}}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function ___cxa_allocate_exception(size){return _malloc(size+24)+24}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){var randomBuffer=new Uint8Array(1);return()=>{crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return()=>crypto_module["randomBytes"](1)[0]}catch(e){}}return()=>abort("randomDevice")}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=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;i0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){abort()}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(FS.cwd(),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.normalizeArray(path.split("/").filter(p=>!!p),false);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,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:str=>{var flags=FS.flagModes[str];if(typeof flags=="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:(fd_start=0,fd_end=FS.MAX_OPEN_FDS)=>{for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd_start,fd_end)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node},createPreloadedFile:(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(Browser.handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}},indexedDB:()=>{return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:()=>{return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=()=>{out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=()=>{var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=()=>{ok++;if(ok+fail==total)finish()};putRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=()=>{var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var getRequest=files.get(path);getRequest.onsuccess=()=>{if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;tempI64=[Math.floor(stat.atime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.atime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAP32[buf+64>>2]=0;tempI64=[Math.floor(stat.mtime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.mtime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAP32[buf+80>>2]=0;tempI64=[Math.floor(stat.ctime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.ctime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];HEAP32[buf+96>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+104>>2]=tempI64[0],HEAP32[buf+108>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __emscripten_date_now(){return Date.now()}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function __emscripten_throw_longjmp(){throw Infinity}function _abort(){abort("")}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){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 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);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=()=>{var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else _emscripten_get_now=()=>performance.now();function _proc_exit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;_proc_exit(status)}var _exit=exitJS;function maybeExit(){}function 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}}out('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");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()}Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;if(typeof SDL=="object"&&SDL.audio&&SDL.audio.queueNewAudioData)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"}}function callUserCallback(func){if(ABORT){return}try{func()}catch(e){handleException(e)}}function safeSetTimeout(func,timeout){return setTimeout(function(){callUserCallback(func)},timeout)}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}}var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){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:function(){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;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=event=>{out("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};Module["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;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;preloadedAudios[name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.createObjectURL(b);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(function(){finish(audio)},1e4)}else{return fail()}};Module["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)}}},handledByPreloadPlugin:function(byteArray,fullname,finish,onerror){Browser.init();var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled},createContext:function(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:2};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(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(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)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])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()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(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:function(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout:function(func){return safeSetTimeout(func)},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){callUserCallback(func)})},getMimetype:function(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:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(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:{},calculateMouseEvent:function(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)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{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;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};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];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){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:function(){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:function(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>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglBindAPI(api){if(api==12448){EGL.setErrorCode(12288);return 1}EGL.setErrorCode(12300);return 0}function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}function __webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"))}function __webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"))}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=canvas.getContext("webgl2",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){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)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(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:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.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);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion<2||glesContextVersion>3){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Module["canvas"],EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Module.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}}function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1}function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}function _eglGetConfigAttrib(display,config,attribute,value){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>2]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>2]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>2]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:HEAP32[value>>2]=0;return 1;case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}}function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}function _eglGetError(){return EGL.errorCode}function _eglInitialize(display,majorVersion,minorVersion){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function _eglQueryString(display,name){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=allocateUTF8("Emscripten");break;case 12372:ret=allocateUTF8("1.4 Emscripten EGL");break;case 12373:ret=allocateUTF8("");break;case 12429:ret=allocateUTF8("OpenGL_ES");break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret}function _eglSwapBuffers(){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}function _eglWaitClient(){EGL.setErrorCode(12288);return 1}var _eglWaitGL=_eglWaitClient;function _eglWaitNative(nativeEngineId){EGL.setErrorCode(12288);return 1}var readAsmConstArgsArray=[];function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){buf+=ch!=105&buf;readAsmConstArgsArray.push(ch==105?HEAP32[buf]:HEAPF64[buf++>>1]);++buf}return readAsmConstArgsArray}function _emscripten_asm_const_int(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function mainThreadEM_ASM(code,sigPtr,argbuf,sync){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int_sync_on_main_thread(code,sigPtr,argbuf){return mainThreadEM_ASM(code,sigPtr,argbuf,1)}function _emscripten_cancel_main_loop(){Browser.mainLoop.pause();Browser.mainLoop.func=null}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(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 i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_get_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height}function getCanvasElementSize(target){return withStackSave(function(){var w=stackAlloc(8);var h=w+4;var targetInt=stackAlloc(target.id.length+1);stringToUTF8(target.id,targetInt,target.id.length+1);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>2],HEAP32[h>>2]];return size})}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}function setCanvasElementSize(target,width,height){if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{withStackSave(function(){var targetInt=stackAlloc(target.id.length+1);stringToUTF8(target.id,targetInt,target.id.length+1);_emscripten_set_canvas_element_size(targetInt,width,height)})}}function registerRestoreOldStyle(canvas){var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement||document.msFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle}function setLetterbox(element,topBottom,leftRight){element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"}function getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function JSEvents_resizeCanvasForFullscreen(target,strategy){var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function _emscripten_get_screen_size(width,height){HEAP32[width>>2]=screen.width;HEAP32[height>>2]=screen.height}function _emscripten_glActiveTexture(x0){GLctx["activeTexture"](x0)}function _emscripten_glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glBeginQuery(target,id){GLctx["beginQuery"](target,GL.queries[id])}function _emscripten_glBeginQueryEXT(target,id){GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])}function _emscripten_glBeginTransformFeedback(x0){GLctx["beginTransformFeedback"](x0)}function _emscripten_glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _emscripten_glBindBuffer(target,buffer){if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])}function _emscripten_glBindBufferBase(target,index,buffer){GLctx["bindBufferBase"](target,index,GL.buffers[buffer])}function _emscripten_glBindBufferRange(target,index,buffer,offset,ptrsize){GLctx["bindBufferRange"](target,index,GL.buffers[buffer],offset,ptrsize)}function _emscripten_glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}function _emscripten_glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}function _emscripten_glBindSampler(unit,sampler){GLctx["bindSampler"](unit,GL.samplers[sampler])}function _emscripten_glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _emscripten_glBindTransformFeedback(target,id){GLctx["bindTransformFeedback"](target,GL.transformFeedbacks[id])}function _emscripten_glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao])}function _emscripten_glBindVertexArrayOES(vao){GLctx["bindVertexArray"](GL.vaos[vao])}function _emscripten_glBlendColor(x0,x1,x2,x3){GLctx["blendColor"](x0,x1,x2,x3)}function _emscripten_glBlendEquation(x0){GLctx["blendEquation"](x0)}function _emscripten_glBlendEquationSeparate(x0,x1){GLctx["blendEquationSeparate"](x0,x1)}function _emscripten_glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _emscripten_glBlendFuncSeparate(x0,x1,x2,x3){GLctx["blendFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glBlitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9){GLctx["blitFramebuffer"](x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)}function _emscripten_glBufferData(target,size,data,usage){if(true){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}}else{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}}function _emscripten_glBufferSubData(target,offset,size,data){if(true){size&&GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _emscripten_glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}function _emscripten_glClear(x0){GLctx["clear"](x0)}function _emscripten_glClearBufferfi(x0,x1,x2,x3){GLctx["clearBufferfi"](x0,x1,x2,x3)}function _emscripten_glClearBufferfv(buffer,drawbuffer,value){GLctx["clearBufferfv"](buffer,drawbuffer,HEAPF32,value>>2)}function _emscripten_glClearBufferiv(buffer,drawbuffer,value){GLctx["clearBufferiv"](buffer,drawbuffer,HEAP32,value>>2)}function _emscripten_glClearBufferuiv(buffer,drawbuffer,value){GLctx["clearBufferuiv"](buffer,drawbuffer,HEAPU32,value>>2)}function _emscripten_glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _emscripten_glClearDepthf(x0){GLctx["clearDepth"](x0)}function _emscripten_glClearStencil(x0){GLctx["clearStencil"](x0)}function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}function _emscripten_glClientWaitSync(sync,flags,timeoutLo,timeoutHi){return GLctx.clientWaitSync(GL.syncs[sync],flags,convertI32PairToI53(timeoutLo,timeoutHi))}function _emscripten_glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}function _emscripten_glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _emscripten_glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){if(true){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,imageSize,data)}else{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)}function _emscripten_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)}}function _emscripten_glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){if(true){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,imageSize,data)}else{GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,HEAPU8,data,imageSize)}return}GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)}function _emscripten_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)}}function _emscripten_glCopyBufferSubData(x0,x1,x2,x3,x4){GLctx["copyBufferSubData"](x0,x1,x2,x3,x4)}function _emscripten_glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}function _emscripten_glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexSubImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}function _emscripten_glCopyTexSubImage3D(x0,x1,x2,x3,x4,x5,x6,x7,x8){GLctx["copyTexSubImage3D"](x0,x1,x2,x3,x4,x5,x6,x7,x8)}function _emscripten_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}function _emscripten_glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _emscripten_glCullFace(x0){GLctx["cullFace"](x0)}function _emscripten_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}}function _emscripten_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}}function _emscripten_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}function _emscripten_glDeleteQueries(n,ids){for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx["deleteQuery"](query);GL.queries[id]=null}}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}}function _emscripten_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}}function _emscripten_glDeleteSamplers(n,samplers){for(var i=0;i>2];var sampler=GL.samplers[id];if(!sampler)continue;GLctx["deleteSampler"](sampler);sampler.name=0;GL.samplers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_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}function _emscripten_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}}function _emscripten_glDeleteTransformFeedbacks(n,ids){for(var i=0;i>2];var transformFeedback=GL.transformFeedbacks[id];if(!transformFeedback)continue;GLctx["deleteTransformFeedback"](transformFeedback);transformFeedback.name=0;GL.transformFeedbacks[id]=null}}function _emscripten_glDeleteVertexArrays(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstanced(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}function _emscripten_glDrawArraysInstancedARB(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}function _emscripten_glDrawArraysInstancedEXT(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}function _emscripten_glDrawArraysInstancedNV(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffers(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawBuffersEXT(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glDrawElementsInstancedARB(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glDrawElementsInstancedEXT(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glDrawElementsInstancedNV(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawRangeElements(mode,start,end,count,type,indices){_glDrawElements(mode,count,type,indices)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQuery(x0){GLctx["endQuery"](x0)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glEndTransformFeedback(){GLctx["endTransformFeedback"]()}function _emscripten_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}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFramebufferTextureLayer(target,attachment,texture,level,layer){GLctx.framebufferTextureLayer(target,attachment,GL.textures[texture],level,layer)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueries(n,ids){__glGenObject(n,ids,"createQuery",GL.queries)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenSamplers(n,samplers){__glGenObject(n,samplers,"createSampler",GL.samplers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenTransformFeedbacks(n,ids){__glGenObject(n,ids,"createTransformFeedback",GL.transformFeedbacks)}function _emscripten_glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniformBlockName(program,uniformBlockIndex,bufSize,length,uniformBlockName){program=GL.programs[program];var result=GLctx["getActiveUniformBlockName"](program,uniformBlockIndex);if(!result)return;if(uniformBlockName&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(result,uniformBlockName,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}function _emscripten_glGetActiveUniformBlockiv(program,uniformBlockIndex,pname,params){if(!params){GL.recordError(1281);return}program=GL.programs[program];if(pname==35393){var name=GLctx["getActiveUniformBlockName"](program,uniformBlockIndex);HEAP32[params>>2]=name.length+1;return}var result=GLctx["getActiveUniformBlockParameter"](program,uniformBlockIndex,pname);if(result===null)return;if(pname==35395){for(var i=0;i>2]=result[i]}}else{HEAP32[params>>2]=result}}function _emscripten_glGetActiveUniformsiv(program,uniformCount,uniformIndices,pname,params){if(!params){GL.recordError(1281);return}if(uniformCount>0&&uniformIndices==0){GL.recordError(1281);return}program=GL.programs[program];var ids=[];for(var i=0;i>2])}var result=GLctx["getActiveUniforms"](program,ids,pname);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function 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}var exts=GLctx.getSupportedExtensions()||[];ret=2*exts.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>>0]=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>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteri64v(target,value,data){if(!data){GL.recordError(1281);return}writeI53ToI64(data,GLctx.getBufferParameter(target,value))}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFragDataLocation(program,name){return GLctx["getFragDataLocation"](GL.programs[program],UTF8ToString(name))}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function emscriptenWebGLGetIndexed(target,index,data,type){if(!data){GL.recordError(1281);return}var result=GLctx["getIndexedParameter"](target,index);var ret;switch(typeof result){case"boolean":ret=result?1:0;break;case"number":ret=result;break;case"object":if(result===null){switch(target){case 35983:case 35368:ret=0;break;default:{GL.recordError(1280);return}}}else if(result instanceof WebGLBuffer){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}switch(type){case 1:writeI53ToI64(data,ret);break;case 0:HEAP32[data>>2]=ret;break;case 2:HEAPF32[data>>2]=ret;break;case 4:HEAP8[data>>0]=ret?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+type}}function _emscripten_glGetInteger64i_v(target,index,data){emscriptenWebGLGetIndexed(target,index,data,1)}function _emscripten_glGetInteger64v(name_,p){emscriptenWebGLGet(name_,p,1)}function _emscripten_glGetIntegeri_v(target,index,data){emscriptenWebGLGetIndexed(target,index,data,0)}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetInternalformativ(target,internalformat,pname,bufSize,params){if(bufSize<0){GL.recordError(1281);return}if(!params){GL.recordError(1281);return}var ret=GLctx["getInternalformatParameter"](target,internalformat,pname);if(ret===null)return;for(var i=0;i>2]=ret[i]}}function _emscripten_glGetProgramBinary(program,bufSize,length,binaryFormat,binary){GL.recordError(1282)}function _emscripten_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}function _emscripten_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)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;if(GL.currentContext.version<2){param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}else{param=GLctx["getQueryParameter"](query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;if(GL.currentContext.version<2){param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}else{param=GLctx["getQueryParameter"](query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuiv(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx["getQueryParameter"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryiv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx["getQuery"](target,pname)}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetSamplerParameterfv(sampler,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx["getSamplerParameter"](GL.samplers[sampler],pname)}function _emscripten_glGetSamplerParameteriv(sampler,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx["getSamplerParameter"](GL.samplers[sampler],pname)}function _emscripten_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}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_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)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s&&stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);if(true)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}function _emscripten_glGetStringi(name,index){if(GL.currentContext.version<2){GL.recordError(1282);return 0}var stringiCache=GL.stringiCache[name];if(stringiCache){if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index]}switch(name){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));exts=exts.map(function(e){return stringToNewUTF8(e)});stringiCache=GL.stringiCache[name]=exts;if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index];default:GL.recordError(1280);return 0}}function _emscripten_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}}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTransformFeedbackVarying(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx["getTransformFeedbackVarying"](program,index);if(!info)return;if(name&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetUniformBlockIndex(program,uniformBlockName){return GLctx["getUniformBlockIndex"](GL.programs[program],UTF8ToString(uniformBlockName))}function _emscripten_glGetUniformIndices(program,uniformCount,uniformNames,uniformIndices){if(!uniformIndices){GL.recordError(1281);return}if(uniformCount>0&&(uniformNames==0||uniformIndices==0)){GL.recordError(1281);return}program=GL.programs[program];var names=[];for(var i=0;i>2]));var result=GLctx["getUniformIndices"](program,names);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}}function jstoi_q(str){return parseInt(str)}function webglGetLeftBracePos(name){return name.slice(-1)=="]"&&name.lastIndexOf("[")}function 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;j0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex0?"["+webglLoc+"]":""))}return webglLoc}else{GL.recordError(1282)}}function emscriptenWebGLGetUniform(program,location,params,type){if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetUniformuiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribIiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,0)}function _emscripten_glGetVertexAttribIuiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glInvalidateFramebuffer(target,numAttachments,attachments){var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx["invalidateFramebuffer"](target,list)}function _emscripten_glInvalidateSubFramebuffer(target,numAttachments,attachments,x,y,width,height){var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx["invalidateSubFramebuffer"](target,list,x,y,width,height)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQuery(id){var query=GL.queries[id];if(!query)return 0;return GLctx["isQuery"](query)}function _emscripten_glIsQueryEXT(id){var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsSampler(id){var sampler=GL.samplers[id];if(!sampler)return 0;return GLctx["isSampler"](sampler)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsSync(sync){return GLctx.isSync(GL.syncs[sync])}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsTransformFeedback(id){return GLctx["isTransformFeedback"](GL.transformFeedbacks[id])}function _emscripten_glIsVertexArray(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}}function _emscripten_glPauseTransformFeedback(){GLctx["pauseTransformFeedback"]()}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glProgramBinary(program,binaryFormat,binary,length){GL.recordError(1280)}function _emscripten_glProgramParameteri(program,pname,value){GL.recordError(1280)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)}function _emscripten_glReadBuffer(x0){GLctx["readBuffer"](x0)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __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}function 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}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){if(true){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);GLctx.readPixels(x,y,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}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)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glRenderbufferStorageMultisample(x0,x1,x2,x3,x4){GLctx["renderbufferStorageMultisample"](x0,x1,x2,x3,x4)}function _emscripten_glResumeTransformFeedback(){GLctx["resumeTransformFeedback"]()}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glSamplerParameterf(sampler,pname,param){GLctx["samplerParameterf"](GL.samplers[sampler],pname,param)}function _emscripten_glSamplerParameterfv(sampler,pname,params){var param=HEAPF32[params>>2];GLctx["samplerParameterf"](GL.samplers[sampler],pname,param)}function _emscripten_glSamplerParameteri(sampler,pname,param){GLctx["samplerParameteri"](GL.samplers[sampler],pname,param)}function _emscripten_glSamplerParameteriv(sampler,pname,params){var param=HEAP32[params>>2];GLctx["samplerParameteri"](GL.samplers[sampler],pname,param)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_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,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx["texImage3D"](target,level,internalFormat,width,height,depth,border,format,type,null)}}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexStorage2D(x0,x1,x2,x3,x4){GLctx["texStorage2D"](x0,x1,x2,x3,x4)}function _emscripten_glTexStorage3D(x0,x1,x2,x3,x4,x5){GLctx["texStorage3D"](x0,x1,x2,x3,x4,x5)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,null)}return}var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_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,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx["texSubImage3D"](target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,null)}}function _emscripten_glTransformFeedbackVaryings(program,count,varyings,bufferMode){program=GL.programs[program];var vars=[];for(var i=0;i>2]));GLctx["transformFeedbackVaryings"](program,vars,bufferMode)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(webglGetUniformLocation(location),v0)}function _emscripten_glUniform1fv(location,count,value){count&&GLctx.uniform1fv(webglGetUniformLocation(location),HEAPF32,value>>2,count)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(webglGetUniformLocation(location),v0)}function _emscripten_glUniform1iv(location,count,value){count&&GLctx.uniform1iv(webglGetUniformLocation(location),HEAP32,value>>2,count)}function _emscripten_glUniform1ui(location,v0){GLctx.uniform1ui(webglGetUniformLocation(location),v0)}function _emscripten_glUniform1uiv(location,count,value){count&&GLctx.uniform1uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)}function _emscripten_glUniform2fv(location,count,value){count&&GLctx.uniform2fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*2)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)}function _emscripten_glUniform2iv(location,count,value){count&&GLctx.uniform2iv(webglGetUniformLocation(location),HEAP32,value>>2,count*2)}function _emscripten_glUniform2ui(location,v0,v1){GLctx.uniform2ui(webglGetUniformLocation(location),v0,v1)}function _emscripten_glUniform2uiv(location,count,value){count&&GLctx.uniform2uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*2)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){count&&GLctx.uniform3fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*3)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){count&&GLctx.uniform3iv(webglGetUniformLocation(location),HEAP32,value>>2,count*3)}function _emscripten_glUniform3ui(location,v0,v1,v2){GLctx.uniform3ui(webglGetUniformLocation(location),v0,v1,v2)}function _emscripten_glUniform3uiv(location,count,value){count&&GLctx.uniform3uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*3)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){count&&GLctx.uniform4fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*4)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){count&&GLctx.uniform4iv(webglGetUniformLocation(location),HEAP32,value>>2,count*4)}function _emscripten_glUniform4ui(location,v0,v1,v2,v3){GLctx.uniform4ui(webglGetUniformLocation(location),v0,v1,v2,v3)}function _emscripten_glUniform4uiv(location,count,value){count&&GLctx.uniform4uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*4)}function _emscripten_glUniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding){program=GL.programs[program];GLctx["uniformBlockBinding"](program,uniformBlockIndex,uniformBlockBinding)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){count&&GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*4)}function _emscripten_glUniformMatrix2x3fv(location,count,transpose,value){count&&GLctx.uniformMatrix2x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*6)}function _emscripten_glUniformMatrix2x4fv(location,count,transpose,value){count&&GLctx.uniformMatrix2x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*8)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){count&&GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*9)}function _emscripten_glUniformMatrix3x2fv(location,count,transpose,value){count&&GLctx.uniformMatrix3x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*6)}function _emscripten_glUniformMatrix3x4fv(location,count,transpose,value){count&&GLctx.uniformMatrix3x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*12)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16)}function _emscripten_glUniformMatrix4x2fv(location,count,transpose,value){count&&GLctx.uniformMatrix4x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*8)}function _emscripten_glUniformMatrix4x3fv(location,count,transpose,value){count&&GLctx.uniformMatrix4x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*12)}function _emscripten_glUseProgram(program){program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisor(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribDivisorARB(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribDivisorEXT(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribDivisorNV(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribI4i(x0,x1,x2,x3,x4){GLctx["vertexAttribI4i"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttribI4iv(index,v){GLctx.vertexAttribI4i(index,HEAP32[v>>2],HEAP32[v+4>>2],HEAP32[v+8>>2],HEAP32[v+12>>2])}function _emscripten_glVertexAttribI4ui(x0,x1,x2,x3,x4){GLctx["vertexAttribI4ui"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttribI4uiv(index,v){GLctx.vertexAttribI4ui(index,HEAPU32[v>>2],HEAPU32[v+4>>2],HEAPU32[v+8>>2],HEAPU32[v+12>>2])}function _emscripten_glVertexAttribIPointer(index,size,type,stride,ptr){GLctx["vertexAttribIPointer"](index,size,type,stride,ptr)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_glWaitSync(sync,flags,timeoutLo,timeoutHi){GLctx.waitSync(GL.syncs[sync],flags,convertI32PairToI53(timeoutLo,timeoutHi))}function _emscripten_has_asyncify(){return 0}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function doRequestFullscreen(target,strategy){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents_requestFullscreen,1,[target,strategy]);return 1}return-2}return JSEvents_requestFullscreen(target,strategy)}function _emscripten_request_fullscreen_strategy(target,deferUntilInEventHandler,fullscreenStrategy){var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],deferUntilInEventHandler:deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2]};return doRequestFullscreen(target,strategy)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}return-2}return requestPointerLock(target)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function registerBeforeUnloadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){var beforeUnloadEventHandlerFunc=function(ev){var e=ev||event;var confirmationMessage=getWasmTableEntry(callbackfunc)(eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_beforeunload_callback_on_thread(userData,callbackfunc,targetThread){if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload");return 0}function registerFocusEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=function(ev){var e=ev||event;var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread);return 0}function _emscripten_set_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0}function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread);return 0}function fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(getWasmTableEntry(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;HEAP32[idx+7]=e.repeat;HEAP32[idx+8]=e.charCode;HEAP32[idx+9]=e.keyCode;HEAP32[idx+10]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop){var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)}function fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP32[idx+6]=e.ctrlKey;HEAP32[idx+7]=e.shiftKey;HEAP32[idx+8]=e.altKey;HEAP32[idx+9]=e.metaKey;HEAP16[idx*2+20]=e.button;HEAP16[idx*2+21]=e.buttons;HEAP32[idx+11]=e["movementX"];HEAP32[idx+12]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13]=e.clientX-rect.left;HEAP32[idx+14]=e.clientY-rect.top}function registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread);return 0}function _emscripten_set_mouseenter_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread);return 0}function _emscripten_set_mouseleave_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread);return 0}function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread);return 0}function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread);return 0}function fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.pointerlockChangeEvent)JSEvents.pointerlockChangeEvent=_malloc(260);var pointerlockChangeEventHandlerFunc=function(ev){var e=ev||event;var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_pointerlockchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return 0}function registerUiEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.uiEvent)JSEvents.uiEvent=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=function(ev){var e=ev||event;if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>2]=e.detail;HEAP32[uiEvent+4>>2]=b.clientWidth;HEAP32[uiEvent+8>>2]=b.clientHeight;HEAP32[uiEvent+12>>2]=innerWidth;HEAP32[uiEvent+16>>2]=innerHeight;HEAP32[uiEvent+20>>2]=outerWidth;HEAP32[uiEvent+24>>2]=outerHeight;HEAP32[uiEvent+28>>2]=pageXOffset;HEAP32[uiEvent+32>>2]=pageYOffset;if(getWasmTableEntry(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_resize_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread);return 0}function registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var t,touches={},et=e.touches;for(var i=0;i>3]=e.timeStamp;var idx=touchEvent>>2;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function fillVisibilityChangeEventData(eventStruct){var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState}function registerVisibilityChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.visibilityChangeEvent)JSEvents.visibilityChangeEvent=_malloc(8);var visibilityChangeEventHandlerFunc=function(ev){var e=ev||event;var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_visibilitychange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!specialHTMLTargets[1]){return-4}registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread);return 0}function registerWheelEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=function(ev){var e=ev||event;var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target=findEventTarget(target);if(typeof target.onwheel!="undefined"){registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread);return 0}else{return-1}}function _emscripten_set_window_title(title){setWindowTitle(UTF8ToString(title))}function _emscripten_sleep(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function 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 instanceof FS.ErrnoError))throw e;return e.errno}}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function 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}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 instanceof FS.ErrnoError))throw e;return e.errno}}var tempRet0=0;function getTempRet0(){return tempRet0}var _getTempRet0=getTempRet0;function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindBuffer(target,buffer){if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){if(true){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}}else{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _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}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _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}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _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}}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _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}function _glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}}function _glReadPixels(x,y,width,height,format,type,pixels){if(true){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);GLctx.readPixels(x,y,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}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)}function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _glUseProgram(program){program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function setTempRet0(val){tempRet0=val}var _setTempRet0=setTempRet0;function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function uleb128Encode(n,target){if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}}function sigToWasmTypes(sig){var typeNames={"i":"i32","j":"i64","f":"f32","d":"f64","p":"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run(); +var Module=typeof Module!="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){if(Module["ENVIRONMENT_IS_PTHREAD"])return;var loadPackage=function(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="C++ProjectTemplate.data";var REMOTE_PACKAGE_BASE="C++ProjectTemplate.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","assets",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i{throw toThrow};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 scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}var fs;var nodePath;var requireNodeFS;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}requireNodeFS=()=>{if(!nodePath){fs=require("fs");nodePath=require("path")}};read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath["normalize"](filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror)=>{requireNodeFS();filename=nodePath["normalize"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}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(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var POINTER_SIZE=4;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function 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}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="C++ProjectTemplate.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"env":asmLibraryArg,"wasi_snapshot_preview1":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["memory"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;var ASM_CONSTS={168300:()=>{window.onunload=Module._olc_OnPageUnload},168344:($0,$1)=>{Module._olc_EmscriptenShellCss="width: 100%; height: 70vh; margin-left: auto; margin-right: auto;";Module._olc_WindowAspectRatio=$0/$1;Module.canvas.parentNode.addEventListener("resize",function(e){if(e.defaultPrevented){e.stopPropagation();return}var viewWidth=e.detail.width;var viewHeight=e.detail.width/Module._olc_WindowAspectRatio;if(viewHeight>e.detail.height){viewHeight=e.detail.height;viewWidth=e.detail.height*Module._olc_WindowAspectRatio}if(Module.canvas.parentNode.className=="emscripten_border")Module.canvas.parentNode.style.cssText=Module._olc_EmscriptenShellCss+" width: "+viewWidth.toString()+"px; height: "+viewHeight.toString()+"px;";Module.canvas.setAttribute("width",viewWidth);Module.canvas.setAttribute("height",viewHeight);if(document.fullscreenElement!=null){var top=(e.detail.height-viewHeight)/2;var left=(e.detail.width-viewWidth)/2;Module.canvas.style.position="fixed";Module.canvas.style.top=top.toString()+"px";Module.canvas.style.left=left.toString()+"px";Module.canvas.style.width="";Module.canvas.style.height=""}Module._olc_PGE_UpdateWindowSize(viewWidth,viewHeight);Module.canvas.focus();e.stopPropagation()});Module._olc_ResizeCanvas=function(){setTimeout(function(){if(Module.canvas.parentNode.className=="emscripten_border")Module.canvas.parentNode.style.cssText=Module._olc_EmscriptenShellCss;Module.canvas.style.cssText="width: 100%; height: 100%; outline: none;";var resizeEvent=new CustomEvent("resize",{detail:{width:Module.canvas.clientWidth,height:Module.canvas.clientHeight},bubbles:true,cancelable:true});Module.canvas.dispatchEvent(resizeEvent)},50)};document.body.style.cssText+=" overscroll-behavior-y: contain;";if(Module.canvas.parentNode.className=="emscripten_border"){document.body.style.margin="0";Module.canvas.parentNode.style.cssText=Module._olc_EmscriptenShellCss}Module._olc_ResizeCanvas();var resizeObserver=new ResizeObserver(function(entries){Module._olc_ResizeCanvas()}).observe(Module.canvas.parentNode);var mutationObserver=new MutationObserver(function(mutationsList,observer){for(var i=0;i{FS.mkdir("/working1");FS.mount(IDBFS,{},"/working1");FS.syncfs(true,function(err){assert(!err)})},171050:()=>{if(typeof AudioContext!=="undefined"){return true}else if(typeof webkitAudioContext!=="undefined"){return true}return false},171197:()=>{if(typeof navigator.mediaDevices!=="undefined"&&typeof navigator.mediaDevices.getUserMedia!=="undefined"){return true}else if(typeof navigator.webkitGetUserMedia!=="undefined"){return true}return false},171431:$0=>{if(typeof Module["SDL2"]==="undefined"){Module["SDL2"]={}}var SDL2=Module["SDL2"];if(!$0){SDL2.audio={}}else{SDL2.capture={}}if(!SDL2.audioContext){if(typeof AudioContext!=="undefined"){SDL2.audioContext=new AudioContext}else if(typeof webkitAudioContext!=="undefined"){SDL2.audioContext=new webkitAudioContext}if(SDL2.audioContext){autoResumeAudioContext(SDL2.audioContext)}}return SDL2.audioContext===undefined?-1:0},171924:()=>{var SDL2=Module["SDL2"];return SDL2.audioContext.sampleRate},171992:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];var have_microphone=function(stream){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer);SDL2.capture.silenceTimer=undefined}SDL2.capture.mediaStreamNode=SDL2.audioContext.createMediaStreamSource(stream);SDL2.capture.scriptProcessorNode=SDL2.audioContext.createScriptProcessor($1,$0,1);SDL2.capture.scriptProcessorNode.onaudioprocess=function(audioProcessingEvent){if(SDL2===undefined||SDL2.capture===undefined){return}audioProcessingEvent.outputBuffer.getChannelData(0).fill(0);SDL2.capture.currentCaptureBuffer=audioProcessingEvent.inputBuffer;dynCall("vi",$2,[$3])};SDL2.capture.mediaStreamNode.connect(SDL2.capture.scriptProcessorNode);SDL2.capture.scriptProcessorNode.connect(SDL2.audioContext.destination);SDL2.capture.stream=stream};var no_microphone=function(error){};SDL2.capture.silenceBuffer=SDL2.audioContext.createBuffer($0,$1,SDL2.audioContext.sampleRate);SDL2.capture.silenceBuffer.getChannelData(0).fill(0);var silence_callback=function(){SDL2.capture.currentCaptureBuffer=SDL2.capture.silenceBuffer;dynCall("vi",$2,[$3])};SDL2.capture.silenceTimer=setTimeout(silence_callback,$1/SDL2.audioContext.sampleRate*1e3);if(navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined){navigator.mediaDevices.getUserMedia({audio:true,video:false}).then(have_microphone).catch(no_microphone)}else if(navigator.webkitGetUserMedia!==undefined){navigator.webkitGetUserMedia({audio:true,video:false},have_microphone,no_microphone)}},173644:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];SDL2.audio.scriptProcessorNode=SDL2.audioContext["createScriptProcessor"]($1,0,$0);SDL2.audio.scriptProcessorNode["onaudioprocess"]=function(e){if(SDL2===undefined||SDL2.audio===undefined){return}SDL2.audio.currentOutputBuffer=e["outputBuffer"];dynCall("vi",$2,[$3])};SDL2.audio.scriptProcessorNode["connect"](SDL2.audioContext["destination"])},174054:($0,$1)=>{var SDL2=Module["SDL2"];var numChannels=SDL2.capture.currentCaptureBuffer.numberOfChannels;for(var c=0;c{var SDL2=Module["SDL2"];var numChannels=SDL2.audio.currentOutputBuffer["numberOfChannels"];for(var c=0;c>2]}}},175139:$0=>{var SDL2=Module["SDL2"];if($0){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer)}if(SDL2.capture.stream!==undefined){var tracks=SDL2.capture.stream.getAudioTracks();for(var i=0;i{var w=$0;var h=$1;var pixels=$2;if(!Module["SDL2"])Module["SDL2"]={};var SDL2=Module["SDL2"];if(SDL2.ctxCanvas!==Module["canvas"]){SDL2.ctx=Module["createContext"](Module["canvas"],false,true);SDL2.ctxCanvas=Module["canvas"]}if(SDL2.w!==w||SDL2.h!==h||SDL2.imageCtx!==SDL2.ctx){SDL2.image=SDL2.ctx.createImageData(w,h);SDL2.w=w;SDL2.h=h;SDL2.imageCtx=SDL2.ctx}var data=SDL2.image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=255;src++;dst+=4}}else{if(SDL2.data32Data!==data){SDL2.data32=new Int32Array(data.buffer);SDL2.data8=new Uint8Array(data.buffer);SDL2.data32Data=data}var data32=SDL2.data32;num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=SDL2.data8;var i=3;var j=i+4*num;if(num%8==0){while(i{var w=$0;var h=$1;var hot_x=$2;var hot_y=$3;var pixels=$4;var canvas=document.createElement("canvas");canvas.width=w;canvas.height=h;var ctx=canvas.getContext("2d");var image=ctx.createImageData(w,h);var data=image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>8&255;data[dst+2]=val>>16&255;data[dst+3]=val>>24&255;src++;dst+=4}}else{var data32=new Int32Array(data.buffer);num=data32.length;data32.set(HEAP32.subarray(src,src+num))}ctx.putImageData(image,0,0);var url=hot_x===0&&hot_y===0?"url("+canvas.toDataURL()+"), auto":"url("+canvas.toDataURL()+") "+hot_x+" "+hot_y+", auto";var urlBuf=_malloc(url.length+1);stringToUTF8(url,urlBuf,url.length+1);return urlBuf},178769:$0=>{if(Module["canvas"]){Module["canvas"].style["cursor"]=UTF8ToString($0)}},178852:()=>{if(Module["canvas"]){Module["canvas"].style["cursor"]="none"}},178921:()=>{return window.innerWidth},178951:()=>{return window.innerHeight}};function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function listenOnce(object,event,func){object.addEventListener(event,func,{"once":true})}function autoResumeAudioContext(ctx,elements){if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(function(event){elements.forEach(function(element){if(element){listenOnce(element,event,()=>{if(ctx.state==="suspended")ctx.resume()})}})})}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}function jsStackTrace(){var error=new Error;if(!error.stack){try{throw new Error}catch(e){error=e}if(!error.stack){return"(no stack trace available)"}}return error.stack.toString()}function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort("invalid type for setValue: "+type)}}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function ___cxa_allocate_exception(size){return _malloc(size+24)+24}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){var randomBuffer=new Uint8Array(1);return()=>{crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return()=>crypto_module["randomBytes"](1)[0]}catch(e){}}return()=>abort("randomDevice")}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=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;i0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){abort()}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)}var 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",mount:function(mount){return MEMFS.mount.apply(null,arguments)},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(this.error);e.preventDefault()}},getLocalSet:(mount,callback)=>{var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return p=>{return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={"timestamp":stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:(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(this.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(this.error);e.preventDefault()}},storeRemoteEntry:(store,path,entry,callback)=>{try{var req=store.put(entry,path)}catch(e){callback(e);return}req.onsuccess=()=>{callback(null)};req.onerror=e=>{callback(this.error);e.preventDefault()}},removeRemoteEntry:(store,path,callback)=>{var req=store.delete(path);req.onsuccess=()=>{callback(null)};req.onerror=e=>{callback(this.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=e=>{done(this.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 FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(FS.cwd(),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.normalizeArray(path.split("/").filter(p=>!!p),false);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,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:str=>{var flags=FS.flagModes[str];if(typeof flags=="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:(fd_start=0,fd_end=FS.MAX_OPEN_FDS)=>{for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd_start,fd_end)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node},createPreloadedFile:(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(Browser.handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}},indexedDB:()=>{return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:()=>{return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=()=>{out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=()=>{var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=()=>{ok++;if(ok+fail==total)finish()};putRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=()=>{var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var getRequest=files.get(path);getRequest.onsuccess=()=>{if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;tempI64=[Math.floor(stat.atime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.atime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAP32[buf+64>>2]=0;tempI64=[Math.floor(stat.mtime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.mtime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAP32[buf+80>>2]=0;tempI64=[Math.floor(stat.ctime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.ctime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];HEAP32[buf+96>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+104>>2]=tempI64[0],HEAP32[buf+108>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __emscripten_date_now(){return Date.now()}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function __emscripten_throw_longjmp(){throw Infinity}function _abort(){abort("")}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){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 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);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=()=>{var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else _emscripten_get_now=()=>performance.now();function _proc_exit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;_proc_exit(status)}var _exit=exitJS;function maybeExit(){}function 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}}out('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");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()}Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;if(typeof SDL=="object"&&SDL.audio&&SDL.audio.queueNewAudioData)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"}}function callUserCallback(func){if(ABORT){return}try{func()}catch(e){handleException(e)}}function safeSetTimeout(func,timeout){return setTimeout(function(){callUserCallback(func)},timeout)}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}}var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){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:function(){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;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=event=>{out("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};Module["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;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;preloadedAudios[name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.createObjectURL(b);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(function(){finish(audio)},1e4)}else{return fail()}};Module["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)}}},handledByPreloadPlugin:function(byteArray,fullname,finish,onerror){Browser.init();var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled},createContext:function(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:2};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(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(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)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])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()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(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:function(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout:function(func){return safeSetTimeout(func)},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){callUserCallback(func)})},getMimetype:function(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:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(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:{},calculateMouseEvent:function(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)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{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;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};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];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){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:function(){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:function(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>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglBindAPI(api){if(api==12448){EGL.setErrorCode(12288);return 1}EGL.setErrorCode(12300);return 0}function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}function __webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"))}function __webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"))}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=canvas.getContext("webgl2",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){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)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(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:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.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);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion<2||glesContextVersion>3){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Module["canvas"],EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Module.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}}function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1}function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}function _eglGetConfigAttrib(display,config,attribute,value){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>2]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>2]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>2]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:HEAP32[value>>2]=0;return 1;case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}}function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}function _eglGetError(){return EGL.errorCode}function _eglInitialize(display,majorVersion,minorVersion){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function _eglQueryString(display,name){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=allocateUTF8("Emscripten");break;case 12372:ret=allocateUTF8("1.4 Emscripten EGL");break;case 12373:ret=allocateUTF8("");break;case 12429:ret=allocateUTF8("OpenGL_ES");break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret}function _eglSwapBuffers(){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}function _eglWaitClient(){EGL.setErrorCode(12288);return 1}var _eglWaitGL=_eglWaitClient;function _eglWaitNative(nativeEngineId){EGL.setErrorCode(12288);return 1}var readAsmConstArgsArray=[];function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){buf+=ch!=105&buf;readAsmConstArgsArray.push(ch==105?HEAP32[buf]:HEAPF64[buf++>>1]);++buf}return readAsmConstArgsArray}function _emscripten_asm_const_int(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function mainThreadEM_ASM(code,sigPtr,argbuf,sync){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int_sync_on_main_thread(code,sigPtr,argbuf){return mainThreadEM_ASM(code,sigPtr,argbuf,1)}function _emscripten_cancel_main_loop(){Browser.mainLoop.pause();Browser.mainLoop.func=null}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(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 i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_get_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height}function getCanvasElementSize(target){return withStackSave(function(){var w=stackAlloc(8);var h=w+4;var targetInt=stackAlloc(target.id.length+1);stringToUTF8(target.id,targetInt,target.id.length+1);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>2],HEAP32[h>>2]];return size})}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}function setCanvasElementSize(target,width,height){if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{withStackSave(function(){var targetInt=stackAlloc(target.id.length+1);stringToUTF8(target.id,targetInt,target.id.length+1);_emscripten_set_canvas_element_size(targetInt,width,height)})}}function registerRestoreOldStyle(canvas){var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement||document.msFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle}function setLetterbox(element,topBottom,leftRight){element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"}function getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function JSEvents_resizeCanvasForFullscreen(target,strategy){var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0}function fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function _emscripten_get_screen_size(width,height){HEAP32[width>>2]=screen.width;HEAP32[height>>2]=screen.height}function _emscripten_glActiveTexture(x0){GLctx["activeTexture"](x0)}function _emscripten_glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glBeginQuery(target,id){GLctx["beginQuery"](target,GL.queries[id])}function _emscripten_glBeginQueryEXT(target,id){GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])}function _emscripten_glBeginTransformFeedback(x0){GLctx["beginTransformFeedback"](x0)}function _emscripten_glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _emscripten_glBindBuffer(target,buffer){if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])}function _emscripten_glBindBufferBase(target,index,buffer){GLctx["bindBufferBase"](target,index,GL.buffers[buffer])}function _emscripten_glBindBufferRange(target,index,buffer,offset,ptrsize){GLctx["bindBufferRange"](target,index,GL.buffers[buffer],offset,ptrsize)}function _emscripten_glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}function _emscripten_glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}function _emscripten_glBindSampler(unit,sampler){GLctx["bindSampler"](unit,GL.samplers[sampler])}function _emscripten_glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _emscripten_glBindTransformFeedback(target,id){GLctx["bindTransformFeedback"](target,GL.transformFeedbacks[id])}function _emscripten_glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao])}function _emscripten_glBindVertexArrayOES(vao){GLctx["bindVertexArray"](GL.vaos[vao])}function _emscripten_glBlendColor(x0,x1,x2,x3){GLctx["blendColor"](x0,x1,x2,x3)}function _emscripten_glBlendEquation(x0){GLctx["blendEquation"](x0)}function _emscripten_glBlendEquationSeparate(x0,x1){GLctx["blendEquationSeparate"](x0,x1)}function _emscripten_glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _emscripten_glBlendFuncSeparate(x0,x1,x2,x3){GLctx["blendFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glBlitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9){GLctx["blitFramebuffer"](x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)}function _emscripten_glBufferData(target,size,data,usage){if(true){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}}else{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}}function _emscripten_glBufferSubData(target,offset,size,data){if(true){size&&GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _emscripten_glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}function _emscripten_glClear(x0){GLctx["clear"](x0)}function _emscripten_glClearBufferfi(x0,x1,x2,x3){GLctx["clearBufferfi"](x0,x1,x2,x3)}function _emscripten_glClearBufferfv(buffer,drawbuffer,value){GLctx["clearBufferfv"](buffer,drawbuffer,HEAPF32,value>>2)}function _emscripten_glClearBufferiv(buffer,drawbuffer,value){GLctx["clearBufferiv"](buffer,drawbuffer,HEAP32,value>>2)}function _emscripten_glClearBufferuiv(buffer,drawbuffer,value){GLctx["clearBufferuiv"](buffer,drawbuffer,HEAPU32,value>>2)}function _emscripten_glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _emscripten_glClearDepthf(x0){GLctx["clearDepth"](x0)}function _emscripten_glClearStencil(x0){GLctx["clearStencil"](x0)}function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}function _emscripten_glClientWaitSync(sync,flags,timeoutLo,timeoutHi){return GLctx.clientWaitSync(GL.syncs[sync],flags,convertI32PairToI53(timeoutLo,timeoutHi))}function _emscripten_glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}function _emscripten_glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _emscripten_glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){if(true){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,imageSize,data)}else{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)}function _emscripten_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)}}function _emscripten_glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){if(true){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,imageSize,data)}else{GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,HEAPU8,data,imageSize)}return}GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)}function _emscripten_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)}}function _emscripten_glCopyBufferSubData(x0,x1,x2,x3,x4){GLctx["copyBufferSubData"](x0,x1,x2,x3,x4)}function _emscripten_glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}function _emscripten_glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexSubImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}function _emscripten_glCopyTexSubImage3D(x0,x1,x2,x3,x4,x5,x6,x7,x8){GLctx["copyTexSubImage3D"](x0,x1,x2,x3,x4,x5,x6,x7,x8)}function _emscripten_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}function _emscripten_glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _emscripten_glCullFace(x0){GLctx["cullFace"](x0)}function _emscripten_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}}function _emscripten_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}}function _emscripten_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}function _emscripten_glDeleteQueries(n,ids){for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx["deleteQuery"](query);GL.queries[id]=null}}function _emscripten_glDeleteQueriesEXT(n,ids){for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}}function _emscripten_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}}function _emscripten_glDeleteSamplers(n,samplers){for(var i=0;i>2];var sampler=GL.samplers[id];if(!sampler)continue;GLctx["deleteSampler"](sampler);sampler.name=0;GL.samplers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_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}function _emscripten_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}}function _emscripten_glDeleteTransformFeedbacks(n,ids){for(var i=0;i>2];var transformFeedback=GL.transformFeedbacks[id];if(!transformFeedback)continue;GLctx["deleteTransformFeedback"](transformFeedback);transformFeedback.name=0;GL.transformFeedbacks[id]=null}}function _emscripten_glDeleteVertexArrays(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthFunc(x0){GLctx["depthFunc"](x0)}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDepthRangef(x0,x1){GLctx["depthRange"](x0,x1)}function _emscripten_glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstanced(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}function _emscripten_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}function _emscripten_glDrawArraysInstancedARB(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}function _emscripten_glDrawArraysInstancedEXT(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}function _emscripten_glDrawArraysInstancedNV(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffers(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawBuffersEXT(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawBuffersWEBGL(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glDrawElementsInstancedARB(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glDrawElementsInstancedEXT(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glDrawElementsInstancedNV(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawRangeElements(mode,start,end,count,type,indices){_glDrawElements(mode,count,type,indices)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQuery(x0){GLctx["endQuery"](x0)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}function _emscripten_glEndTransformFeedback(){GLctx["endTransformFeedback"]()}function _emscripten_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}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFramebufferTextureLayer(target,attachment,texture,level,layer){GLctx.framebufferTextureLayer(target,attachment,GL.textures[texture],level,layer)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenQueries(n,ids){__glGenObject(n,ids,"createQuery",GL.queries)}function _emscripten_glGenQueriesEXT(n,ids){for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>2]=id}}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenSamplers(n,samplers){__glGenObject(n,samplers,"createSampler",GL.samplers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenTransformFeedbacks(n,ids){__glGenObject(n,ids,"createTransformFeedback",GL.transformFeedbacks)}function _emscripten_glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _emscripten_glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _emscripten_glGetActiveUniformBlockName(program,uniformBlockIndex,bufSize,length,uniformBlockName){program=GL.programs[program];var result=GLctx["getActiveUniformBlockName"](program,uniformBlockIndex);if(!result)return;if(uniformBlockName&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(result,uniformBlockName,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}function _emscripten_glGetActiveUniformBlockiv(program,uniformBlockIndex,pname,params){if(!params){GL.recordError(1281);return}program=GL.programs[program];if(pname==35393){var name=GLctx["getActiveUniformBlockName"](program,uniformBlockIndex);HEAP32[params>>2]=name.length+1;return}var result=GLctx["getActiveUniformBlockParameter"](program,uniformBlockIndex,pname);if(result===null)return;if(pname==35395){for(var i=0;i>2]=result[i]}}else{HEAP32[params>>2]=result}}function _emscripten_glGetActiveUniformsiv(program,uniformCount,uniformIndices,pname,params){if(!params){GL.recordError(1281);return}if(uniformCount>0&&uniformIndices==0){GL.recordError(1281);return}program=GL.programs[program];var ids=[];for(var i=0;i>2])}var result=GLctx["getActiveUniforms"](program,ids,pname);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}}function _emscripten_glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}}function _emscripten_glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function 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}var exts=GLctx.getSupportedExtensions()||[];ret=2*exts.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>>0]=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>>0]=ret?1:0;break}}function _emscripten_glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}function _emscripten_glGetBufferParameteri64v(target,value,data){if(!data){GL.recordError(1281);return}writeI53ToI64(data,GLctx.getBufferParameter(target,value))}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFragDataLocation(program,name){return GLctx["getFragDataLocation"](GL.programs[program],UTF8ToString(name))}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function emscriptenWebGLGetIndexed(target,index,data,type){if(!data){GL.recordError(1281);return}var result=GLctx["getIndexedParameter"](target,index);var ret;switch(typeof result){case"boolean":ret=result?1:0;break;case"number":ret=result;break;case"object":if(result===null){switch(target){case 35983:case 35368:ret=0;break;default:{GL.recordError(1280);return}}}else if(result instanceof WebGLBuffer){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}switch(type){case 1:writeI53ToI64(data,ret);break;case 0:HEAP32[data>>2]=ret;break;case 2:HEAPF32[data>>2]=ret;break;case 4:HEAP8[data>>0]=ret?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+type}}function _emscripten_glGetInteger64i_v(target,index,data){emscriptenWebGLGetIndexed(target,index,data,1)}function _emscripten_glGetInteger64v(name_,p){emscriptenWebGLGet(name_,p,1)}function _emscripten_glGetIntegeri_v(target,index,data){emscriptenWebGLGetIndexed(target,index,data,0)}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetInternalformativ(target,internalformat,pname,bufSize,params){if(bufSize<0){GL.recordError(1281);return}if(!params){GL.recordError(1281);return}var ret=GLctx["getInternalformatParameter"](target,internalformat,pname);if(ret===null)return;for(var i=0;i>2]=ret[i]}}function _emscripten_glGetProgramBinary(program,bufSize,length,binaryFormat,binary){GL.recordError(1282)}function _emscripten_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}function _emscripten_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)}}function _emscripten_glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;if(GL.currentContext.version<2){param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}else{param=GLctx["getQueryParameter"](query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectui64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;if(GL.currentContext.version<2){param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}else{param=GLctx["getQueryParameter"](query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}function _emscripten_glGetQueryObjectuiv(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx["getQueryParameter"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryObjectuivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _emscripten_glGetQueryiv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx["getQuery"](target,pname)}function _emscripten_glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetSamplerParameterfv(sampler,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx["getSamplerParameter"](GL.samplers[sampler],pname)}function _emscripten_glGetSamplerParameteriv(sampler,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx["getSamplerParameter"](GL.samplers[sampler],pname)}function _emscripten_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}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _emscripten_glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _emscripten_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)}}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_glGetString(name_){var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s&&stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);if(true)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}function _emscripten_glGetStringi(name,index){if(GL.currentContext.version<2){GL.recordError(1282);return 0}var stringiCache=GL.stringiCache[name];if(stringiCache){if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index]}switch(name){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));exts=exts.map(function(e){return stringToNewUTF8(e)});stringiCache=GL.stringiCache[name]=exts;if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index];default:GL.recordError(1280);return 0}}function _emscripten_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}}function _emscripten_glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _emscripten_glGetTransformFeedbackVarying(program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx["getTransformFeedbackVarying"](program,index);if(!info)return;if(name&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}function _emscripten_glGetUniformBlockIndex(program,uniformBlockName){return GLctx["getUniformBlockIndex"](GL.programs[program],UTF8ToString(uniformBlockName))}function _emscripten_glGetUniformIndices(program,uniformCount,uniformNames,uniformIndices){if(!uniformIndices){GL.recordError(1281);return}if(uniformCount>0&&(uniformNames==0||uniformIndices==0)){GL.recordError(1281);return}program=GL.programs[program];var names=[];for(var i=0;i>2]));var result=GLctx["getUniformIndices"](program,names);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}}function jstoi_q(str){return parseInt(str)}function webglGetLeftBracePos(name){return name.slice(-1)=="]"&&name.lastIndexOf("[")}function 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;j0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex0?"["+webglLoc+"]":""))}return webglLoc}else{GL.recordError(1282)}}function emscriptenWebGLGetUniform(program,location,params,type){if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _emscripten_glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}function _emscripten_glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function _emscripten_glGetUniformuiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _emscripten_glGetVertexAttribIiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,0)}function _emscripten_glGetVertexAttribIuiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,0)}function _emscripten_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}function _emscripten_glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}function _emscripten_glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _emscripten_glHint(x0,x1){GLctx["hint"](x0,x1)}function _emscripten_glInvalidateFramebuffer(target,numAttachments,attachments){var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx["invalidateFramebuffer"](target,list)}function _emscripten_glInvalidateSubFramebuffer(target,numAttachments,attachments,x,y,width,height){var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx["invalidateSubFramebuffer"](target,list,x,y,width,height)}function _emscripten_glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}function _emscripten_glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _emscripten_glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}function _emscripten_glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}function _emscripten_glIsQuery(id){var query=GL.queries[id];if(!query)return 0;return GLctx["isQuery"](query)}function _emscripten_glIsQueryEXT(id){var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}function _emscripten_glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}function _emscripten_glIsSampler(id){var sampler=GL.samplers[id];if(!sampler)return 0;return GLctx["isSampler"](sampler)}function _emscripten_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsSync(sync){return GLctx.isSync(GL.syncs[sync])}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glIsTransformFeedback(id){return GLctx["isTransformFeedback"](GL.transformFeedbacks[id])}function _emscripten_glIsVertexArray(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glIsVertexArrayOES(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}}function _emscripten_glPauseTransformFeedback(){GLctx["pauseTransformFeedback"]()}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glProgramBinary(program,binaryFormat,binary,length){GL.recordError(1280)}function _emscripten_glProgramParameteri(program,pname,value){GL.recordError(1280)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)}function _emscripten_glReadBuffer(x0){GLctx["readBuffer"](x0)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __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}function 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}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){if(true){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);GLctx.readPixels(x,y,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}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)}function _emscripten_glReleaseShaderCompiler(){}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glRenderbufferStorageMultisample(x0,x1,x2,x3,x4){GLctx["renderbufferStorageMultisample"](x0,x1,x2,x3,x4)}function _emscripten_glResumeTransformFeedback(){GLctx["resumeTransformFeedback"]()}function _emscripten_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}function _emscripten_glSamplerParameterf(sampler,pname,param){GLctx["samplerParameterf"](GL.samplers[sampler],pname,param)}function _emscripten_glSamplerParameterfv(sampler,pname,params){var param=HEAPF32[params>>2];GLctx["samplerParameterf"](GL.samplers[sampler],pname,param)}function _emscripten_glSamplerParameteri(sampler,pname,param){GLctx["samplerParameteri"](GL.samplers[sampler],pname,param)}function _emscripten_glSamplerParameteriv(sampler,pname,params){var param=HEAP32[params>>2];GLctx["samplerParameteri"](GL.samplers[sampler],pname,param)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderBinary(){GL.recordError(1280)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_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,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx["texImage3D"](target,level,internalFormat,width,height,depth,border,format,type,null)}}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexStorage2D(x0,x1,x2,x3,x4){GLctx["texStorage2D"](x0,x1,x2,x3,x4)}function _emscripten_glTexStorage3D(x0,x1,x2,x3,x4,x5){GLctx["texStorage3D"](x0,x1,x2,x3,x4,x5)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,null)}return}var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _emscripten_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,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx["texSubImage3D"](target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,null)}}function _emscripten_glTransformFeedbackVaryings(program,count,varyings,bufferMode){program=GL.programs[program];var vars=[];for(var i=0;i>2]));GLctx["transformFeedbackVaryings"](program,vars,bufferMode)}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(webglGetUniformLocation(location),v0)}function _emscripten_glUniform1fv(location,count,value){count&&GLctx.uniform1fv(webglGetUniformLocation(location),HEAPF32,value>>2,count)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(webglGetUniformLocation(location),v0)}function _emscripten_glUniform1iv(location,count,value){count&&GLctx.uniform1iv(webglGetUniformLocation(location),HEAP32,value>>2,count)}function _emscripten_glUniform1ui(location,v0){GLctx.uniform1ui(webglGetUniformLocation(location),v0)}function _emscripten_glUniform1uiv(location,count,value){count&&GLctx.uniform1uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)}function _emscripten_glUniform2fv(location,count,value){count&&GLctx.uniform2fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*2)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)}function _emscripten_glUniform2iv(location,count,value){count&&GLctx.uniform2iv(webglGetUniformLocation(location),HEAP32,value>>2,count*2)}function _emscripten_glUniform2ui(location,v0,v1){GLctx.uniform2ui(webglGetUniformLocation(location),v0,v1)}function _emscripten_glUniform2uiv(location,count,value){count&&GLctx.uniform2uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*2)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){count&&GLctx.uniform3fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*3)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){count&&GLctx.uniform3iv(webglGetUniformLocation(location),HEAP32,value>>2,count*3)}function _emscripten_glUniform3ui(location,v0,v1,v2){GLctx.uniform3ui(webglGetUniformLocation(location),v0,v1,v2)}function _emscripten_glUniform3uiv(location,count,value){count&&GLctx.uniform3uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*3)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){count&&GLctx.uniform4fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*4)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){count&&GLctx.uniform4iv(webglGetUniformLocation(location),HEAP32,value>>2,count*4)}function _emscripten_glUniform4ui(location,v0,v1,v2,v3){GLctx.uniform4ui(webglGetUniformLocation(location),v0,v1,v2,v3)}function _emscripten_glUniform4uiv(location,count,value){count&&GLctx.uniform4uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*4)}function _emscripten_glUniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding){program=GL.programs[program];GLctx["uniformBlockBinding"](program,uniformBlockIndex,uniformBlockBinding)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){count&&GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*4)}function _emscripten_glUniformMatrix2x3fv(location,count,transpose,value){count&&GLctx.uniformMatrix2x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*6)}function _emscripten_glUniformMatrix2x4fv(location,count,transpose,value){count&&GLctx.uniformMatrix2x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*8)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){count&&GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*9)}function _emscripten_glUniformMatrix3x2fv(location,count,transpose,value){count&&GLctx.uniformMatrix3x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*6)}function _emscripten_glUniformMatrix3x4fv(location,count,transpose,value){count&&GLctx.uniformMatrix3x4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*12)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16)}function _emscripten_glUniformMatrix4x2fv(location,count,transpose,value){count&&GLctx.uniformMatrix4x2fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*8)}function _emscripten_glUniformMatrix4x3fv(location,count,transpose,value){count&&GLctx.uniformMatrix4x3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*12)}function _emscripten_glUseProgram(program){program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program}function _emscripten_glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>2])}function _emscripten_glVertexAttrib2f(x0,x1,x2){GLctx["vertexAttrib2f"](x0,x1,x2)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])}function _emscripten_glVertexAttrib3f(x0,x1,x2,x3){GLctx["vertexAttrib3f"](x0,x1,x2,x3)}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])}function _emscripten_glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx["vertexAttrib4f"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _emscripten_glVertexAttribDivisor(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribDivisorARB(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribDivisorEXT(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribDivisorNV(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribI4i(x0,x1,x2,x3,x4){GLctx["vertexAttribI4i"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttribI4iv(index,v){GLctx.vertexAttribI4i(index,HEAP32[v>>2],HEAP32[v+4>>2],HEAP32[v+8>>2],HEAP32[v+12>>2])}function _emscripten_glVertexAttribI4ui(x0,x1,x2,x3,x4){GLctx["vertexAttribI4ui"](x0,x1,x2,x3,x4)}function _emscripten_glVertexAttribI4uiv(index,v){GLctx.vertexAttribI4ui(index,HEAPU32[v>>2],HEAPU32[v+4>>2],HEAPU32[v+8>>2],HEAPU32[v+12>>2])}function _emscripten_glVertexAttribIPointer(index,size,type,stride,ptr){GLctx["vertexAttribIPointer"](index,size,type,stride,ptr)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_glWaitSync(sync,flags,timeoutLo,timeoutHi){GLctx.waitSync(GL.syncs[sync],flags,convertI32PairToI53(timeoutLo,timeoutHi))}function _emscripten_has_asyncify(){return 0}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function doRequestFullscreen(target,strategy){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents_requestFullscreen,1,[target,strategy]);return 1}return-2}return JSEvents_requestFullscreen(target,strategy)}function _emscripten_request_fullscreen_strategy(target,deferUntilInEventHandler,fullscreenStrategy){var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],deferUntilInEventHandler:deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2]};return doRequestFullscreen(target,strategy)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}return-2}return requestPointerLock(target)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function registerBeforeUnloadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){var beforeUnloadEventHandlerFunc=function(ev){var e=ev||event;var confirmationMessage=getWasmTableEntry(callbackfunc)(eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_beforeunload_callback_on_thread(userData,callbackfunc,targetThread){if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload");return 0}function registerFocusEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=function(ev){var e=ev||event;var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread);return 0}function _emscripten_set_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0}function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread);return 0}function fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(getWasmTableEntry(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;HEAP32[idx+7]=e.repeat;HEAP32[idx+8]=e.charCode;HEAP32[idx+9]=e.keyCode;HEAP32[idx+10]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop){var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)}function fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP32[idx+6]=e.ctrlKey;HEAP32[idx+7]=e.shiftKey;HEAP32[idx+8]=e.altKey;HEAP32[idx+9]=e.metaKey;HEAP16[idx*2+20]=e.button;HEAP16[idx*2+21]=e.buttons;HEAP32[idx+11]=e["movementX"];HEAP32[idx+12]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13]=e.clientX-rect.left;HEAP32[idx+14]=e.clientY-rect.top}function registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread);return 0}function _emscripten_set_mouseenter_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread);return 0}function _emscripten_set_mouseleave_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread);return 0}function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread);return 0}function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread);return 0}function fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.pointerlockChangeEvent)JSEvents.pointerlockChangeEvent=_malloc(260);var pointerlockChangeEventHandlerFunc=function(ev){var e=ev||event;var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_pointerlockchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return 0}function registerUiEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.uiEvent)JSEvents.uiEvent=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=function(ev){var e=ev||event;if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>2]=e.detail;HEAP32[uiEvent+4>>2]=b.clientWidth;HEAP32[uiEvent+8>>2]=b.clientHeight;HEAP32[uiEvent+12>>2]=innerWidth;HEAP32[uiEvent+16>>2]=innerHeight;HEAP32[uiEvent+20>>2]=outerWidth;HEAP32[uiEvent+24>>2]=outerHeight;HEAP32[uiEvent+28>>2]=pageXOffset;HEAP32[uiEvent+32>>2]=pageYOffset;if(getWasmTableEntry(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_resize_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread);return 0}function registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var t,touches={},et=e.touches;for(var i=0;i>3]=e.timeStamp;var idx=touchEvent>>2;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function fillVisibilityChangeEventData(eventStruct){var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState}function registerVisibilityChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.visibilityChangeEvent)JSEvents.visibilityChangeEvent=_malloc(8);var visibilityChangeEventHandlerFunc=function(ev){var e=ev||event;var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_visibilitychange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!specialHTMLTargets[1]){return-4}registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread);return 0}function registerWheelEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=function(ev){var e=ev||event;var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target=findEventTarget(target);if(typeof target.onwheel!="undefined"){registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread);return 0}else{return-1}}function _emscripten_set_window_title(title){setWindowTitle(UTF8ToString(title))}function _emscripten_sleep(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function 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 instanceof FS.ErrnoError))throw e;return e.errno}}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function 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}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 instanceof FS.ErrnoError))throw e;return e.errno}}var tempRet0=0;function getTempRet0(){return tempRet0}var _getTempRet0=getTempRet0;function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindBuffer(target,buffer){if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){if(true){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}}else{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _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}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _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}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _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}}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _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}function _glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}}function _glReadPixels(x,y,width,height,format,type,pixels){if(true){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);GLctx.readPixels(x,y,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}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)}function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _glUseProgram(program){program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function setTempRet0(val){tempRet0=val}var _setTempRet0=setTempRet0;function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function uleb128Encode(n,target){if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}}function sigToWasmTypes(sig){var typeNames={"i":"i32","j":"i64","f":"f32","d":"f64","p":"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run(); diff --git a/C++ProjectTemplate.wasm b/C++ProjectTemplate.wasm index 1ff074444c914a3f1836d2893eb3dd85590a7409..85cc048d7015f9f66e3ed2a1ebd9e2e74287d8a5 100755 GIT binary patch delta 171159 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⪻v~JTkV@-na+%vZNq^E2aP(r3>)9bxk)r}Av>u`s#^PEs zPg}hOqm0`Cfe+2pt*w4AV8i7g*X#g(DNv8*H@4FgghVNM9-SXPrkx%yJ_F&WlD}qt zb`+oc@hMcuNPG@~ph$2S;SUTOJ9ffDOxpxeRFZz(?pbUX!`snCd!1oQ)=#y>oP zoDd_cKr=pmkvHq0C+a`;)-)#w{#c00;171tn|gCHn5*8)2P9~QGp zVSgABfXKvW#hq z2n-7iB~wn$@au2I$^6squ;3_q`VFw+l)Hfz+!^Ui8)U^PcXvvh7ZDE*MfQo`V4uUm zK4$K+;*`6)EjW{zd#pI+?p_PdWad6A4hK%fZ-|MEPWCY~)Pgf}=6)+qMe=|JXEKv! z#VL2gEI5;y2fbFLa`=$I4HiXW=FD&l&SYkU6{q|@Y{8k#JYvNucOw0sRo5LpglX;?QJfvK6P?Jw-V9qZ~Ag>1hkjWab$wPWgS-#ChS_ zn*WgHqzWHz_GYhOZPOW|mlS%H1m#oXO0qR-AJ88gO2b4VH3RYC5DM5sg#RUbo_uXRJj^2I0;k==ypm|dupR86+Z&`3AGb^k(70KHcoXN~PR-AIT(t?xBApcic zk;>s}AFir7t+C)tX4YD9%I`W0&Sd6YD^9t?O0I^R8z{wteIj_h#i5xqIVR3hOz&H8 zCNm#caVnC3Sa2pY8!R}l*_<|7kY+i3XvL`ja|LdCwPM<2!I{i#w&IlEk1ROFj91%Y zMJk6|EjW{zZC0Fex7~-UDyBRO&SWOvic@}f2%MKvGT2vxcUl~pIrFgvXEL+Pic+GD|)%yZ&B)}xXw1W8zfqV{g2<9-%7cgJKl)!ui^EJ#7n4>WNg!u;M7)&Y5 zw=mzqd=GOR<_8$+#HOMX+k|vHdeB?nz@hm29oT6Gz%>MEyboqj1v<_rfw94^gdJ$k z!=dk+&0ImWUQx^j(sIHfe2Wmu0Mr?(a*0A2c@C-e!`8Ir%;iS`pfe88hG>t&PPVT> iyp@20Dc-d(PhC_#-jx086|nuuCk{T90d`>O@&5tXD{Ack delta 163179 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 data = ReadEmscriptenFile("test"); + for (int i=0;iplayer_hp[i]) { if (player_rollhp_counter[i][0]<=0) { @@ -109,7 +120,7 @@ public: } void drawBox(const olc::vi2d &pos, const olc::vi2d &size, olc::Pixel p = olc::WHITE, olc::Pixel p2 = olc::DARK_GREY, olc::Pixel p3 = olc::VERY_DARK_GREY) { - FillRectDecal({pos.x+3,pos.y+3},{size.x-5,size.y-5},p); + FillRectDecal({(float)(pos.x+3),(float)(pos.y+3)},{(float)(size.x-5),(float)(size.y-5)},p); DrawRect({pos.x,pos.y},size,p2); DrawRect({pos.x+2,pos.y+2},{size.x-4,size.y-4},p3); DrawRect({pos.x+1,pos.y+1},{size.x-2,size.y-2},p); @@ -124,20 +135,20 @@ public: for (int x=3;x ReadEmscriptenFile(std::string filepath); static const std::map& GetKeyMap() { return mapKeys; } @@ -1983,6 +1985,12 @@ namespace olc return false; } + #ifndef OLC_PLATFORM_EMSCRIPTEN + const void PixelGameEngine::WriteEmscriptenFile(std::string filepath,std::string data) { + } + const std::vector PixelGameEngine::ReadEmscriptenFile(std::string filepath,std::string data) { + } + #endif void PixelGameEngine::DrawLine(const olc::vi2d& pos1, const olc::vi2d& pos2, Pixel p, uint32_t pattern) { DrawLine(pos1.x, pos1.y, pos2.x, pos2.y, p, pattern); } @@ -4275,6 +4283,13 @@ namespace olc //eglSwapInterval is currently a NOP, plement anyways in case it becomes supported locSwapInterval = &eglSwapInterval; locSwapInterval(olc_Display, bVSYNC ? 1 : 0); + + EM_ASM( + FS.mkdir('/working1'); + FS.mount(IDBFS, {}, '/working1'); + FS.syncfs(true, function (err) { + assert(!err);}); + ); #endif #if defined(OLC_PLATFORM_GLUT) @@ -5676,6 +5691,27 @@ extern "C" namespace olc { + const void PixelGameEngine::WriteEmscriptenFile(std::string filepath,std::string data) { + std::ofstream file; + file.open("/working1/"+filepath); + file< PixelGameEngine::ReadEmscriptenFile(std::string filepath) { + std::string line; + std::ifstream filer("/working1/"+filepath); + std::vector data; + if (filer.is_open()) { + while (getline(filer,line)) { + data.push_back(line); + } + filer.close(); + } + return data; + } class Platform_Emscripten : public olc::Platform { public: