From c8fa942add9c1ecc444d9900ac20460af7b221a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Geyelin?= Date: Sat, 23 Apr 2022 20:47:14 +0200 Subject: [PATCH] New release fixing crash whith get_entities_colliding_with_disk. --- content/pewpewlive.js | 2 +- content/pewpewlive.wasm | Bin 3089329 -> 3089566 bytes docs/raw_documentation.js | 2 ++ 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/content/pewpewlive.js b/content/pewpewlive.js index 290dae5..aa3347c 100644 --- a/content/pewpewlive.js +++ b/content/pewpewlive.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};var objAssign=Object.assign;var moduleOverrides=objAssign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{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=function(){if(!nodePath){fs=require("fs");nodePath=require("path")}};read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath["normalize"](filename);return fs.readFileSync(filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=function 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_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){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);objAssign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||false;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var 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(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>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&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||196870144;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;SOCKFS.root=FS.mount(SOCKFS,{},null);if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);FS.quit();TTY.shutdown();runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -s ASSERTIONS=1 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="pewpewlive.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{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={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["Ve"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["Xe"];addOnInit(Module["asm"]["We"]);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)&&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={1441484:function(){location.reload()},1441503:function($0){var str=UTF8ToString($0);if(navigator.clipboard){navigator.clipboard.writeText(str)}},1441600:function($0){var url=UTF8ToString($0);window.open(url,"_blank")},1441660:function(){Module.audioBuffers={};Module.audioContext=new(window.AudioContext||window.webkitAudioContext)},1441766:function($0,$1,$2){var sound_id=$0;var sample_ptr=$1;var sample_count=$2;audio_buffer=Module.audioContext.createBuffer(1,sample_count,Module.audioContext.sampleRate);float_array=HEAPF32.subarray(sample_ptr/4,sample_ptr/4+sample_count);if(typeof audio_buffer.copyToChannel=="function"){audio_buffer.copyToChannel(float_array,0)}else{audio_buffer.getChannelData(0).set(float_array)}Module.audioBuffers[sound_id]=audio_buffer},1442218:function($0,$1,$2){var sound_id=$0;Module.audioContext.resume().then(function(){var source=Module.audioContext.createBufferSource();var panner=Module.audioContext.createPanner();source.buffer=Module.audioBuffers[sound_id];if(panner.positionX){panner.positionX.value=$1;panner.positionY.value=$2}else{panner.setPosition($1,$2,0)}panner.rolloffFactor=.1;source.connect(panner);panner.connect(Module.audioContext.destination);source.start(0)})},1442685:function($0){var sound_id=$0;Module.audioContext.resume().then(function(){var source=Module.audioContext.createBufferSource();source.buffer=Module.audioBuffers[sound_id];source.connect(Module.audioContext.destination);source.start(0)})},1442927:function($0,$1){var listener=Module.audioContext.listener;if(listener.positionX){listener.positionX.value=$0;listener.positionY.value=$1}else{listener.setPosition($0,$1,0)}},1443108:function(){Module.audioBuffers={}},1443133:function(){return Module.audioContext.sampleRate},1443176:function($0,$1,$2,$3,$4,$5){var url=UTF8ToString($0);var content_type=UTF8ToString($3);var post_string=new Uint8ClampedArray(Module.HEAPU8.buffer,$4,$5);var xhr=new XMLHttpRequest;xhr.open("POST",url,true);xhr.responseType="arraybuffer";xhr.setRequestHeader("Content-Type",content_type);xhr.timeout=1e4;var delegateId=$1;var xhrId=$2;xhr.onreadystatechange=function(){if(xhr.readyState==XMLHttpRequest.DONE){if(xhr.status==200){Module.urlRequestOnSuccess(delegateId,xhrId,xhr.response)}else{Module.urlRequestOnError(delegateId,xhrId,xhr.status)}}};xhr.send(post_string)},1443786:function(){if(typeof AudioContext!=="undefined"){return 1}else if(typeof webkitAudioContext!=="undefined"){return 1}return 0},1443923:function(){if(typeof navigator.mediaDevices!=="undefined"&&typeof navigator.mediaDevices.getUserMedia!=="undefined"){return 1}else if(typeof navigator.webkitGetUserMedia!=="undefined"){return 1}return 0},1444147:function($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},1444640:function(){var SDL2=Module["SDL2"];return SDL2.audioContext.sampleRate},1444708:function($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)}},1446360:function($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"])},1446770:function($0,$1){var SDL2=Module["SDL2"];var numChannels=SDL2.capture.currentCaptureBuffer.numberOfChannels;for(var c=0;c>2]}}},1447855:function($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>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)}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>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},1451471:function($0){if(Module["canvas"]){Module["canvas"].style["cursor"]=UTF8ToString($0)}return 0},1451564:function(){if(Module["canvas"]){Module["canvas"].style["cursor"]="none"}},1451633:function(){return screen.width},1451658:function(){return screen.height},1451684:function(){return window.innerWidth},1451714:function(){return window.innerHeight},1451745:function($0){if(typeof setWindowTitle!=="undefined"){setWindowTitle(UTF8ToString($0))}return 0}};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,function(){if(ctx.state==="suspended")ctx.resume()})}})})}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){getWasmTableEntry(func)()}else{getWasmTableEntry(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function getWasmTableEntry(funcPtr){return wasmTable.get(funcPtr)}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}return getWasmTableEntry(ptr).apply(null,args)}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(a0,a1){return _atexit(a0,a1)}function _tzset_impl(){var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAP32[__get_timezone()>>2]=stdTimezoneOffset*60;HEAP32[__get_daylight()>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summerOffset>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _tzset(){if(_tzset.called)return;_tzset.called=true;_tzset_impl()}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function ___localtime_r(a0,a1){return _localtime_r(a0,a1)}function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=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){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function zeroMemory(address,size){HEAPU8.fill(0,address,address+size)}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+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!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:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var 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:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.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:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var 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:function(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:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){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(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(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:function(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(function(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:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(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:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;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(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);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>8,sock.sport&255]))}return peer},getPeer:function(sock,addr,port){return sock.peers[addr+":"+port]},addPeer:function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer:function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents:function(sock,peer){var first=true;var handleOpen=function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data==="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}else{data=new Uint8Array(data)}}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,flags){if(!flags.binary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module["websocket"].emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll:function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask},ioctl:function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return 28}},close:function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i>2]=value;return value}function inetNtop4(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function inetNtop6(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}}function inetPton4(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}function jstoi_q(str){return parseInt(str)}function inetPton6(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs: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},get64:function(low,high){return low}};function ___syscall_bind(fd,addr,addrlen){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_connect(fd,addr,addrlen){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}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.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 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 writeSockaddr(sa,family,addr,port,addrlen){switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0}function ___syscall_getsockname(fd,addr,addrlen){try{err("__syscall_getsockname "+fd);var sock=getSocketFromFD(fd);var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport,addrlen);return 0}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:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){try{var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_sendto(fd,message,length,flags,addr,addr_len){try{var sock=getSocketFromFD(fd);var dest=getSocketAddress(addr,addr_len,true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_socket(domain,type,protocol){try{var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.includes("unsigned");var checkAssertions=function(value,toTypeName){};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emscripten_throw_longjmp(){throw"longjmp"}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __emval_as(handle,returnType,destructorsRef){handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=Emval.toHandle(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=Emval.toHandle(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var params=["retType"];var args=[retType];var argsList="";for(var i=0;i{var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6})}else _emscripten_get_now=(()=>performance.now());var _emscripten_get_now_is_monotonic=true;function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if((clk_id===1||clk_id===4)&&_emscripten_get_now_is_monotonic){now=_emscripten_get_now()}else{setErrNo(28);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}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){runtimeKeepalivePush();Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(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}function runtimeKeepalivePush(){runtimeKeepaliveCounter+=1}function _exit(status){exit(status)}function maybeExit(){if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}}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,synchronous){if(runtimeExited||ABORT){return}if(synchronous){func();return}try{func();maybeExit()}catch(e){handleException(e)}}function runtimeKeepalivePop(){runtimeKeepaliveCounter-=1}function safeSetTimeout(func,timeout){runtimeKeepalivePush();return setTimeout(function(){runtimeKeepalivePop();callUserCallback(func)},timeout)}var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause: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);Module["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;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;Module["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",function(){finish(audio)},false);audio.onerror=function audio_onerror(event){if(done)return;out("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"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};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",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},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:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(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"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){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){runtimeKeepalivePush();return Browser.requestAnimationFrame(function(){runtimeKeepalivePop();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}else{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_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}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:[],stringCache:{},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;canvas.getContext=function(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}}var ctx=canvas.getContext("webgl",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_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);{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){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){if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}else{EGL.setErrorCode(12296);return 0}}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 _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}function _eglWaitGL(){return _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++]){var readAsmConstArgsDouble=ch<105;if(readAsmConstArgsDouble&&buf&1)buf++;readAsmConstArgsArray.push(readAsmConstArgsDouble?HEAPF64[buf++>>1]:HEAP32[buf]);++buf}return readAsmConstArgsArray}function _emscripten_asm_const_int(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}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_glActiveTexture(x0){GLctx["activeTexture"](x0)}function _emscripten_glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glBeginQueryEXT(target,id){GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])}function _emscripten_glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _emscripten_glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _emscripten_glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}function _emscripten_glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}function _emscripten_glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}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_glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _emscripten_glBufferSubData(target,offset,size,data){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_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 _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){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _emscripten_glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)}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_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}}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_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_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_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_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_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];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_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}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_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_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_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}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_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 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length: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 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_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_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 _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}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;{param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](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;{param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,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_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_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);{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_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 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_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}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_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_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_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_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}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_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)}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};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)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){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_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}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){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):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_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){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_glUniform1f(location,v0){GLctx.uniform1f(webglGetUniformLocation(location),v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(webglGetUniformLocation(location),view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(webglGetUniformLocation(location),v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(webglGetUniformLocation(location),view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(webglGetUniformLocation(location),view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)}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_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}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_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}else{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}else{return-2}}return requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}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_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 _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__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();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[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 _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}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 _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+-1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+-2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+-3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+-4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+-6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+-7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+-8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+-10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+-11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+-12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _getTempRet0(){return getTempRet0()}function _getaddrinfo(node,service,hint,out){var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAP32[ai+24>>2]=canon;HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}function _getentropy(buffer,size){if(!_getentropy.randomDevice){_getentropy.randomDevice=getRandomDevice()}for(var i=0;i>0]=_getentropy.randomDevice()}return 0}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}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 _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}}function _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 _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 _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _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 _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 _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 _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 _glGetUniformLocation(program,name){name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)}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){setTempRet0(val)}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}else{return thisDate.getFullYear()}}else{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"}else{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 janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=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"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}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 _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"a":___assert_fail,"b":___cxa_atexit,"Hb":___localtime_r,"Bb":___syscall_bind,"Ab":___syscall_connect,"ga":___syscall_fcntl64,"zb":___syscall_getsockname,"Mb":___syscall_ioctl,"Nb":___syscall_open,"yb":___syscall_recvfrom,"xb":___syscall_sendto,"ca":___syscall_socket,"wb":__embind_register_bigint,"Re":__embind_register_bool,"Qe":__embind_register_emval,"ma":__embind_register_float,"U":__embind_register_function,"n":__embind_register_integer,"h":__embind_register_memory_view,"la":__embind_register_std_string,"M":__embind_register_std_wstring,"Se":__embind_register_void,"Gb":__emscripten_throw_longjmp,"W":__emval_as,"F":__emval_call_method,"V":__emval_call_void_method,"gb":__emval_decref,"hb":__emval_get_global,"s":__emval_get_method_caller,"fb":__emval_get_property,"db":__emval_new_cstring,"eb":__emval_run_destructors,"q":_abort,"cb":_clock,"r":_clock_gettime,"Wa":_eglBindAPI,"Za":_eglChooseConfig,"Ma":_eglCreateContext,"Oa":_eglCreateWindowSurface,"Na":_eglDestroyContext,"Pa":_eglDestroySurface,"_a":_eglGetConfigAttrib,"P":_eglGetDisplay,"La":_eglGetError,"Xa":_eglInitialize,"Qa":_eglMakeCurrent,"Ka":_eglQueryString,"Sa":_eglSwapBuffers,"Ta":_eglSwapInterval,"Ya":_eglTerminate,"Va":_eglWaitGL,"Ua":_eglWaitNative,"g":_emscripten_asm_const_int,"Te":_emscripten_exit_fullscreen,"Ja":_emscripten_exit_pointerlock,"x":_emscripten_get_device_pixel_ratio,"p":_emscripten_get_element_css_size,"S":_emscripten_get_gamepad_status,"ea":_emscripten_get_now,"ab":_emscripten_get_num_gamepads,"ve":_emscripten_glActiveTexture,"ue":_emscripten_glAttachShader,"Me":_emscripten_glBeginQueryEXT,"te":_emscripten_glBindAttribLocation,"se":_emscripten_glBindBuffer,"re":_emscripten_glBindFramebuffer,"qe":_emscripten_glBindRenderbuffer,"pe":_emscripten_glBindTexture,"Ee":_emscripten_glBindVertexArrayOES,"oe":_emscripten_glBlendColor,"ne":_emscripten_glBlendEquation,"me":_emscripten_glBlendEquationSeparate,"le":_emscripten_glBlendFunc,"ke":_emscripten_glBlendFuncSeparate,"je":_emscripten_glBufferData,"ie":_emscripten_glBufferSubData,"he":_emscripten_glCheckFramebufferStatus,"ge":_emscripten_glClear,"fe":_emscripten_glClearColor,"ee":_emscripten_glClearDepthf,"de":_emscripten_glClearStencil,"ce":_emscripten_glColorMask,"be":_emscripten_glCompileShader,"ae":_emscripten_glCompressedTexImage2D,"$d":_emscripten_glCompressedTexSubImage2D,"_d":_emscripten_glCopyTexImage2D,"Zd":_emscripten_glCopyTexSubImage2D,"Yd":_emscripten_glCreateProgram,"Xd":_emscripten_glCreateShader,"Wd":_emscripten_glCullFace,"Vd":_emscripten_glDeleteBuffers,"Ud":_emscripten_glDeleteFramebuffers,"Td":_emscripten_glDeleteProgram,"Oe":_emscripten_glDeleteQueriesEXT,"Sd":_emscripten_glDeleteRenderbuffers,"Rd":_emscripten_glDeleteShader,"Qd":_emscripten_glDeleteTextures,"De":_emscripten_glDeleteVertexArraysOES,"Pd":_emscripten_glDepthFunc,"Od":_emscripten_glDepthMask,"Nd":_emscripten_glDepthRangef,"Md":_emscripten_glDetachShader,"Ld":_emscripten_glDisable,"Kd":_emscripten_glDisableVertexAttribArray,"Jd":_emscripten_glDrawArrays,"ze":_emscripten_glDrawArraysInstancedANGLE,"Ae":_emscripten_glDrawBuffersWEBGL,"Id":_emscripten_glDrawElements,"xe":_emscripten_glDrawElementsInstancedANGLE,"Hd":_emscripten_glEnable,"Gd":_emscripten_glEnableVertexAttribArray,"Le":_emscripten_glEndQueryEXT,"Fd":_emscripten_glFinish,"Ed":_emscripten_glFlush,"Dd":_emscripten_glFramebufferRenderbuffer,"Cd":_emscripten_glFramebufferTexture2D,"Bd":_emscripten_glFrontFace,"Ad":_emscripten_glGenBuffers,"yd":_emscripten_glGenFramebuffers,"Pe":_emscripten_glGenQueriesEXT,"xd":_emscripten_glGenRenderbuffers,"wd":_emscripten_glGenTextures,"Ce":_emscripten_glGenVertexArraysOES,"zd":_emscripten_glGenerateMipmap,"vd":_emscripten_glGetActiveAttrib,"ud":_emscripten_glGetActiveUniform,"td":_emscripten_glGetAttachedShaders,"sd":_emscripten_glGetAttribLocation,"rd":_emscripten_glGetBooleanv,"qd":_emscripten_glGetBufferParameteriv,"pd":_emscripten_glGetError,"od":_emscripten_glGetFloatv,"nd":_emscripten_glGetFramebufferAttachmentParameteriv,"md":_emscripten_glGetIntegerv,"kd":_emscripten_glGetProgramInfoLog,"ld":_emscripten_glGetProgramiv,"Ge":_emscripten_glGetQueryObjecti64vEXT,"Ie":_emscripten_glGetQueryObjectivEXT,"Fe":_emscripten_glGetQueryObjectui64vEXT,"He":_emscripten_glGetQueryObjectuivEXT,"Je":_emscripten_glGetQueryivEXT,"jd":_emscripten_glGetRenderbufferParameteriv,"hd":_emscripten_glGetShaderInfoLog,"gd":_emscripten_glGetShaderPrecisionFormat,"fd":_emscripten_glGetShaderSource,"id":_emscripten_glGetShaderiv,"ed":_emscripten_glGetString,"dd":_emscripten_glGetTexParameterfv,"cd":_emscripten_glGetTexParameteriv,"$c":_emscripten_glGetUniformLocation,"bd":_emscripten_glGetUniformfv,"ad":_emscripten_glGetUniformiv,"Yc":_emscripten_glGetVertexAttribPointerv,"_c":_emscripten_glGetVertexAttribfv,"Zc":_emscripten_glGetVertexAttribiv,"Xc":_emscripten_glHint,"Wc":_emscripten_glIsBuffer,"Vc":_emscripten_glIsEnabled,"Uc":_emscripten_glIsFramebuffer,"Tc":_emscripten_glIsProgram,"Ne":_emscripten_glIsQueryEXT,"Sc":_emscripten_glIsRenderbuffer,"Rc":_emscripten_glIsShader,"Qc":_emscripten_glIsTexture,"Be":_emscripten_glIsVertexArrayOES,"Oc":_emscripten_glLineWidth,"Nc":_emscripten_glLinkProgram,"Mc":_emscripten_glPixelStorei,"Lc":_emscripten_glPolygonOffset,"Ke":_emscripten_glQueryCounterEXT,"Kc":_emscripten_glReadPixels,"Jc":_emscripten_glReleaseShaderCompiler,"Ic":_emscripten_glRenderbufferStorage,"Hc":_emscripten_glSampleCoverage,"Gc":_emscripten_glScissor,"Fc":_emscripten_glShaderBinary,"Dc":_emscripten_glShaderSource,"Cc":_emscripten_glStencilFunc,"Bc":_emscripten_glStencilFuncSeparate,"Ac":_emscripten_glStencilMask,"zc":_emscripten_glStencilMaskSeparate,"yc":_emscripten_glStencilOp,"xc":_emscripten_glStencilOpSeparate,"wc":_emscripten_glTexImage2D,"vc":_emscripten_glTexParameterf,"uc":_emscripten_glTexParameterfv,"tc":_emscripten_glTexParameteri,"sc":_emscripten_glTexParameteriv,"rc":_emscripten_glTexSubImage2D,"qc":_emscripten_glUniform1f,"pc":_emscripten_glUniform1fv,"oc":_emscripten_glUniform1i,"nc":_emscripten_glUniform1iv,"mc":_emscripten_glUniform2f,"lc":_emscripten_glUniform2fv,"kc":_emscripten_glUniform2i,"jc":_emscripten_glUniform2iv,"ic":_emscripten_glUniform3f,"hc":_emscripten_glUniform3fv,"gc":_emscripten_glUniform3i,"fc":_emscripten_glUniform3iv,"ec":_emscripten_glUniform4f,"dc":_emscripten_glUniform4fv,"cc":_emscripten_glUniform4i,"bc":_emscripten_glUniform4iv,"ac":_emscripten_glUniformMatrix2fv,"$b":_emscripten_glUniformMatrix3fv,"_b":_emscripten_glUniformMatrix4fv,"Zb":_emscripten_glUseProgram,"Yb":_emscripten_glValidateProgram,"Xb":_emscripten_glVertexAttrib1f,"Wb":_emscripten_glVertexAttrib1fv,"Vb":_emscripten_glVertexAttrib2f,"Ub":_emscripten_glVertexAttrib2fv,"Tb":_emscripten_glVertexAttrib3f,"Sb":_emscripten_glVertexAttrib3fv,"Rb":_emscripten_glVertexAttrib4f,"Qb":_emscripten_glVertexAttrib4fv,"we":_emscripten_glVertexAttribDivisorANGLE,"Pb":_emscripten_glVertexAttribPointer,"Ob":_emscripten_glViewport,"D":_emscripten_has_asyncify,"Cb":_emscripten_memcpy_big,"Ue":_emscripten_request_fullscreen_strategy,"O":_emscripten_request_pointerlock,"Db":_emscripten_resize_heap,"T":_emscripten_sample_gamepad_data,"na":_emscripten_set_beforeunload_callback_on_thread,"za":_emscripten_set_blur_callback_on_thread,"w":_emscripten_set_canvas_element_size,"N":_emscripten_set_element_css_size,"Ba":_emscripten_set_focus_callback_on_thread,"qa":_emscripten_set_fullscreenchange_callback_on_thread,"R":_emscripten_set_gamepadconnected_callback_on_thread,"Q":_emscripten_set_gamepaddisconnected_callback_on_thread,"ta":_emscripten_set_keydown_callback_on_thread,"ra":_emscripten_set_keypress_callback_on_thread,"sa":_emscripten_set_keyup_callback_on_thread,"bb":_emscripten_set_main_loop,"Ga":_emscripten_set_mousedown_callback_on_thread,"Ea":_emscripten_set_mouseenter_callback_on_thread,"Da":_emscripten_set_mouseleave_callback_on_thread,"Ha":_emscripten_set_mousemove_callback_on_thread,"Fa":_emscripten_set_mouseup_callback_on_thread,"ua":_emscripten_set_pointerlockchange_callback_on_thread,"pa":_emscripten_set_resize_callback_on_thread,"va":_emscripten_set_touchcancel_callback_on_thread,"xa":_emscripten_set_touchend_callback_on_thread,"wa":_emscripten_set_touchmove_callback_on_thread,"ya":_emscripten_set_touchstart_callback_on_thread,"oa":_emscripten_set_visibilitychange_callback_on_thread,"Ca":_emscripten_set_wheel_callback_on_thread,"C":_emscripten_sleep,"Ib":_environ_get,"Jb":_environ_sizes_get,"J":_exit,"L":_fd_close,"Lb":_fd_read,"vb":_fd_seek,"fa":_fd_write,"Ec":_gai_strerror,"X":_getTempRet0,"Pc":_getaddrinfo,"Eb":_getentropy,"E":_gettimeofday,"H":_glActiveTexture,"_":_glAttachShader,"kb":_glBindAttribLocation,"c":_glBindBuffer,"k":_glBindFramebuffer,"u":_glBindTexture,"m":_glBlendFunc,"i":_glBufferData,"Ia":_glCheckFramebufferStatus,"ja":_glClear,"ka":_glClearColor,"rb":_glCompileShader,"nb":_glCreateProgram,"tb":_glCreateShader,"y":_glDeleteBuffers,"ub":_glDeleteFramebuffers,"jb":_glDeleteProgram,"pb":_glDeleteShader,"K":_glDeleteTextures,"Y":_glDetachShader,"Ra":_glDisable,"e":_glDisableVertexAttribArray,"o":_glDrawElements,"$a":_glEnable,"f":_glEnableVertexAttribArray,"da":_glFramebufferTexture2D,"l":_glGenBuffers,"Kb":_glGenFramebuffers,"ia":_glGenTextures,"ye":_glGetIntegerv,"lb":_glGetProgramInfoLog,"Z":_glGetProgramiv,"qb":_glGetShaderInfoLog,"ba":_glGetShaderiv,"j":_glGetUniformLocation,"mb":_glLinkProgram,"Aa":_glScissor,"sb":_glShaderSource,"ha":_glTexImage2D,"B":_glTexParameteri,"I":_glUniform1f,"G":_glUniform1i,"aa":_glUniform2f,"$":_glUniform4f,"ob":_glUniformMatrix4fv,"A":_glUseProgram,"d":_glVertexAttribPointer,"v":_glViewport,"ib":invoke_vii,"t":_setTempRet0,"Fb":_strftime_l,"z":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["We"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["Ye"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["Ze"]).apply(null,arguments)};var _htons=Module["_htons"]=function(){return(_htons=Module["_htons"]=Module["asm"]["_e"]).apply(null,arguments)};var _ntohs=Module["_ntohs"]=function(){return(_ntohs=Module["_ntohs"]=Module["asm"]["$e"]).apply(null,arguments)};var _htonl=Module["_htonl"]=function(){return(_htonl=Module["_htonl"]=Module["asm"]["af"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["bf"]).apply(null,arguments)};var _fflush=Module["_fflush"]=function(){return(_fflush=Module["_fflush"]=Module["asm"]["cf"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["df"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["ef"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["ff"]).apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){return(__get_tzname=Module["__get_tzname"]=Module["asm"]["gf"]).apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){return(__get_daylight=Module["__get_daylight"]=Module["asm"]["hf"]).apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){return(__get_timezone=Module["__get_timezone"]=Module["asm"]["jf"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["kf"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["lf"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["mf"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["nf"]).apply(null,arguments)};var dynCall_ji=Module["dynCall_ji"]=function(){return(dynCall_ji=Module["dynCall_ji"]=Module["asm"]["of"]).apply(null,arguments)};var dynCall_iiij=Module["dynCall_iiij"]=function(){return(dynCall_iiij=Module["dynCall_iiij"]=Module["asm"]["pf"]).apply(null,arguments)};var dynCall_viij=Module["dynCall_viij"]=function(){return(dynCall_viij=Module["dynCall_viij"]=Module["asm"]["qf"]).apply(null,arguments)};var dynCall_iijii=Module["dynCall_iijii"]=function(){return(dynCall_iijii=Module["dynCall_iijii"]=Module["asm"]["rf"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["sf"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["tf"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["uf"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["vf"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["wf"]).apply(null,arguments)};function invoke_vii(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=entryFunction(argc,argv);exit(ret,true);return ret}catch(e){return handleException(e)}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){EXITSTATUS=status;if(keepRuntimeAlive()){}else{exitRuntime()}procExit(status)}function procExit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}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:{};var objAssign=Object.assign;var moduleOverrides=objAssign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{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=function(){if(!nodePath){fs=require("fs");nodePath=require("path")}};read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath["normalize"](filename);return fs.readFileSync(filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=function 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_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){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);objAssign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||false;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var 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(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>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&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||196870144;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;SOCKFS.root=FS.mount(SOCKFS,{},null);if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);FS.quit();TTY.shutdown();runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -s ASSERTIONS=1 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="pewpewlive.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{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={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["Ve"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["Xe"];addOnInit(Module["asm"]["We"]);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)&&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={1441324:function(){location.reload()},1441343:function($0){var str=UTF8ToString($0);if(navigator.clipboard){navigator.clipboard.writeText(str)}},1441440:function($0){var url=UTF8ToString($0);window.open(url,"_blank")},1441500:function(){Module.audioBuffers={};Module.audioContext=new(window.AudioContext||window.webkitAudioContext)},1441606:function($0,$1,$2){var sound_id=$0;var sample_ptr=$1;var sample_count=$2;audio_buffer=Module.audioContext.createBuffer(1,sample_count,Module.audioContext.sampleRate);float_array=HEAPF32.subarray(sample_ptr/4,sample_ptr/4+sample_count);if(typeof audio_buffer.copyToChannel=="function"){audio_buffer.copyToChannel(float_array,0)}else{audio_buffer.getChannelData(0).set(float_array)}Module.audioBuffers[sound_id]=audio_buffer},1442058:function($0,$1,$2){var sound_id=$0;Module.audioContext.resume().then(function(){var source=Module.audioContext.createBufferSource();var panner=Module.audioContext.createPanner();source.buffer=Module.audioBuffers[sound_id];if(panner.positionX){panner.positionX.value=$1;panner.positionY.value=$2}else{panner.setPosition($1,$2,0)}panner.rolloffFactor=.1;source.connect(panner);panner.connect(Module.audioContext.destination);source.start(0)})},1442525:function($0){var sound_id=$0;Module.audioContext.resume().then(function(){var source=Module.audioContext.createBufferSource();source.buffer=Module.audioBuffers[sound_id];source.connect(Module.audioContext.destination);source.start(0)})},1442767:function($0,$1){var listener=Module.audioContext.listener;if(listener.positionX){listener.positionX.value=$0;listener.positionY.value=$1}else{listener.setPosition($0,$1,0)}},1442948:function(){Module.audioBuffers={}},1442973:function(){return Module.audioContext.sampleRate},1443016:function($0,$1,$2,$3,$4,$5){var url=UTF8ToString($0);var content_type=UTF8ToString($3);var post_string=new Uint8ClampedArray(Module.HEAPU8.buffer,$4,$5);var xhr=new XMLHttpRequest;xhr.open("POST",url,true);xhr.responseType="arraybuffer";xhr.setRequestHeader("Content-Type",content_type);xhr.timeout=1e4;var delegateId=$1;var xhrId=$2;xhr.onreadystatechange=function(){if(xhr.readyState==XMLHttpRequest.DONE){if(xhr.status==200){Module.urlRequestOnSuccess(delegateId,xhrId,xhr.response)}else{Module.urlRequestOnError(delegateId,xhrId,xhr.status)}}};xhr.send(post_string)},1443626:function(){if(typeof AudioContext!=="undefined"){return 1}else if(typeof webkitAudioContext!=="undefined"){return 1}return 0},1443763:function(){if(typeof navigator.mediaDevices!=="undefined"&&typeof navigator.mediaDevices.getUserMedia!=="undefined"){return 1}else if(typeof navigator.webkitGetUserMedia!=="undefined"){return 1}return 0},1443987:function($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},1444480:function(){var SDL2=Module["SDL2"];return SDL2.audioContext.sampleRate},1444548:function($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)}},1446200:function($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"])},1446610:function($0,$1){var SDL2=Module["SDL2"];var numChannels=SDL2.capture.currentCaptureBuffer.numberOfChannels;for(var c=0;c>2]}}},1447695:function($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>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)}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>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},1451311:function($0){if(Module["canvas"]){Module["canvas"].style["cursor"]=UTF8ToString($0)}return 0},1451404:function(){if(Module["canvas"]){Module["canvas"].style["cursor"]="none"}},1451473:function(){return screen.width},1451498:function(){return screen.height},1451524:function(){return window.innerWidth},1451554:function(){return window.innerHeight},1451585:function($0){if(typeof setWindowTitle!=="undefined"){setWindowTitle(UTF8ToString($0))}return 0}};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,function(){if(ctx.state==="suspended")ctx.resume()})}})})}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){getWasmTableEntry(func)()}else{getWasmTableEntry(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function getWasmTableEntry(funcPtr){return wasmTable.get(funcPtr)}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}return getWasmTableEntry(ptr).apply(null,args)}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(a0,a1){return _atexit(a0,a1)}function _tzset_impl(){var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAP32[__get_timezone()>>2]=stdTimezoneOffset*60;HEAP32[__get_daylight()>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summerOffset>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _tzset(){if(_tzset.called)return;_tzset.called=true;_tzset_impl()}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function ___localtime_r(a0,a1){return _localtime_r(a0,a1)}function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=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){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function zeroMemory(address,size){HEAPU8.fill(0,address,address+size)}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+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!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:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var 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:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.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:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var 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:function(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:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){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(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(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:function(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(function(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:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(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:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;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(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){FS.forceLoadFile(node);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>8,sock.sport&255]))}return peer},getPeer:function(sock,addr,port){return sock.peers[addr+":"+port]},addPeer:function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer:function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents:function(sock,peer){var first=true;var handleOpen=function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data==="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}else{data=new Uint8Array(data)}}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,flags){if(!flags.binary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module["websocket"].emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll:function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask},ioctl:function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return 28}},close:function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i>2]=value;return value}function inetNtop4(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function inetNtop6(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}}function inetPton4(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}function jstoi_q(str){return parseInt(str)}function inetPton6(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs: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},get64:function(low,high){return low}};function ___syscall_bind(fd,addr,addrlen){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_connect(fd,addr,addrlen){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}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.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 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 writeSockaddr(sa,family,addr,port,addrlen){switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0}function ___syscall_getsockname(fd,addr,addrlen){try{err("__syscall_getsockname "+fd);var sock=getSocketFromFD(fd);var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport,addrlen);return 0}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:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){try{var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_sendto(fd,message,length,flags,addr,addr_len){try{var sock=getSocketFromFD(fd);var dest=getSocketAddress(addr,addr_len,true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_socket(domain,type,protocol){try{var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.includes("unsigned");var checkAssertions=function(value,toTypeName){};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emscripten_throw_longjmp(){throw"longjmp"}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __emval_as(handle,returnType,destructorsRef){handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=Emval.toHandle(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=Emval.toHandle(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var params=["retType"];var args=[retType];var argsList="";for(var i=0;i{var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6})}else _emscripten_get_now=(()=>performance.now());var _emscripten_get_now_is_monotonic=true;function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if((clk_id===1||clk_id===4)&&_emscripten_get_now_is_monotonic){now=_emscripten_get_now()}else{setErrNo(28);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}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){runtimeKeepalivePush();Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(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}function runtimeKeepalivePush(){runtimeKeepaliveCounter+=1}function _exit(status){exit(status)}function maybeExit(){if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}}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,synchronous){if(runtimeExited||ABORT){return}if(synchronous){func();return}try{func();maybeExit()}catch(e){handleException(e)}}function runtimeKeepalivePop(){runtimeKeepaliveCounter-=1}function safeSetTimeout(func,timeout){runtimeKeepalivePush();return setTimeout(function(){runtimeKeepalivePop();callUserCallback(func)},timeout)}var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause: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);Module["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;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;Module["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",function(){finish(audio)},false);audio.onerror=function audio_onerror(event){if(done)return;out("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"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};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",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},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:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(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"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){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){runtimeKeepalivePush();return Browser.requestAnimationFrame(function(){runtimeKeepalivePop();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}else{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_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}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:[],stringCache:{},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;canvas.getContext=function(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}}var ctx=canvas.getContext("webgl",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_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);{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){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){if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}else{EGL.setErrorCode(12296);return 0}}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 _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}function _eglWaitGL(){return _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++]){var readAsmConstArgsDouble=ch<105;if(readAsmConstArgsDouble&&buf&1)buf++;readAsmConstArgsArray.push(readAsmConstArgsDouble?HEAPF64[buf++>>1]:HEAP32[buf]);++buf}return readAsmConstArgsArray}function _emscripten_asm_const_int(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}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_glActiveTexture(x0){GLctx["activeTexture"](x0)}function _emscripten_glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glBeginQueryEXT(target,id){GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])}function _emscripten_glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _emscripten_glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _emscripten_glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}function _emscripten_glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}function _emscripten_glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}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_glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _emscripten_glBufferSubData(target,offset,size,data){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_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 _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){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _emscripten_glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)}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_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}}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_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_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_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_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_glDrawArraysInstancedANGLE(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];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_glDrawElementsInstancedANGLE(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}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_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_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_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}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_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 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length: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 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_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_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 _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}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;{param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](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;{param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,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_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_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);{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_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 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_glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)}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_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_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_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_glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}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_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _emscripten_glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)}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};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)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){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_glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}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){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):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_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){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_glUniform1f(location,v0){GLctx.uniform1f(webglGetUniformLocation(location),v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(webglGetUniformLocation(location),view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(webglGetUniformLocation(location),v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(webglGetUniformLocation(location),view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(webglGetUniformLocation(location),view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)}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_glVertexAttribDivisorANGLE(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}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_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}else{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}else{return-2}}return requestPointerLock(target)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}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_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 _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__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();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[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 _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}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 _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}var GAI_ERRNO_MESSAGES={};function _gai_strerror(val){var buflen=256;if(!_gai_strerror.buffer){_gai_strerror.buffer=_malloc(buflen);GAI_ERRNO_MESSAGES["0"]="Success";GAI_ERRNO_MESSAGES[""+-1]="Invalid value for 'ai_flags' field";GAI_ERRNO_MESSAGES[""+-2]="NAME or SERVICE is unknown";GAI_ERRNO_MESSAGES[""+-3]="Temporary failure in name resolution";GAI_ERRNO_MESSAGES[""+-4]="Non-recoverable failure in name res";GAI_ERRNO_MESSAGES[""+-6]="'ai_family' not supported";GAI_ERRNO_MESSAGES[""+-7]="'ai_socktype' not supported";GAI_ERRNO_MESSAGES[""+-8]="SERVICE not supported for 'ai_socktype'";GAI_ERRNO_MESSAGES[""+-10]="Memory allocation failure";GAI_ERRNO_MESSAGES[""+-11]="System error returned in 'errno'";GAI_ERRNO_MESSAGES[""+-12]="Argument buffer overflow"}var msg="Unknown error";if(val in GAI_ERRNO_MESSAGES){if(GAI_ERRNO_MESSAGES[val].length>buflen-1){msg="Message too long"}else{msg=GAI_ERRNO_MESSAGES[val]}}writeAsciiToMemory(msg,_gai_strerror.buffer);return _gai_strerror.buffer}function _getTempRet0(){return getTempRet0()}function _getaddrinfo(node,service,hint,out){var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAP32[ai+24>>2]=canon;HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}function _getentropy(buffer,size){if(!_getentropy.randomDevice){_getentropy.randomDevice=getRandomDevice()}for(var i=0;i>0]=_getentropy.randomDevice()}return 0}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}function _glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}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 _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}}function _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 _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 _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _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 _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 _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 _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 _glGetUniformLocation(program,name){name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)}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){setTempRet0(val)}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}else{return thisDate.getFullYear()}}else{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"}else{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 janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=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"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}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 _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"a":___assert_fail,"b":___cxa_atexit,"Hb":___localtime_r,"Bb":___syscall_bind,"Ab":___syscall_connect,"ga":___syscall_fcntl64,"zb":___syscall_getsockname,"Mb":___syscall_ioctl,"Nb":___syscall_open,"yb":___syscall_recvfrom,"xb":___syscall_sendto,"ca":___syscall_socket,"wb":__embind_register_bigint,"Re":__embind_register_bool,"Qe":__embind_register_emval,"ma":__embind_register_float,"U":__embind_register_function,"n":__embind_register_integer,"h":__embind_register_memory_view,"la":__embind_register_std_string,"M":__embind_register_std_wstring,"Se":__embind_register_void,"Gb":__emscripten_throw_longjmp,"W":__emval_as,"F":__emval_call_method,"V":__emval_call_void_method,"gb":__emval_decref,"hb":__emval_get_global,"s":__emval_get_method_caller,"fb":__emval_get_property,"db":__emval_new_cstring,"eb":__emval_run_destructors,"q":_abort,"cb":_clock,"r":_clock_gettime,"Wa":_eglBindAPI,"Za":_eglChooseConfig,"Ma":_eglCreateContext,"Oa":_eglCreateWindowSurface,"Na":_eglDestroyContext,"Pa":_eglDestroySurface,"_a":_eglGetConfigAttrib,"P":_eglGetDisplay,"La":_eglGetError,"Xa":_eglInitialize,"Qa":_eglMakeCurrent,"Ka":_eglQueryString,"Sa":_eglSwapBuffers,"Ta":_eglSwapInterval,"Ya":_eglTerminate,"Va":_eglWaitGL,"Ua":_eglWaitNative,"g":_emscripten_asm_const_int,"Te":_emscripten_exit_fullscreen,"Ja":_emscripten_exit_pointerlock,"x":_emscripten_get_device_pixel_ratio,"p":_emscripten_get_element_css_size,"S":_emscripten_get_gamepad_status,"ea":_emscripten_get_now,"ab":_emscripten_get_num_gamepads,"ve":_emscripten_glActiveTexture,"ue":_emscripten_glAttachShader,"Me":_emscripten_glBeginQueryEXT,"te":_emscripten_glBindAttribLocation,"se":_emscripten_glBindBuffer,"re":_emscripten_glBindFramebuffer,"qe":_emscripten_glBindRenderbuffer,"pe":_emscripten_glBindTexture,"Ee":_emscripten_glBindVertexArrayOES,"oe":_emscripten_glBlendColor,"ne":_emscripten_glBlendEquation,"me":_emscripten_glBlendEquationSeparate,"le":_emscripten_glBlendFunc,"ke":_emscripten_glBlendFuncSeparate,"je":_emscripten_glBufferData,"ie":_emscripten_glBufferSubData,"he":_emscripten_glCheckFramebufferStatus,"ge":_emscripten_glClear,"fe":_emscripten_glClearColor,"ee":_emscripten_glClearDepthf,"de":_emscripten_glClearStencil,"ce":_emscripten_glColorMask,"be":_emscripten_glCompileShader,"ae":_emscripten_glCompressedTexImage2D,"$d":_emscripten_glCompressedTexSubImage2D,"_d":_emscripten_glCopyTexImage2D,"Zd":_emscripten_glCopyTexSubImage2D,"Yd":_emscripten_glCreateProgram,"Xd":_emscripten_glCreateShader,"Wd":_emscripten_glCullFace,"Vd":_emscripten_glDeleteBuffers,"Ud":_emscripten_glDeleteFramebuffers,"Td":_emscripten_glDeleteProgram,"Oe":_emscripten_glDeleteQueriesEXT,"Sd":_emscripten_glDeleteRenderbuffers,"Rd":_emscripten_glDeleteShader,"Qd":_emscripten_glDeleteTextures,"De":_emscripten_glDeleteVertexArraysOES,"Pd":_emscripten_glDepthFunc,"Od":_emscripten_glDepthMask,"Nd":_emscripten_glDepthRangef,"Md":_emscripten_glDetachShader,"Ld":_emscripten_glDisable,"Kd":_emscripten_glDisableVertexAttribArray,"Jd":_emscripten_glDrawArrays,"ze":_emscripten_glDrawArraysInstancedANGLE,"Ae":_emscripten_glDrawBuffersWEBGL,"Id":_emscripten_glDrawElements,"xe":_emscripten_glDrawElementsInstancedANGLE,"Hd":_emscripten_glEnable,"Gd":_emscripten_glEnableVertexAttribArray,"Le":_emscripten_glEndQueryEXT,"Fd":_emscripten_glFinish,"Ed":_emscripten_glFlush,"Dd":_emscripten_glFramebufferRenderbuffer,"Cd":_emscripten_glFramebufferTexture2D,"Bd":_emscripten_glFrontFace,"Ad":_emscripten_glGenBuffers,"yd":_emscripten_glGenFramebuffers,"Pe":_emscripten_glGenQueriesEXT,"xd":_emscripten_glGenRenderbuffers,"wd":_emscripten_glGenTextures,"Ce":_emscripten_glGenVertexArraysOES,"zd":_emscripten_glGenerateMipmap,"vd":_emscripten_glGetActiveAttrib,"ud":_emscripten_glGetActiveUniform,"td":_emscripten_glGetAttachedShaders,"sd":_emscripten_glGetAttribLocation,"rd":_emscripten_glGetBooleanv,"qd":_emscripten_glGetBufferParameteriv,"pd":_emscripten_glGetError,"od":_emscripten_glGetFloatv,"nd":_emscripten_glGetFramebufferAttachmentParameteriv,"md":_emscripten_glGetIntegerv,"kd":_emscripten_glGetProgramInfoLog,"ld":_emscripten_glGetProgramiv,"Ge":_emscripten_glGetQueryObjecti64vEXT,"Ie":_emscripten_glGetQueryObjectivEXT,"Fe":_emscripten_glGetQueryObjectui64vEXT,"He":_emscripten_glGetQueryObjectuivEXT,"Je":_emscripten_glGetQueryivEXT,"jd":_emscripten_glGetRenderbufferParameteriv,"hd":_emscripten_glGetShaderInfoLog,"gd":_emscripten_glGetShaderPrecisionFormat,"fd":_emscripten_glGetShaderSource,"id":_emscripten_glGetShaderiv,"ed":_emscripten_glGetString,"dd":_emscripten_glGetTexParameterfv,"cd":_emscripten_glGetTexParameteriv,"$c":_emscripten_glGetUniformLocation,"bd":_emscripten_glGetUniformfv,"ad":_emscripten_glGetUniformiv,"Yc":_emscripten_glGetVertexAttribPointerv,"_c":_emscripten_glGetVertexAttribfv,"Zc":_emscripten_glGetVertexAttribiv,"Xc":_emscripten_glHint,"Wc":_emscripten_glIsBuffer,"Vc":_emscripten_glIsEnabled,"Uc":_emscripten_glIsFramebuffer,"Tc":_emscripten_glIsProgram,"Ne":_emscripten_glIsQueryEXT,"Sc":_emscripten_glIsRenderbuffer,"Rc":_emscripten_glIsShader,"Qc":_emscripten_glIsTexture,"Be":_emscripten_glIsVertexArrayOES,"Oc":_emscripten_glLineWidth,"Nc":_emscripten_glLinkProgram,"Mc":_emscripten_glPixelStorei,"Lc":_emscripten_glPolygonOffset,"Ke":_emscripten_glQueryCounterEXT,"Kc":_emscripten_glReadPixels,"Jc":_emscripten_glReleaseShaderCompiler,"Ic":_emscripten_glRenderbufferStorage,"Hc":_emscripten_glSampleCoverage,"Gc":_emscripten_glScissor,"Fc":_emscripten_glShaderBinary,"Dc":_emscripten_glShaderSource,"Cc":_emscripten_glStencilFunc,"Bc":_emscripten_glStencilFuncSeparate,"Ac":_emscripten_glStencilMask,"zc":_emscripten_glStencilMaskSeparate,"yc":_emscripten_glStencilOp,"xc":_emscripten_glStencilOpSeparate,"wc":_emscripten_glTexImage2D,"vc":_emscripten_glTexParameterf,"uc":_emscripten_glTexParameterfv,"tc":_emscripten_glTexParameteri,"sc":_emscripten_glTexParameteriv,"rc":_emscripten_glTexSubImage2D,"qc":_emscripten_glUniform1f,"pc":_emscripten_glUniform1fv,"oc":_emscripten_glUniform1i,"nc":_emscripten_glUniform1iv,"mc":_emscripten_glUniform2f,"lc":_emscripten_glUniform2fv,"kc":_emscripten_glUniform2i,"jc":_emscripten_glUniform2iv,"ic":_emscripten_glUniform3f,"hc":_emscripten_glUniform3fv,"gc":_emscripten_glUniform3i,"fc":_emscripten_glUniform3iv,"ec":_emscripten_glUniform4f,"dc":_emscripten_glUniform4fv,"cc":_emscripten_glUniform4i,"bc":_emscripten_glUniform4iv,"ac":_emscripten_glUniformMatrix2fv,"$b":_emscripten_glUniformMatrix3fv,"_b":_emscripten_glUniformMatrix4fv,"Zb":_emscripten_glUseProgram,"Yb":_emscripten_glValidateProgram,"Xb":_emscripten_glVertexAttrib1f,"Wb":_emscripten_glVertexAttrib1fv,"Vb":_emscripten_glVertexAttrib2f,"Ub":_emscripten_glVertexAttrib2fv,"Tb":_emscripten_glVertexAttrib3f,"Sb":_emscripten_glVertexAttrib3fv,"Rb":_emscripten_glVertexAttrib4f,"Qb":_emscripten_glVertexAttrib4fv,"we":_emscripten_glVertexAttribDivisorANGLE,"Pb":_emscripten_glVertexAttribPointer,"Ob":_emscripten_glViewport,"D":_emscripten_has_asyncify,"Cb":_emscripten_memcpy_big,"Ue":_emscripten_request_fullscreen_strategy,"O":_emscripten_request_pointerlock,"Db":_emscripten_resize_heap,"T":_emscripten_sample_gamepad_data,"na":_emscripten_set_beforeunload_callback_on_thread,"za":_emscripten_set_blur_callback_on_thread,"w":_emscripten_set_canvas_element_size,"N":_emscripten_set_element_css_size,"Ba":_emscripten_set_focus_callback_on_thread,"qa":_emscripten_set_fullscreenchange_callback_on_thread,"R":_emscripten_set_gamepadconnected_callback_on_thread,"Q":_emscripten_set_gamepaddisconnected_callback_on_thread,"ta":_emscripten_set_keydown_callback_on_thread,"ra":_emscripten_set_keypress_callback_on_thread,"sa":_emscripten_set_keyup_callback_on_thread,"bb":_emscripten_set_main_loop,"Ga":_emscripten_set_mousedown_callback_on_thread,"Ea":_emscripten_set_mouseenter_callback_on_thread,"Da":_emscripten_set_mouseleave_callback_on_thread,"Ha":_emscripten_set_mousemove_callback_on_thread,"Fa":_emscripten_set_mouseup_callback_on_thread,"ua":_emscripten_set_pointerlockchange_callback_on_thread,"pa":_emscripten_set_resize_callback_on_thread,"va":_emscripten_set_touchcancel_callback_on_thread,"xa":_emscripten_set_touchend_callback_on_thread,"wa":_emscripten_set_touchmove_callback_on_thread,"ya":_emscripten_set_touchstart_callback_on_thread,"oa":_emscripten_set_visibilitychange_callback_on_thread,"Ca":_emscripten_set_wheel_callback_on_thread,"C":_emscripten_sleep,"Ib":_environ_get,"Jb":_environ_sizes_get,"J":_exit,"L":_fd_close,"Lb":_fd_read,"vb":_fd_seek,"fa":_fd_write,"Ec":_gai_strerror,"X":_getTempRet0,"Pc":_getaddrinfo,"Eb":_getentropy,"E":_gettimeofday,"H":_glActiveTexture,"_":_glAttachShader,"kb":_glBindAttribLocation,"c":_glBindBuffer,"k":_glBindFramebuffer,"u":_glBindTexture,"m":_glBlendFunc,"i":_glBufferData,"Ia":_glCheckFramebufferStatus,"ja":_glClear,"ka":_glClearColor,"rb":_glCompileShader,"nb":_glCreateProgram,"tb":_glCreateShader,"y":_glDeleteBuffers,"ub":_glDeleteFramebuffers,"jb":_glDeleteProgram,"pb":_glDeleteShader,"K":_glDeleteTextures,"Y":_glDetachShader,"Ra":_glDisable,"e":_glDisableVertexAttribArray,"o":_glDrawElements,"$a":_glEnable,"f":_glEnableVertexAttribArray,"da":_glFramebufferTexture2D,"l":_glGenBuffers,"Kb":_glGenFramebuffers,"ia":_glGenTextures,"ye":_glGetIntegerv,"lb":_glGetProgramInfoLog,"Z":_glGetProgramiv,"qb":_glGetShaderInfoLog,"ba":_glGetShaderiv,"j":_glGetUniformLocation,"mb":_glLinkProgram,"Aa":_glScissor,"sb":_glShaderSource,"ha":_glTexImage2D,"B":_glTexParameteri,"I":_glUniform1f,"G":_glUniform1i,"aa":_glUniform2f,"$":_glUniform4f,"ob":_glUniformMatrix4fv,"A":_glUseProgram,"d":_glVertexAttribPointer,"v":_glViewport,"ib":invoke_vii,"t":_setTempRet0,"Fb":_strftime_l,"z":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["We"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["Ye"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["Ze"]).apply(null,arguments)};var _htons=Module["_htons"]=function(){return(_htons=Module["_htons"]=Module["asm"]["_e"]).apply(null,arguments)};var _ntohs=Module["_ntohs"]=function(){return(_ntohs=Module["_ntohs"]=Module["asm"]["$e"]).apply(null,arguments)};var _htonl=Module["_htonl"]=function(){return(_htonl=Module["_htonl"]=Module["asm"]["af"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["bf"]).apply(null,arguments)};var _fflush=Module["_fflush"]=function(){return(_fflush=Module["_fflush"]=Module["asm"]["cf"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["df"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["ef"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["ff"]).apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){return(__get_tzname=Module["__get_tzname"]=Module["asm"]["gf"]).apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){return(__get_daylight=Module["__get_daylight"]=Module["asm"]["hf"]).apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){return(__get_timezone=Module["__get_timezone"]=Module["asm"]["jf"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["kf"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["lf"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["mf"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["nf"]).apply(null,arguments)};var dynCall_ji=Module["dynCall_ji"]=function(){return(dynCall_ji=Module["dynCall_ji"]=Module["asm"]["of"]).apply(null,arguments)};var dynCall_iiij=Module["dynCall_iiij"]=function(){return(dynCall_iiij=Module["dynCall_iiij"]=Module["asm"]["pf"]).apply(null,arguments)};var dynCall_viij=Module["dynCall_viij"]=function(){return(dynCall_viij=Module["dynCall_viij"]=Module["asm"]["qf"]).apply(null,arguments)};var dynCall_iijii=Module["dynCall_iijii"]=function(){return(dynCall_iijii=Module["dynCall_iijii"]=Module["asm"]["rf"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["sf"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["tf"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["uf"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["vf"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["wf"]).apply(null,arguments)};function invoke_vii(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=entryFunction(argc,argv);exit(ret,true);return ret}catch(e){return handleException(e)}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){EXITSTATUS=status;if(keepRuntimeAlive()){}else{exitRuntime()}procExit(status)}function procExit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}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/content/pewpewlive.wasm b/content/pewpewlive.wasm index 20979a197df745670fbbfc71dfaa2a73d9d30d03..e6c01a86c281ac49254e59191882aecaa2568eee 100755 GIT binary patch delta 171195 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

gLLFk<&1&tN7K=T%3IFt4D$R! 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

{J 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

JhC&1Ho%`#%^+587Q%@>q1+#& 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 diff --git a/docs/raw_documentation.js b/docs/raw_documentation.js index 16adee9..6104d94 100644 --- a/docs/raw_documentation.js +++ b/docs/raw_documentation.js @@ -20,6 +20,8 @@ var documentation = [ "BOMB", "BAF_BLUE", "BAF_RED", +"WARY_MISSILE", +"UFO_BULLET", ], }, {