From 24671b26ac546f4b79e7ac0b43628a3bca95e587 Mon Sep 17 00:00:00 2001 From: MeGaL0DoN <62940883+MeGaL0DoN@users.noreply.github.com> Date: Sat, 30 Nov 2024 16:30:00 -0800 Subject: [PATCH] Add files via upload --- MegaBoy.js | 2 +- MegaBoy.wasm | Bin 1019492 -> 1018262 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/MegaBoy.js b/MegaBoy.js index 3532ea3..8395656 100644 --- a/MegaBoy.js +++ b/MegaBoy.js @@ -1 +1 @@ -var Module=typeof Module!="undefined"?Module:{};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";if(ENVIRONMENT_IS_NODE){}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);var ret=fs.readFileSync(filename);return ret};readAsync=(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return new Promise((resolve,reject)=>{fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)reject(err);else resolve(binary?data.buffer:data)})})};if(!Module["thisProgram"]&&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",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}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.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=url=>{if(isFileURI(url)){return new Promise((reject,resolve)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response)}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function findWasmBinary(){var f="MegaBoy.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{a:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["Kb"];updateMemoryViews();wasmTable=wasmExports["Wb"];addOnInit(wasmExports["Lb"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;var ASM_CONSTS={157520:()=>window.screen.width*window.devicePixelRatio,157578:()=>window.screen.height*window.devicePixelRatio,157637:()=>window.devicePixelRatio,157673:()=>window.devicePixelRatio,157709:()=>window.innerWidth,157739:()=>window.innerHeight,157770:()=>{FS.mkdir("/data");FS.mount(IDBFS,{autoPersist:true},"/data");FS.syncfs(true,function(err){if(err!=null){console.log(err)}FS.mkdir("/batterySaves");FS.mount(IDBFS,{autoPersist:true},"/batterySaves");FS.syncfs(true,function(err){if(err!=null){console.log(err)}});Module.ccall("runApp",null,[],[])})},158114:($0,$1,$2,$3,$4)=>{if(typeof window==="undefined"||(window.AudioContext||window.webkitAudioContext)===undefined){return 0}if(typeof window.miniaudio==="undefined"){window.miniaudio={referenceCount:0};window.miniaudio.device_type={};window.miniaudio.device_type.playback=$0;window.miniaudio.device_type.capture=$1;window.miniaudio.device_type.duplex=$2;window.miniaudio.device_state={};window.miniaudio.device_state.stopped=$3;window.miniaudio.device_state.started=$4;miniaudio.devices=[];miniaudio.track_device=function(device){for(var iDevice=0;iDevice0){if(miniaudio.devices[miniaudio.devices.length-1]==null){miniaudio.devices.pop()}else{break}}};miniaudio.untrack_device=function(device){for(var iDevice=0;iDevice{Module._ma_device__on_notification_unlocked(device.pDevice)},error=>{console.error("Failed to resume audiocontext",error)})}}miniaudio.unlock_event_types.map(function(event_type){document.removeEventListener(event_type,miniaudio.unlock,true)})};miniaudio.unlock_event_types.map(function(event_type){document.addEventListener(event_type,miniaudio.unlock,true)})}window.miniaudio.referenceCount+=1;return 1},160272:()=>{if(typeof window.miniaudio!=="undefined"){window.miniaudio.referenceCount-=1;if(window.miniaudio.referenceCount===0){delete window.miniaudio}}},160436:()=>navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined,160540:()=>{try{var temp=new(window.AudioContext||window.webkitAudioContext);var sampleRate=temp.sampleRate;temp.close();return sampleRate}catch(e){return 0}},160711:($0,$1,$2,$3,$4,$5)=>{var deviceType=$0;var channels=$1;var sampleRate=$2;var bufferSize=$3;var pIntermediaryBuffer=$4;var pDevice=$5;if(typeof window.miniaudio==="undefined"){return-1}var device={};var audioContextOptions={};if(deviceType==window.miniaudio.device_type.playback&&sampleRate!=0){audioContextOptions.sampleRate=sampleRate}device.webaudio=new(window.AudioContext||window.webkitAudioContext)(audioContextOptions);device.webaudio.suspend();device.state=window.miniaudio.device_state.stopped;var channelCountIn=0;var channelCountOut=channels;if(deviceType!=window.miniaudio.device_type.playback){channelCountIn=channels}device.scriptNode=device.webaudio.createScriptProcessor(bufferSize,channelCountIn,channelCountOut);device.scriptNode.onaudioprocess=function(e){if(device.intermediaryBufferView==null||device.intermediaryBufferView.length==0){device.intermediaryBufferView=new Float32Array(Module.HEAPF32.buffer,pIntermediaryBuffer,bufferSize*channels)}if(deviceType==miniaudio.device_type.capture||deviceType==miniaudio.device_type.duplex){for(var iChannel=0;iChannelminiaudio.get_device_by_index($0).webaudio.sampleRate,163605:$0=>{var device=miniaudio.get_device_by_index($0);if(device.scriptNode!==undefined){device.scriptNode.onaudioprocess=function(e){};device.scriptNode.disconnect();device.scriptNode=undefined}if(device.streamNode!==undefined){device.streamNode.disconnect();device.streamNode=undefined}device.webaudio.close();device.webaudio=undefined;device.pDevice=undefined},163998:$0=>{miniaudio.untrack_device_by_index($0)},164041:$0=>{var device=miniaudio.get_device_by_index($0);device.webaudio.resume();device.state=miniaudio.device_state.started},164166:$0=>{var device=miniaudio.get_device_by_index($0);device.webaudio.suspend();device.state=miniaudio.device_state.stopped}};function upload(accept_types,callback,callback_data){globalThis["open_file"]=function(e){const file_reader=new FileReader;file_reader.onload=event=>{const uint8Arr=new Uint8Array(event.target.result);const data_ptr=Module["_malloc"](uint8Arr.length);const data_on_heap=new Uint8Array(Module["HEAPU8"].buffer,data_ptr,uint8Arr.length);data_on_heap.set(uint8Arr);Module["ccall"]("upload_file_return","number",["string","string","number","number","number","number"],[event.target.filename,event.target.mime_type,data_on_heap.byteOffset,uint8Arr.length,callback,callback_data]);Module["_free"](data_ptr)};file_reader.filename=e.target.files[0].name;file_reader.mime_type=e.target.files[0].type;file_reader.readAsArrayBuffer(e.target.files[0])};var file_selector=document.createElement("input");file_selector.setAttribute("type","file");file_selector.setAttribute("onchange",'globalThis["open_file"](event)');file_selector.style.outline="none";file_selector.addEventListener("cancel",()=>{Module["ccall"]("upload_file_return","number",["string","string","number","number","number","number"],["","",0,0,callback,callback_data])});file_selector.setAttribute("accept",UTF8ToString(accept_types));var is_safari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);if(is_safari){var dialog=document.createElement("dialog");dialog.setAttribute("id","EmJsFileDialog");file_selector.setAttribute("onclick",'var dg = document.getElementById("EmJsFileDialog"); dg.close(); dg.remove()');dialog.appendChild(file_selector);var cancel_button=document.createElement("button");cancel_button.textContent="Cancel";cancel_button.setAttribute("onclick",'var dg = document.getElementById("EmJsFileDialog"); dg.close(); dg.remove()');var lineBreak=document.createElement("br");dialog.appendChild(lineBreak);dialog.appendChild(cancel_button);document.body.append(dialog);dialog.showModal()}else{file_selector.click()}}function download(filename,mime_type,buffer,buffer_size){var a=document.createElement("a");a.download=UTF8ToString(filename);a.href=URL.createObjectURL(new Blob([new Uint8Array(Module["HEAPU8"].buffer,buffer,buffer_size)],{type:UTF8ToString(mime_type)}));a.click()}function ImGui_ImplGlfw_EmscriptenOpenURL(url){url=url?UTF8ToString(url):null;if(url)window.open(url,"_blank")}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}get_exception_ptr(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{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 intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var mmapAlloc=size=>{abort()};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url).then(arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},err=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var IDBFS={dbs:{},indexedDB:()=>{if(typeof indexedDB!="undefined")return indexedDB;var ret=null;if(typeof window=="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",queuePersist:mount=>{function onPersistComplete(){if(mount.idbPersistState==="again")startPersist();else mount.idbPersistState=0}function startPersist(){mount.idbPersistState="idb";IDBFS.syncfs(mount,false,onPersistComplete)}if(!mount.idbPersistState){mount.idbPersistState=setTimeout(startPersist,0)}else if(mount.idbPersistState==="idb"){mount.idbPersistState="again"}},mount:mount=>{var mnt=MEMFS.mount(mount);if(mount?.opts?.autoPersist){mnt.idbPersistState=0;var memfs_node_ops=mnt.node_ops;mnt.node_ops=Object.assign({},mnt.node_ops);mnt.node_ops.mknod=(parent,name,mode,dev)=>{var node=memfs_node_ops.mknod(parent,name,mode,dev);node.node_ops=mnt.node_ops;node.idbfs_mount=mnt.mount;node.memfs_stream_ops=node.stream_ops;node.stream_ops=Object.assign({},node.stream_ops);node.stream_ops.write=(stream,buffer,offset,length,position,canOwn)=>{stream.node.isModified=true;return node.memfs_stream_ops.write(stream,buffer,offset,length,position,canOwn)};node.stream_ops.close=stream=>{var n=stream.node;if(n.isModified){IDBFS.queuePersist(n.idbfs_mount);n.isModified=false}if(n.memfs_stream_ops.close)return n.memfs_stream_ops.close(stream)};return node};mnt.node_ops.mkdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.mkdir(...args));mnt.node_ops.rmdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rmdir(...args));mnt.node_ops.symlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.symlink(...args));mnt.node_ops.unlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.unlink(...args));mnt.node_ops.rename=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rename(...args))}return mnt},syncfs:(mount,populate,callback)=>{IDBFS.getLocalSet(mount,(err,local)=>{if(err)return callback(err);IDBFS.getRemoteSet(mount,(err,remote)=>{if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},quit:()=>{Object.values(IDBFS.dbs).forEach(value=>value.close());IDBFS.dbs={}},getDB:(name,callback)=>{var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=()=>{db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=e=>{callback(e.target.error);e.preventDefault()}},getLocalSet:(mount,callback)=>{var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return p=>PATH.join2(root,p)}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push(...FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:(mount,callback)=>{var entries={};IDBFS.getDB(mount.mountpoint,(err,db)=>{if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=e=>{callback(e.target.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=event=>{var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:(path,callback)=>{var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:(path,entry,callback)=>{try{if(FS.isDir(entry["mode"])){FS.mkdirTree(path,entry["mode"])}else if(FS.isFile(entry["mode"])){FS.writeFile(path,entry["contents"],{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry["mode"]);FS.utime(path,entry["timestamp"],entry["timestamp"])}catch(e){return callback(e)}callback(null)},removeLocalEntry:(path,callback)=>{try{var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:(store,path,callback)=>{var req=store.get(path);req.onsuccess=event=>callback(null,event.target.result);req.onerror=e=>{callback(e.target.error);e.preventDefault()}},storeRemoteEntry:(store,path,entry,callback)=>{try{var req=store.put(entry,path)}catch(e){callback(e);return}req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},removeRemoteEntry:(store,path,callback)=>{var req=store.delete(path);req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},reconcile:(src,dst,callback)=>{var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e["timestamp"].getTime()!=e2["timestamp"].getTime()){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){if(!src.entries[key]){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=transaction.onabort=e=>{done(e.target.error);e.preventDefault()};transaction.oncomplete=e=>{if(!errored){callback(null)}};create.sort().forEach(path=>{if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(err,entry)=>{if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,(err,entry)=>{if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(path=>{if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{constructor(errno){this.name="ErrnoError";this.errno=errno}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;iFS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS:MEMFS,IDBFS:IDBFS}},init(input,output,error){FS.init.initialized=true;Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function syscallGetVarargI(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>{abort("")};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};var setTempRet0=val=>__emscripten_tempret_set(val);var __mktime_js=function(tmPtr){var ret=(()=>{var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){return-1}return timeMs/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset{readEmAsmArgsArray.length=0;var ch;while(ch=HEAPU8[sigPtr++]){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?HEAPU32[buf>>2]:ch==105?HEAP32[buf>>2]:HEAPF64[buf>>3]);buf+=wide?8:4}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};var _emscripten_asm_const_double=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);var _emscripten_date_now=()=>Date.now();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var JSEvents={removeAllEventListeners(){while(JSEvents.eventHandlers.length){JSEvents._removeHandler(JSEvents.eventHandlers.length-1)}JSEvents.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var call of JSEvents.deferredCalls){if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedencecall.targetFunction!=targetFunction)},canPerformEventHandlerRequests(){if(navigator.userActivation){return navigator.userActivation.isActive}return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(!JSEvents.canPerformEventHandlerRequests()){return}var deferredCalls=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var call of deferredCalls){call.targetFunction(...call.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(target,eventTypeString)=>{for(var i=0;icString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var registerBeforeUnloadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString)=>{var beforeUnloadEventHandlerFunc=(e=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};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_beforeunload_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;return registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload")};var _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};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var safeSetTimeout=(func,timeout)=>setTimeout(()=>{callUserCallback(func)},timeout);var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}};var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);preloadedImages[name]=canvas;URL.revokeObjectURL(url);onload?.(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);onerror?.()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;preloadedAudios[name]=audio;onload?.(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err(`warning: browser could not fully decode audio ${name}, trying slower base64 approach`);function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:2};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},destroyContext(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame(func){return Browser.requestAnimationFrame(()=>{callUserCallback(func)})},getMimetype(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia(func){window.getUserMedia||=navigator["getUserMedia"]||navigator["mozGetUserMedia"];window.getUserMedia(func)},getMovementX(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(pageX,pageY){var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;var adjustedX=pageX-(scrollX+rect.left);var adjustedY=pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);return{x:adjustedX,y:adjustedY}},setMouseCoords(pageX,pageY){const{x:x,y:y}=Browser.calculateMouseCoords(pageX,pageY);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y},calculateMouseEvent(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h{Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof Browser.setImmediate=="undefined"){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);Browser.setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){Module["setImmediates"]??=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}else{Browser.setImmediate=setImmediate}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){Browser.setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0};var setMainLoop=(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)=>{Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;if(typeof SDL=="object")SDL.audio?.queueNewAudioData?.();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}};var _emscripten_set_main_loop=(func,fps,simulateInfiniteLoop)=>{var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)};var registerUiEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.uiEvent)JSEvents.uiEvent=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=(e=event)=>{if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>2]=0;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|0;HEAP32[uiEvent+32>>2]=pageYOffset|0;if(getWasmTableEntry(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_resize_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread);var fillVisibilityChangeEventData=eventStruct=>{var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP8[eventStruct]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState};var registerVisibilityChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.visibilityChangeEvent)JSEvents.visibilityChangeEvent=_malloc(8);var visibilityChangeEventHandlerFunc=(e=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};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_visibilitychange_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(!specialHTMLTargets[1]){return-4}return registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread)};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw=ctx=>!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"));var getEmscriptenSupportedExtensions=ctx=>{var supportedExtensions=["EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i>2]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i>2]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>2],len)}return source},createContext:(canvas,webGLContextAttributes)=>{if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=canvas.getContext("webgl2",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:(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:contextHandle=>{GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext?.GLctx;return!(contextHandle&&!GLctx)},getContext:contextHandle=>GL.contexts[contextHandle],deleteContext:contextHandle=>{if(GL.currentContext===GL.contexts[contextHandle]){GL.currentContext=null}if(typeof JSEvents=="object"){JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas)}if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas){GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined}GL.contexts[contextHandle]=null},initExtensions:context=>{context||=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}webgl_enable_WEBGL_multi_draw(GLctx);getEmscriptenSupportedExtensions(GLctx).forEach(ext=>{if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var _glActiveTexture=x0=>GLctx.activeTexture(x0);var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};var _glBindBuffer=(target,buffer)=>{if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])};var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};var _glBindVertexArrayOES=_glBindVertexArray;var _glBlendEquation=x0=>GLctx.blendEquation(x0);var _glBlendEquationSeparate=(x0,x1)=>GLctx.blendEquationSeparate(x0,x1);var _glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);var _glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);var _glBufferData=(target,size,data,usage)=>{if(true){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}return}GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)};var _glBufferSubData=(target,offset,size,data)=>{if(true){size&&GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))};var _glClear=x0=>GLctx.clear(x0);var _glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};var _glDeleteVertexArrays=(n,vaos)=>{for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}};var _glDeleteVertexArraysOES=_glDeleteVertexArrays;var _glDetachShader=(program,shader)=>{GLctx.detachShader(GL.programs[program],GL.shaders[shader])};var _glDisable=x0=>GLctx.disable(x0);var _glDrawElements=(mode,count,type,indices)=>{GLctx.drawElements(mode,count,type,indices)};var _glEnable=x0=>GLctx.enable(x0);var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};var _glGenBuffers=(n,buffers)=>{GL.genObject(n,buffers,"createBuffer",GL.buffers)};var _glGenTextures=(n,textures)=>{GL.genObject(n,textures,"createTexture",GL.textures)};var _glGenVertexArrays=(n,arrays)=>{GL.genObject(n,arrays,"createVertexArray",GL.vaos)};var _glGenVertexArraysOES=_glGenVertexArrays;var _glGenerateMipmap=x0=>GLctx.generateMipmap(x0);var _glGetAttribLocation=(program,name)=>GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name));var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>2]=num;var lower=HEAPU32[ptr>>2];HEAPU32[ptr+4>>2]=(num-lower)/4294967296};var webglGetExtensions=function $webglGetExtensions(){var exts=getEmscriptenSupportedExtensions(GLctx);exts=exts.concat(exts.map(e=>"GL_"+e));return exts};var emscriptenWebGLGet=(name_,p,type)=>{if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}ret=webglGetExtensions().length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Unknown object returned from WebGL getParameter(${name_})! (error: ${e})`);return}}break;default:GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Native code calling glGet${type}v(${name_}) and it returns ${result} of type ${typeof result}!`);return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p]=ret?1:0;break}};var _glGetIntegerv=(name_,p)=>emscriptenWebGLGet(name_,p,0);var _glGetProgramInfoLog=(program,maxLength,length,infoLog)=>{var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetProgramiv=(program,pname,p)=>{if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}};var _glGetShaderInfoLog=(shader,maxLength,length,infoLog)=>{var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetShaderiv=(shader,pname,p)=>{if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}};var jstoi_q=str=>parseInt(str);var webglGetLeftBracePos=name=>name.slice(-1)=="]"&&name.lastIndexOf("[");var webglPrepareUniformLocationsBeforeFirstUse=program=>{var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j{name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndexGLctx.isEnabled(x0);var _glIsProgram=program=>{program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)};var _glLinkProgram=program=>{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};var computeUnpackAlignedImageSize=(width,height,sizePerPixel)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=(GL.unpackRowLength||width)*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,GL.unpackAlignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel);return heap.subarray(toTypedArrayIndex(pixels,heap),toTypedArrayIndex(pixels+bytes,heap))};var _glReadPixels=(x,y,width,height,format,type,pixels)=>{if(true){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels);return}var heap=heapObjectForWebGLType(type);var target=toTypedArrayIndex(pixels,heap);GLctx.readPixels(x,y,width,height,format,type,heap,target);return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)};var _glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);var _glShaderSource=(shader,count,string,length)=>{var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)};var _glTexImage2D=(target,level,internalFormat,width,height,border,format,type,pixels)=>{if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels);return}if(pixels){var heap=heapObjectForWebGLType(type);var index=toTypedArrayIndex(pixels,heap);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,index);return}}var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null;GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)};var _glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);var _glTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,type,pixels)=>{if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels);return}if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,heap,toTypedArrayIndex(pixels,heap));return}}var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0):null;GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)};var webglGetUniformLocation=location=>{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};var _glUniformMatrix4fv=(location,count,transpose,value)=>{count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16)};var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};var _glVertexAttribPointer=(index,size,type,normalized,stride,ptr)=>{GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)};var _glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);function GLFW_Window(id,width,height,framebufferWidth,framebufferHeight,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.framebufferWidth=framebufferWidth;this.framebufferHeight=framebufferHeight;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=Object.assign({},GLFW.hints);this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=0;this.windowSizeFunc=0;this.windowCloseFunc=0;this.windowRefreshFunc=0;this.windowFocusFunc=0;this.windowIconifyFunc=0;this.windowMaximizeFunc=0;this.framebufferSizeFunc=0;this.windowContentScaleFunc=0;this.mouseButtonFunc=0;this.cursorPosFunc=0;this.cursorEnterFunc=0;this.scrollFunc=0;this.dropFunc=0;this.keyFunc=0;this.charFunc=0;this.userptr=0}var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var _emscripten_set_window_title=title=>document.title=UTF8ToString(title);var GLFW={WindowFromId:id=>{if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:0,errorFunc:0,monitorFunc:0,active:null,scale:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,devicePixelRatioMQL:null,hints:null,primaryTouchId:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,131082:0,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0,139276:0},DOMToGLFWKeyCode:keycode=>{switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 96;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 224:return 343;case 93:return 348;default:return-1}},getModBits:win=>{var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343]||win.keys[348])mod|=8;return mod},onKeyPress:event=>{if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;getWasmTableEntry(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:(keyCode,status)=>{if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(GLFW.active.keyFunc){if(repeat)status=2;getWasmTableEntry(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))}},onGamepadConnected:event=>{GLFW.refreshJoysticks()},onGamepadDisconnected:event=>{GLFW.refreshJoysticks()},onKeydown:event=>{GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:event=>{GLFW.onKeyChanged(event.keyCode,0)},onBlur:event=>{if(!GLFW.active)return;for(var i=0;i{if(!GLFW.active)return;if(event.type==="touchmove"){event.preventDefault();let primaryChanged=false;for(let i of event.changedTouches){if(GLFW.primaryTouchId===i.identifier){Browser.setMouseCoords(i.pageX,i.pageY);primaryChanged=true;break}}if(!primaryChanged){return}}else{Browser.calculateMouseEvent(event)}if(event.target!=Module["canvas"]||!GLFW.active.cursorPosFunc)return;if(GLFW.active.cursorPosFunc){getWasmTableEntry(GLFW.active.cursorPosFunc)(GLFW.active.id,Browser.mouseX,Browser.mouseY)}},DOMToGLFWMouseButton:event=>{var eventButton=event["button"];if(eventButton>0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:event=>{if(!GLFW.active)return;if(event.target!=Module["canvas"])return;if(GLFW.active.cursorEnterFunc){getWasmTableEntry(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)}},onMouseleave:event=>{if(!GLFW.active)return;if(event.target!=Module["canvas"])return;if(GLFW.active.cursorEnterFunc){getWasmTableEntry(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)}},onMouseButtonChanged:(event,status)=>{if(!GLFW.active)return;if(event.target!=Module["canvas"])return;const isTouchType=event.type==="touchstart"||event.type==="touchend"||event.type==="touchcancel";let eventButton=0;if(isTouchType){event.preventDefault();let primaryChanged=false;if(GLFW.primaryTouchId===null&&event.type==="touchstart"&&event.targetTouches.length>0){const chosenTouch=event.targetTouches[0];GLFW.primaryTouchId=chosenTouch.identifier;Browser.setMouseCoords(chosenTouch.pageX,chosenTouch.pageY);primaryChanged=true}else if(event.type==="touchend"||event.type==="touchcancel"){for(let i of event.changedTouches){if(GLFW.primaryTouchId===i.identifier){GLFW.primaryTouchId=null;primaryChanged=true;break}}}if(!primaryChanged){return}}else{Browser.calculateMouseEvent(event);eventButton=GLFW.DOMToGLFWMouseButton(event)}if(status==1){GLFW.active.buttons|=1<{if(!GLFW.active)return;GLFW.onMouseButtonChanged(event,1)},onMouseButtonUp:event=>{if(!GLFW.active)return;GLFW.onMouseButtonChanged(event,0)},onMouseWheel:event=>{var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=delta;if(event.type=="mousewheel"){sx=event.wheelDeltaX}else{sx=event.deltaX}getWasmTableEntry(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:(width,height,framebufferWidth,framebufferHeight)=>{if(!GLFW.active)return;var resizeNeeded=false;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){if(!GLFW.active.fullscreen){resizeNeeded=width!=screen.width||height!=screen.height;GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}}else if(GLFW.active.fullscreen==true){resizeNeeded=width!=GLFW.active.storedWidth||height!=GLFW.active.storedHeight;GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height)}else if(GLFW.active.width!=width||GLFW.active.height!=height||GLFW.active.framebufferWidth!=framebufferWidth||GLFW.active.framebufferHeight!=framebufferHeight){GLFW.active.width=width;GLFW.active.height=height;GLFW.active.framebufferWidth=framebufferWidth;GLFW.active.framebufferHeight=framebufferHeight;GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:()=>{if(!GLFW.active)return;if(GLFW.active.windowSizeFunc){getWasmTableEntry(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)}},onFramebufferSizeChanged:()=>{if(!GLFW.active)return;if(GLFW.active.framebufferSizeFunc){getWasmTableEntry(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.framebufferWidth,GLFW.active.framebufferHeight)}},onWindowContentScaleChanged:scale=>{GLFW.scale=scale;if(!GLFW.active)return;if(GLFW.active.windowContentScaleFunc){getWasmTableEntry(GLFW.active.windowContentScaleFunc)(GLFW.active.id,GLFW.scale,GLFW.scale)}},getTime:()=>_emscripten_get_now()/1e3,setWindowTitle:(winid,title)=>{var win=GLFW.WindowFromId(winid);if(!win)return;win.title=title;if(GLFW.active.id==win.id){_emscripten_set_window_title(title)}},setJoystickCallback:cbfun=>{var prevcbfun=GLFW.joystickFunc;GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks();return prevcbfun},joys:{},lastGamepadState:[],lastGamepadStateFrame:null,refreshJoysticks:()=>{if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads||[];GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy>2]=gamepad.axes[i]}}else{if(GLFW.joys[joy]){out("glfw joystick disconnected",joy);if(GLFW.joystickFunc){getWasmTableEntry(GLFW.joystickFunc)(joy,262146)}_free(GLFW.joys[joy].id);_free(GLFW.joys[joy].buttons);_free(GLFW.joys[joy].axes);delete GLFW.joys[joy]}}}}},setKeyCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.keyFunc;win.keyFunc=cbfun;return prevcbfun},setCharCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.charFunc;win.charFunc=cbfun;return prevcbfun},setMouseButtonCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.mouseButtonFunc;win.mouseButtonFunc=cbfun;return prevcbfun},setCursorPosCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.cursorPosFunc;win.cursorPosFunc=cbfun;return prevcbfun},setScrollCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.scrollFunc;win.scrollFunc=cbfun;return prevcbfun},setDropCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.dropFunc;win.dropFunc=cbfun;return prevcbfun},onDrop:event=>{if(!GLFW.active||!GLFW.active.dropFunc)return;if(!event.dataTransfer||!event.dataTransfer.files||event.dataTransfer.files.length==0)return;event.preventDefault();var filenames=_malloc(event.dataTransfer.files.length*4);var filenamesArray=[];var count=event.dataTransfer.files.length;var written=0;var drop_dir=".glfw_dropped_files";FS.createPath("/",drop_dir);function save(file){var path="/"+drop_dir+"/"+file.name.replace(/\//g,"_");var reader=new FileReader;reader.onloadend=e=>{if(reader.readyState!=2){++written;out("failed to read dropped file: "+file.name+": "+reader.error);return}var data=e.target.result;FS.writeFile(path,new Uint8Array(data));if(++written===count){getWasmTableEntry(GLFW.active.dropFunc)(GLFW.active.id,count,filenames);for(var i=0;i>2]=filename}for(var i=0;i{if(!GLFW.active||!GLFW.active.dropFunc)return;event.preventDefault();return false},setWindowSizeCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowSizeFunc;win.windowSizeFunc=cbfun;return prevcbfun},setWindowCloseCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowCloseFunc;win.windowCloseFunc=cbfun;return prevcbfun},setWindowRefreshCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowRefreshFunc;win.windowRefreshFunc=cbfun;return prevcbfun},onClickRequestPointerLock:e=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();e.preventDefault()}},setInputMode:(winid,mode,value)=>{var win=GLFW.WindowFromId(winid);if(!win)return;switch(mode){case 208897:{switch(value){case 212993:{win.inputModes[mode]=value;Module["canvas"].removeEventListener("click",GLFW.onClickRequestPointerLock,true);Module["canvas"].exitPointerLock();break}case 212994:{err("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented");break}case 212995:{win.inputModes[mode]=value;Module["canvas"].addEventListener("click",GLFW.onClickRequestPointerLock,true);Module["canvas"].requestPointerLock();break}default:{err(`glfwSetInputMode called with unknown value parameter value: ${value}`);break}}break}case 208898:{err("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented");break}case 208899:{err("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented");break}case 208900:{err("glfwSetInputMode called with GLFW_LOCK_KEY_MODS mode not implemented");break}case 3342341:{err("glfwSetInputMode called with GLFW_RAW_MOUSE_MOTION mode not implemented");break}default:{err(`glfwSetInputMode called with unknown mode parameter value: ${mode}`);break}}},getKey:(winid,key)=>{var win=GLFW.WindowFromId(winid);if(!win)return 0;return win.keys[key]},getMouseButton:(winid,button)=>{var win=GLFW.WindowFromId(winid);if(!win)return 0;return(win.buttons&1<0},getCursorPos:(winid,x,y)=>{HEAPF64[x>>3]=Browser.mouseX;HEAPF64[y>>3]=Browser.mouseY},getMousePos:(winid,x,y)=>{HEAP32[x>>2]=Browser.mouseX;HEAP32[y>>2]=Browser.mouseY},setCursorPos:(winid,x,y)=>{},getWindowPos:(winid,x,y)=>{var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){HEAP32[x>>2]=wx}if(y){HEAP32[y>>2]=wy}},setWindowPos:(winid,x,y)=>{var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:(winid,width,height)=>{var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){HEAP32[width>>2]=ww}if(height){HEAP32[height>>2]=wh}},setWindowSize:(winid,width,height)=>{var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){Browser.setCanvasSize(width,height)}},defaultWindowHints:()=>{GLFW.hints=Object.assign({},GLFW.defaultHints)},createWindow:(width,height,title,monitor,share)=>{var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;const canvas=Module["canvas"];var win=new GLFW_Window(id,canvas.clientWidth,canvas.clientHeight,canvas.width,canvas.height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;GLFW.adjustCanvasDimensions();return win.id},destroyWindow:winid=>{var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc){getWasmTableEntry(win.windowCloseFunc)(win.id)}GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i{},requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas);Browser.updateResizeListeners()}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas);Browser.updateResizeListeners()}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},updateCanvasDimensions(canvas,wNative,hNative){const scale=GLFW.getHiDPIScale();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{var win=GLFW.WindowFromId(winid);if(!win)return;const isHiDPIAware=GLFW.isHiDPIAware();win.attributes[attrib]=value;if(isHiDPIAware!==GLFW.isHiDPIAware())GLFW.adjustCanvasDimensions()},getDevicePixelRatio(){return typeof devicePixelRatio=="number"&&devicePixelRatio||1},isHiDPIAware(){if(GLFW.active)return GLFW.active.attributes[139276]>0;else return false},adjustCanvasDimensions(){const canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,canvas.clientWidth,canvas.clientHeight);Browser.updateResizeListeners()},getHiDPIScale(){return GLFW.isHiDPIAware()?GLFW.scale:1},onDevicePixelRatioChange(){GLFW.onWindowContentScaleChanged(GLFW.getDevicePixelRatio());GLFW.adjustCanvasDimensions()},GLFW2ParamToGLFW3Param:param=>{var table={196609:0,196610:0,196611:0,196612:0,196613:0,196614:0,131073:0,131074:0,131075:0,131076:0,131077:135169,131078:135170,131079:135171,131080:135172,131081:135173,131082:135174,131083:135183,131084:135175,131085:135176,131086:135177,131087:135178,131088:135179,131089:135180,131090:0,131091:135181,131092:139266,131093:139267,131094:139270,131095:139271,131096:139272};return table[param]}};var _glfwCreateStandardCursor=shape=>{};var _glfwCreateWindow=(width,height,title,monitor,share)=>GLFW.createWindow(width,height,title,monitor,share);var _glfwDestroyWindow=winid=>GLFW.destroyWindow(winid);var _glfwFocusWindow=winid=>{};var _glfwGetClipboardString=win=>{};var _glfwGetCurrentContext=()=>GLFW.active?GLFW.active.id:0;var _glfwGetCursorPos=(winid,x,y)=>GLFW.getCursorPos(winid,x,y);var _glfwGetFramebufferSize=(winid,width,height)=>{var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.framebufferWidth;wh=win.framebufferHeight}if(width){HEAP32[width>>2]=ww}if(height){HEAP32[height>>2]=wh}};var _glfwGetInputMode=(winid,mode)=>{var win=GLFW.WindowFromId(winid);if(!win)return;switch(mode){case 208897:{if(Browser.pointerLock){win.inputModes[mode]=212995}else{win.inputModes[mode]=212993}}}return win.inputModes[mode]};var _glfwGetJoystickAxes=(joy,count)=>{GLFW.refreshJoysticks();var state=GLFW.joys[joy];if(!state||!state.axes){HEAP32[count>>2]=0;return}HEAP32[count>>2]=state.axesCount;return state.axes};var _glfwGetJoystickButtons=(joy,count)=>{GLFW.refreshJoysticks();var state=GLFW.joys[joy];if(!state||!state.buttons){HEAP32[count>>2]=0;return}HEAP32[count>>2]=state.buttonsCount;return state.buttons};var _glfwGetKey=(winid,key)=>GLFW.getKey(winid,key);var _glfwGetMonitorContentScale=(monitor,x,y)=>{HEAPF32[x>>2]=GLFW.scale;HEAPF32[y>>2]=GLFW.scale};var _glfwGetMonitorPos=(monitor,x,y)=>{HEAP32[x>>2]=0;HEAP32[y>>2]=0};var _glfwGetMonitorWorkarea=(monitor,x,y,w,h)=>{HEAP32[x>>2]=0;HEAP32[y>>2]=0;HEAP32[w>>2]=screen.availWidth;HEAP32[h>>2]=screen.availHeight};var _glfwGetMonitors=count=>{HEAP32[count>>2]=1;if(!GLFW.monitors){GLFW.monitors=_malloc(4);HEAP32[GLFW.monitors>>2]=1}return GLFW.monitors};var _glfwGetTime=()=>GLFW.getTime()-GLFW.initialTime;var _glfwGetVideoMode=monitor=>0;var _glfwGetWindowAttrib=(winid,attrib)=>{var win=GLFW.WindowFromId(winid);if(!win)return 0;return win.attributes[attrib]};var _glfwGetWindowContentScale=(winid,x,y)=>{HEAPF32[x>>2]=GLFW.scale;HEAPF32[y>>2]=GLFW.scale};var _glfwGetWindowPos=(winid,x,y)=>GLFW.getWindowPos(winid,x,y);var _glfwGetWindowSize=(winid,width,height)=>GLFW.getWindowSize(winid,width,height);var _glfwInit=()=>{if(GLFW.windows)return 1;GLFW.initialTime=GLFW.getTime();GLFW.defaultWindowHints();GLFW.windows=new Array;GLFW.active=null;GLFW.scale=GLFW.getDevicePixelRatio();window.addEventListener("gamepadconnected",GLFW.onGamepadConnected,true);window.addEventListener("gamepaddisconnected",GLFW.onGamepadDisconnected,true);window.addEventListener("keydown",GLFW.onKeydown,true);window.addEventListener("keypress",GLFW.onKeyPress,true);window.addEventListener("keyup",GLFW.onKeyup,true);window.addEventListener("blur",GLFW.onBlur,true);GLFW.devicePixelRatioMQL=window.matchMedia("(resolution: "+GLFW.getDevicePixelRatio()+"dppx)");GLFW.devicePixelRatioMQL.addEventListener("change",GLFW.onDevicePixelRatioChange);Module["canvas"].addEventListener("touchmove",GLFW.onMousemove,true);Module["canvas"].addEventListener("touchstart",GLFW.onMouseButtonDown,true);Module["canvas"].addEventListener("touchcancel",GLFW.onMouseButtonUp,true);Module["canvas"].addEventListener("touchend",GLFW.onMouseButtonUp,true);Module["canvas"].addEventListener("mousemove",GLFW.onMousemove,true);Module["canvas"].addEventListener("mousedown",GLFW.onMouseButtonDown,true);Module["canvas"].addEventListener("mouseup",GLFW.onMouseButtonUp,true);Module["canvas"].addEventListener("wheel",GLFW.onMouseWheel,true);Module["canvas"].addEventListener("mousewheel",GLFW.onMouseWheel,true);Module["canvas"].addEventListener("mouseenter",GLFW.onMouseenter,true);Module["canvas"].addEventListener("mouseleave",GLFW.onMouseleave,true);Module["canvas"].addEventListener("drop",GLFW.onDrop,true);Module["canvas"].addEventListener("dragover",GLFW.onDragover,true);Browser.requestFullscreen=GLFW.requestFullscreen;Browser.calculateMouseCoords=GLFW.calculateMouseCoords;Browser.updateCanvasDimensions=GLFW.updateCanvasDimensions;Browser.resizeListeners.push((width,height)=>{if(GLFW.isHiDPIAware()){var canvas=Module["canvas"];GLFW.onCanvasResize(canvas.clientWidth,canvas.clientHeight,width,height)}else{GLFW.onCanvasResize(width,height,width,height)}});return 1};var _glfwMakeContextCurrent=winid=>{};var _glfwPollEvents=()=>{};var _glfwSetCharCallback=(winid,cbfun)=>GLFW.setCharCallback(winid,cbfun);var _glfwSetClipboardString=(win,string)=>{};var _glfwSetCursor=(winid,cursor)=>{};var _glfwSetCursorEnterCallback=(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.cursorEnterFunc;win.cursorEnterFunc=cbfun;return prevcbfun};var _glfwSetCursorPos=(winid,x,y)=>GLFW.setCursorPos(winid,x,y);var _glfwSetCursorPosCallback=(winid,cbfun)=>GLFW.setCursorPosCallback(winid,cbfun);var _glfwSetDropCallback=(winid,cbfun)=>GLFW.setDropCallback(winid,cbfun);var _glfwSetErrorCallback=cbfun=>{var prevcbfun=GLFW.errorFunc;GLFW.errorFunc=cbfun;return prevcbfun};var _glfwSetInputMode=(winid,mode,value)=>{GLFW.setInputMode(winid,mode,value)};var _glfwSetKeyCallback=(winid,cbfun)=>GLFW.setKeyCallback(winid,cbfun);var _glfwSetMonitorCallback=cbfun=>{var prevcbfun=GLFW.monitorFunc;GLFW.monitorFunc=cbfun;return prevcbfun};var _glfwSetMouseButtonCallback=(winid,cbfun)=>GLFW.setMouseButtonCallback(winid,cbfun);var _glfwSetScrollCallback=(winid,cbfun)=>GLFW.setScrollCallback(winid,cbfun);var _glfwSetWindowCloseCallback=(winid,cbfun)=>GLFW.setWindowCloseCallback(winid,cbfun);var _glfwSetWindowContentScaleCallback=(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowContentScaleFunc;win.windowContentScaleFunc=cbfun;return prevcbfun};var _glfwSetWindowFocusCallback=(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowFocusFunc;win.windowFocusFunc=cbfun;return prevcbfun};var _glfwSetWindowOpacity=(winid,opacity)=>{};var _glfwSetWindowPos=(winid,x,y)=>GLFW.setWindowPos(winid,x,y);var _glfwSetWindowPosCallback=(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowPosFunc;win.windowPosFunc=cbfun;return prevcbfun};var _glfwSetWindowRefreshCallback=(winid,cbfun)=>GLFW.setWindowRefreshCallback(winid,cbfun);var _glfwSetWindowSize=(winid,width,height)=>GLFW.setWindowSize(winid,width,height);var _glfwSetWindowSizeCallback=(winid,cbfun)=>GLFW.setWindowSizeCallback(winid,cbfun);var _glfwSetWindowTitle=(winid,title)=>GLFW.setWindowTitle(winid,title);var _glfwShowWindow=winid=>{};var _glfwSwapBuffers=winid=>GLFW.swapBuffers(winid);var _glfwSwapInterval=interval=>{interval=Math.abs(interval);if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval)};var _glfwTerminate=()=>{window.removeEventListener("gamepadconnected",GLFW.onGamepadConnected,true);window.removeEventListener("gamepaddisconnected",GLFW.onGamepadDisconnected,true);window.removeEventListener("keydown",GLFW.onKeydown,true);window.removeEventListener("keypress",GLFW.onKeyPress,true);window.removeEventListener("keyup",GLFW.onKeyup,true);window.removeEventListener("blur",GLFW.onBlur,true);Module["canvas"].removeEventListener("touchmove",GLFW.onMousemove,true);Module["canvas"].removeEventListener("touchstart",GLFW.onMouseButtonDown,true);Module["canvas"].removeEventListener("touchcancel",GLFW.onMouseButtonUp,true);Module["canvas"].removeEventListener("touchend",GLFW.onMouseButtonUp,true);Module["canvas"].removeEventListener("mousemove",GLFW.onMousemove,true);Module["canvas"].removeEventListener("mousedown",GLFW.onMouseButtonDown,true);Module["canvas"].removeEventListener("mouseup",GLFW.onMouseButtonUp,true);Module["canvas"].removeEventListener("wheel",GLFW.onMouseWheel,true);Module["canvas"].removeEventListener("mousewheel",GLFW.onMouseWheel,true);Module["canvas"].removeEventListener("mouseenter",GLFW.onMouseenter,true);Module["canvas"].removeEventListener("mouseleave",GLFW.onMouseleave,true);Module["canvas"].removeEventListener("drop",GLFW.onDrop,true);Module["canvas"].removeEventListener("dragover",GLFW.onDragover,true);if(GLFW.devicePixelRatioMQL)GLFW.devicePixelRatioMQL.removeEventListener("change",GLFW.onDevicePixelRatioChange);Module["canvas"].width=Module["canvas"].height=1;GLFW.windows=null;GLFW.active=null};var _glfwWaitEvents=()=>{};var _glfwWindowHint=(target,hint)=>{GLFW.hints[target]=hint};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i(___wasm_call_ctors=wasmExports["Lb"])();var _upload_file_return=Module["_upload_file_return"]=(a0,a1,a2,a3,a4,a5)=>(_upload_file_return=Module["_upload_file_return"]=wasmExports["Mb"])(a0,a1,a2,a3,a4,a5);var _runApp=Module["_runApp"]=()=>(_runApp=Module["_runApp"]=wasmExports["Nb"])();var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["Ob"])(a0,a1);var __Z35ma_device__on_notification_unlockedP9ma_device=Module["__Z35ma_device__on_notification_unlockedP9ma_device"]=a0=>(__Z35ma_device__on_notification_unlockedP9ma_device=Module["__Z35ma_device__on_notification_unlockedP9ma_device"]=wasmExports["Pb"])(a0);var _ma_malloc_emscripten=Module["_ma_malloc_emscripten"]=(a0,a1)=>(_ma_malloc_emscripten=Module["_ma_malloc_emscripten"]=wasmExports["Qb"])(a0,a1);var _ma_free_emscripten=Module["_ma_free_emscripten"]=(a0,a1)=>(_ma_free_emscripten=Module["_ma_free_emscripten"]=wasmExports["Rb"])(a0,a1);var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=(a0,a1,a2)=>(_ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=wasmExports["Sb"])(a0,a1,a2);var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=(a0,a1,a2)=>(_ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=wasmExports["Tb"])(a0,a1,a2);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["Ub"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["Vb"])(a0);var __emscripten_tempret_set=a0=>(__emscripten_tempret_set=wasmExports["Xb"])(a0);var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["Yb"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["Zb"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["_b"])();var ___cxa_is_pointer_type=a0=>(___cxa_is_pointer_type=wasmExports["$b"])(a0);Module["ccall"]=ccall;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args=[]){var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();Module["onRuntimeInitialized"]?.();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run(); +var Module=typeof Module!="undefined"?Module:{};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";if(ENVIRONMENT_IS_NODE){}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);var ret=fs.readFileSync(filename);return ret};readAsync=(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return new Promise((resolve,reject)=>{fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)reject(err);else resolve(binary?data.buffer:data)})})};if(!Module["thisProgram"]&&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",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}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.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=url=>{if(isFileURI(url)){return new Promise((reject,resolve)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response)}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function findWasmBinary(){var f="MegaBoy.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{a:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["Lb"];updateMemoryViews();wasmTable=wasmExports["Xb"];addOnInit(wasmExports["Mb"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;var ASM_CONSTS={157600:()=>window.screen.width*window.devicePixelRatio,157658:()=>window.screen.height*window.devicePixelRatio,157717:()=>window.devicePixelRatio,157753:()=>window.devicePixelRatio,157789:()=>window.innerWidth,157819:()=>window.innerHeight,157850:()=>{FS.mkdir("/data");FS.mount(IDBFS,{autoPersist:true},"/data");FS.syncfs(true,function(err){if(err!=null){console.log(err)}FS.mkdir("/batterySaves");FS.mkdir("/bootroms");FS.mount(IDBFS,{autoPersist:true},"/batterySaves");FS.mount(IDBFS,{autoPersist:true},"/bootroms");FS.syncfs(true,function(err){if(err!=null){console.log(err)}});Module.ccall("runApp",null,[],[])})},158270:($0,$1,$2,$3,$4)=>{if(typeof window==="undefined"||(window.AudioContext||window.webkitAudioContext)===undefined){return 0}if(typeof window.miniaudio==="undefined"){window.miniaudio={referenceCount:0};window.miniaudio.device_type={};window.miniaudio.device_type.playback=$0;window.miniaudio.device_type.capture=$1;window.miniaudio.device_type.duplex=$2;window.miniaudio.device_state={};window.miniaudio.device_state.stopped=$3;window.miniaudio.device_state.started=$4;miniaudio.devices=[];miniaudio.track_device=function(device){for(var iDevice=0;iDevice0){if(miniaudio.devices[miniaudio.devices.length-1]==null){miniaudio.devices.pop()}else{break}}};miniaudio.untrack_device=function(device){for(var iDevice=0;iDevice{Module._ma_device__on_notification_unlocked(device.pDevice)},error=>{console.error("Failed to resume audiocontext",error)})}}miniaudio.unlock_event_types.map(function(event_type){document.removeEventListener(event_type,miniaudio.unlock,true)})};miniaudio.unlock_event_types.map(function(event_type){document.addEventListener(event_type,miniaudio.unlock,true)})}window.miniaudio.referenceCount+=1;return 1},160428:()=>{if(typeof window.miniaudio!=="undefined"){window.miniaudio.referenceCount-=1;if(window.miniaudio.referenceCount===0){delete window.miniaudio}}},160592:()=>navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined,160696:()=>{try{var temp=new(window.AudioContext||window.webkitAudioContext);var sampleRate=temp.sampleRate;temp.close();return sampleRate}catch(e){return 0}},160867:($0,$1,$2,$3,$4,$5)=>{var deviceType=$0;var channels=$1;var sampleRate=$2;var bufferSize=$3;var pIntermediaryBuffer=$4;var pDevice=$5;if(typeof window.miniaudio==="undefined"){return-1}var device={};var audioContextOptions={};if(deviceType==window.miniaudio.device_type.playback&&sampleRate!=0){audioContextOptions.sampleRate=sampleRate}device.webaudio=new(window.AudioContext||window.webkitAudioContext)(audioContextOptions);device.webaudio.suspend();device.state=window.miniaudio.device_state.stopped;var channelCountIn=0;var channelCountOut=channels;if(deviceType!=window.miniaudio.device_type.playback){channelCountIn=channels}device.scriptNode=device.webaudio.createScriptProcessor(bufferSize,channelCountIn,channelCountOut);device.scriptNode.onaudioprocess=function(e){if(device.intermediaryBufferView==null||device.intermediaryBufferView.length==0){device.intermediaryBufferView=new Float32Array(Module.HEAPF32.buffer,pIntermediaryBuffer,bufferSize*channels)}if(deviceType==miniaudio.device_type.capture||deviceType==miniaudio.device_type.duplex){for(var iChannel=0;iChannelminiaudio.get_device_by_index($0).webaudio.sampleRate,163761:$0=>{var device=miniaudio.get_device_by_index($0);if(device.scriptNode!==undefined){device.scriptNode.onaudioprocess=function(e){};device.scriptNode.disconnect();device.scriptNode=undefined}if(device.streamNode!==undefined){device.streamNode.disconnect();device.streamNode=undefined}device.webaudio.close();device.webaudio=undefined;device.pDevice=undefined},164154:$0=>{miniaudio.untrack_device_by_index($0)},164197:$0=>{var device=miniaudio.get_device_by_index($0);device.webaudio.resume();device.state=miniaudio.device_state.started},164322:$0=>{var device=miniaudio.get_device_by_index($0);device.webaudio.suspend();device.state=miniaudio.device_state.stopped}};function upload(accept_types,callback,callback_data){globalThis["open_file"]=function(e){const file_reader=new FileReader;file_reader.onload=event=>{const uint8Arr=new Uint8Array(event.target.result);const data_ptr=Module["_malloc"](uint8Arr.length);const data_on_heap=new Uint8Array(Module["HEAPU8"].buffer,data_ptr,uint8Arr.length);data_on_heap.set(uint8Arr);Module["ccall"]("upload_file_return","number",["string","string","number","number","number","number"],[event.target.filename,event.target.mime_type,data_on_heap.byteOffset,uint8Arr.length,callback,callback_data]);Module["_free"](data_ptr)};file_reader.filename=e.target.files[0].name;file_reader.mime_type=e.target.files[0].type;file_reader.readAsArrayBuffer(e.target.files[0])};var file_selector=document.createElement("input");file_selector.setAttribute("type","file");file_selector.setAttribute("onchange",'globalThis["open_file"](event)');file_selector.style.outline="none";file_selector.addEventListener("cancel",()=>{Module["ccall"]("upload_file_return","number",["string","string","number","number","number","number"],["","",0,0,callback,callback_data])});file_selector.setAttribute("accept",UTF8ToString(accept_types));var is_safari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);if(is_safari){var dialog=document.createElement("dialog");dialog.setAttribute("id","EmJsFileDialog");file_selector.setAttribute("onclick",'var dg = document.getElementById("EmJsFileDialog"); dg.close(); dg.remove()');dialog.appendChild(file_selector);var cancel_button=document.createElement("button");cancel_button.textContent="Cancel";cancel_button.setAttribute("onclick",'var dg = document.getElementById("EmJsFileDialog"); dg.close(); dg.remove()');var lineBreak=document.createElement("br");dialog.appendChild(lineBreak);dialog.appendChild(cancel_button);document.body.append(dialog);dialog.showModal()}else{file_selector.click()}}function download(filename,mime_type,buffer,buffer_size){var a=document.createElement("a");a.download=UTF8ToString(filename);a.href=URL.createObjectURL(new Blob([new Uint8Array(Module["HEAPU8"].buffer,buffer,buffer_size)],{type:UTF8ToString(mime_type)}));a.click()}function ImGui_ImplGlfw_EmscriptenOpenURL(url){url=url?UTF8ToString(url):null;if(url)window.open(url,"_blank")}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}get_exception_ptr(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{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 intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var mmapAlloc=size=>{abort()};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url).then(arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},err=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var IDBFS={dbs:{},indexedDB:()=>{if(typeof indexedDB!="undefined")return indexedDB;var ret=null;if(typeof window=="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",queuePersist:mount=>{function onPersistComplete(){if(mount.idbPersistState==="again")startPersist();else mount.idbPersistState=0}function startPersist(){mount.idbPersistState="idb";IDBFS.syncfs(mount,false,onPersistComplete)}if(!mount.idbPersistState){mount.idbPersistState=setTimeout(startPersist,0)}else if(mount.idbPersistState==="idb"){mount.idbPersistState="again"}},mount:mount=>{var mnt=MEMFS.mount(mount);if(mount?.opts?.autoPersist){mnt.idbPersistState=0;var memfs_node_ops=mnt.node_ops;mnt.node_ops=Object.assign({},mnt.node_ops);mnt.node_ops.mknod=(parent,name,mode,dev)=>{var node=memfs_node_ops.mknod(parent,name,mode,dev);node.node_ops=mnt.node_ops;node.idbfs_mount=mnt.mount;node.memfs_stream_ops=node.stream_ops;node.stream_ops=Object.assign({},node.stream_ops);node.stream_ops.write=(stream,buffer,offset,length,position,canOwn)=>{stream.node.isModified=true;return node.memfs_stream_ops.write(stream,buffer,offset,length,position,canOwn)};node.stream_ops.close=stream=>{var n=stream.node;if(n.isModified){IDBFS.queuePersist(n.idbfs_mount);n.isModified=false}if(n.memfs_stream_ops.close)return n.memfs_stream_ops.close(stream)};return node};mnt.node_ops.mkdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.mkdir(...args));mnt.node_ops.rmdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rmdir(...args));mnt.node_ops.symlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.symlink(...args));mnt.node_ops.unlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.unlink(...args));mnt.node_ops.rename=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rename(...args))}return mnt},syncfs:(mount,populate,callback)=>{IDBFS.getLocalSet(mount,(err,local)=>{if(err)return callback(err);IDBFS.getRemoteSet(mount,(err,remote)=>{if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},quit:()=>{Object.values(IDBFS.dbs).forEach(value=>value.close());IDBFS.dbs={}},getDB:(name,callback)=>{var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=()=>{db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=e=>{callback(e.target.error);e.preventDefault()}},getLocalSet:(mount,callback)=>{var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return p=>PATH.join2(root,p)}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push(...FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:(mount,callback)=>{var entries={};IDBFS.getDB(mount.mountpoint,(err,db)=>{if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=e=>{callback(e.target.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=event=>{var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:(path,callback)=>{var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:(path,entry,callback)=>{try{if(FS.isDir(entry["mode"])){FS.mkdirTree(path,entry["mode"])}else if(FS.isFile(entry["mode"])){FS.writeFile(path,entry["contents"],{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry["mode"]);FS.utime(path,entry["timestamp"],entry["timestamp"])}catch(e){return callback(e)}callback(null)},removeLocalEntry:(path,callback)=>{try{var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:(store,path,callback)=>{var req=store.get(path);req.onsuccess=event=>callback(null,event.target.result);req.onerror=e=>{callback(e.target.error);e.preventDefault()}},storeRemoteEntry:(store,path,entry,callback)=>{try{var req=store.put(entry,path)}catch(e){callback(e);return}req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},removeRemoteEntry:(store,path,callback)=>{var req=store.delete(path);req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},reconcile:(src,dst,callback)=>{var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e["timestamp"].getTime()!=e2["timestamp"].getTime()){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){if(!src.entries[key]){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=transaction.onabort=e=>{done(e.target.error);e.preventDefault()};transaction.oncomplete=e=>{if(!errored){callback(null)}};create.sort().forEach(path=>{if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(err,entry)=>{if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,(err,entry)=>{if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(path=>{if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{constructor(errno){this.name="ErrnoError";this.errno=errno}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;iFS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS:MEMFS,IDBFS:IDBFS}},init(input,output,error){FS.init.initialized=true;Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function syscallGetVarargI(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>{abort("")};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};var setTempRet0=val=>__emscripten_tempret_set(val);var __mktime_js=function(tmPtr){var ret=(()=>{var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){return-1}return timeMs/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset{readEmAsmArgsArray.length=0;var ch;while(ch=HEAPU8[sigPtr++]){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?HEAPU32[buf>>2]:ch==105?HEAP32[buf>>2]:HEAPF64[buf>>3]);buf+=wide?8:4}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};var _emscripten_asm_const_double=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);var _emscripten_set_main_loop_timing=(mode,value)=>{Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof Browser.setImmediate=="undefined"){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);Browser.setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){Module["setImmediates"]??=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}else{Browser.setImmediate=setImmediate}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){Browser.setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0};var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var setMainLoop=(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)=>{Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;if(typeof SDL=="object")SDL.audio?.queueNewAudioData?.();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var safeSetTimeout=(func,timeout)=>setTimeout(()=>{callUserCallback(func)},timeout);var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}};var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);preloadedImages[name]=canvas;URL.revokeObjectURL(url);onload?.(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);onerror?.()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;preloadedAudios[name]=audio;onload?.(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err(`warning: browser could not fully decode audio ${name}, trying slower base64 approach`);function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:2};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},destroyContext(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame(func){return Browser.requestAnimationFrame(()=>{callUserCallback(func)})},getMimetype(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia(func){window.getUserMedia||=navigator["getUserMedia"]||navigator["mozGetUserMedia"];window.getUserMedia(func)},getMovementX(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(pageX,pageY){var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;var adjustedX=pageX-(scrollX+rect.left);var adjustedY=pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);return{x:adjustedX,y:adjustedY}},setMouseCoords(pageX,pageY){const{x:x,y:y}=Browser.calculateMouseCoords(pageX,pageY);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y},calculateMouseEvent(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h{Browser.mainLoop.pause();Browser.mainLoop.func=null};var _emscripten_date_now=()=>Date.now();var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var JSEvents={removeAllEventListeners(){while(JSEvents.eventHandlers.length){JSEvents._removeHandler(JSEvents.eventHandlers.length-1)}JSEvents.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var call of JSEvents.deferredCalls){if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedencecall.targetFunction!=targetFunction)},canPerformEventHandlerRequests(){if(navigator.userActivation){return navigator.userActivation.isActive}return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(!JSEvents.canPerformEventHandlerRequests()){return}var deferredCalls=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var call of deferredCalls){call.targetFunction(...call.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(target,eventTypeString)=>{for(var i=0;icString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var registerBeforeUnloadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString)=>{var beforeUnloadEventHandlerFunc=(e=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};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_beforeunload_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;return registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload")};var _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};var _emscripten_set_main_loop=(func,fps,simulateInfiniteLoop)=>{var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)};var registerUiEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.uiEvent)JSEvents.uiEvent=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=(e=event)=>{if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>2]=0;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|0;HEAP32[uiEvent+32>>2]=pageYOffset|0;if(getWasmTableEntry(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_resize_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread);var fillVisibilityChangeEventData=eventStruct=>{var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP8[eventStruct]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState};var registerVisibilityChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.visibilityChangeEvent)JSEvents.visibilityChangeEvent=_malloc(8);var visibilityChangeEventHandlerFunc=(e=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};return JSEvents.registerOrRemoveHandler(eventHandler)};var _emscripten_set_visibilitychange_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(!specialHTMLTargets[1]){return-4}return registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread)};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw=ctx=>!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"));var getEmscriptenSupportedExtensions=ctx=>{var supportedExtensions=["EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i>2]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i>2]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>2],len)}return source},createContext:(canvas,webGLContextAttributes)=>{if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=canvas.getContext("webgl2",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:(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:contextHandle=>{GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext?.GLctx;return!(contextHandle&&!GLctx)},getContext:contextHandle=>GL.contexts[contextHandle],deleteContext:contextHandle=>{if(GL.currentContext===GL.contexts[contextHandle]){GL.currentContext=null}if(typeof JSEvents=="object"){JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas)}if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas){GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined}GL.contexts[contextHandle]=null},initExtensions:context=>{context||=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}webgl_enable_WEBGL_multi_draw(GLctx);getEmscriptenSupportedExtensions(GLctx).forEach(ext=>{if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var _glActiveTexture=x0=>GLctx.activeTexture(x0);var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};var _glBindBuffer=(target,buffer)=>{if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])};var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};var _glBindVertexArrayOES=_glBindVertexArray;var _glBlendEquation=x0=>GLctx.blendEquation(x0);var _glBlendEquationSeparate=(x0,x1)=>GLctx.blendEquationSeparate(x0,x1);var _glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);var _glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);var _glBufferData=(target,size,data,usage)=>{if(true){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}return}GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)};var _glBufferSubData=(target,offset,size,data)=>{if(true){size&&GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))};var _glClear=x0=>GLctx.clear(x0);var _glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};var _glDeleteVertexArrays=(n,vaos)=>{for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}};var _glDeleteVertexArraysOES=_glDeleteVertexArrays;var _glDetachShader=(program,shader)=>{GLctx.detachShader(GL.programs[program],GL.shaders[shader])};var _glDisable=x0=>GLctx.disable(x0);var _glDrawElements=(mode,count,type,indices)=>{GLctx.drawElements(mode,count,type,indices)};var _glEnable=x0=>GLctx.enable(x0);var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};var _glGenBuffers=(n,buffers)=>{GL.genObject(n,buffers,"createBuffer",GL.buffers)};var _glGenTextures=(n,textures)=>{GL.genObject(n,textures,"createTexture",GL.textures)};var _glGenVertexArrays=(n,arrays)=>{GL.genObject(n,arrays,"createVertexArray",GL.vaos)};var _glGenVertexArraysOES=_glGenVertexArrays;var _glGenerateMipmap=x0=>GLctx.generateMipmap(x0);var _glGetAttribLocation=(program,name)=>GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name));var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>2]=num;var lower=HEAPU32[ptr>>2];HEAPU32[ptr+4>>2]=(num-lower)/4294967296};var webglGetExtensions=function $webglGetExtensions(){var exts=getEmscriptenSupportedExtensions(GLctx);exts=exts.concat(exts.map(e=>"GL_"+e));return exts};var emscriptenWebGLGet=(name_,p,type)=>{if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}ret=webglGetExtensions().length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Unknown object returned from WebGL getParameter(${name_})! (error: ${e})`);return}}break;default:GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Native code calling glGet${type}v(${name_}) and it returns ${result} of type ${typeof result}!`);return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p]=ret?1:0;break}};var _glGetIntegerv=(name_,p)=>emscriptenWebGLGet(name_,p,0);var _glGetProgramInfoLog=(program,maxLength,length,infoLog)=>{var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetProgramiv=(program,pname,p)=>{if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}};var _glGetShaderInfoLog=(shader,maxLength,length,infoLog)=>{var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetShaderiv=(shader,pname,p)=>{if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}};var jstoi_q=str=>parseInt(str);var webglGetLeftBracePos=name=>name.slice(-1)=="]"&&name.lastIndexOf("[");var webglPrepareUniformLocationsBeforeFirstUse=program=>{var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j{name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndexGLctx.isEnabled(x0);var _glIsProgram=program=>{program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)};var _glLinkProgram=program=>{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};var computeUnpackAlignedImageSize=(width,height,sizePerPixel)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=(GL.unpackRowLength||width)*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,GL.unpackAlignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel);return heap.subarray(toTypedArrayIndex(pixels,heap),toTypedArrayIndex(pixels+bytes,heap))};var _glReadPixels=(x,y,width,height,format,type,pixels)=>{if(true){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels);return}var heap=heapObjectForWebGLType(type);var target=toTypedArrayIndex(pixels,heap);GLctx.readPixels(x,y,width,height,format,type,heap,target);return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)};var _glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);var _glShaderSource=(shader,count,string,length)=>{var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)};var _glTexImage2D=(target,level,internalFormat,width,height,border,format,type,pixels)=>{if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels);return}if(pixels){var heap=heapObjectForWebGLType(type);var index=toTypedArrayIndex(pixels,heap);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,index);return}}var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null;GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)};var _glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);var _glTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,type,pixels)=>{if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels);return}if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,heap,toTypedArrayIndex(pixels,heap));return}}var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0):null;GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)};var webglGetUniformLocation=location=>{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};var _glUniformMatrix4fv=(location,count,transpose,value)=>{count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16)};var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};var _glVertexAttribPointer=(index,size,type,normalized,stride,ptr)=>{GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)};var _glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);function GLFW_Window(id,width,height,framebufferWidth,framebufferHeight,title,monitor,share){this.id=id;this.x=0;this.y=0;this.fullscreen=false;this.storedX=0;this.storedY=0;this.width=width;this.height=height;this.framebufferWidth=framebufferWidth;this.framebufferHeight=framebufferHeight;this.storedWidth=width;this.storedHeight=height;this.title=title;this.monitor=monitor;this.share=share;this.attributes=Object.assign({},GLFW.hints);this.inputModes={208897:212993,208898:0,208899:0};this.buttons=0;this.keys=new Array;this.domKeys=new Array;this.shouldClose=0;this.title=null;this.windowPosFunc=0;this.windowSizeFunc=0;this.windowCloseFunc=0;this.windowRefreshFunc=0;this.windowFocusFunc=0;this.windowIconifyFunc=0;this.windowMaximizeFunc=0;this.framebufferSizeFunc=0;this.windowContentScaleFunc=0;this.mouseButtonFunc=0;this.cursorPosFunc=0;this.cursorEnterFunc=0;this.scrollFunc=0;this.dropFunc=0;this.keyFunc=0;this.charFunc=0;this.userptr=0}var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var _emscripten_set_window_title=title=>document.title=UTF8ToString(title);var GLFW={WindowFromId:id=>{if(id<=0||!GLFW.windows)return null;return GLFW.windows[id-1]},joystickFunc:0,errorFunc:0,monitorFunc:0,active:null,scale:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,devicePixelRatioMQL:null,hints:null,primaryTouchId:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,131082:0,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0,139276:0},DOMToGLFWKeyCode:keycode=>{switch(keycode){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 96;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 224:return 343;case 93:return 348;default:return-1}},getModBits:win=>{var mod=0;if(win.keys[340])mod|=1;if(win.keys[341])mod|=2;if(win.keys[342])mod|=4;if(win.keys[343]||win.keys[348])mod|=8;return mod},onKeyPress:event=>{if(!GLFW.active||!GLFW.active.charFunc)return;if(event.ctrlKey||event.metaKey)return;var charCode=event.charCode;if(charCode==0||charCode>=0&&charCode<=31)return;getWasmTableEntry(GLFW.active.charFunc)(GLFW.active.id,charCode)},onKeyChanged:(keyCode,status)=>{if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(keyCode);if(key==-1)return;var repeat=status&&GLFW.active.keys[key];GLFW.active.keys[key]=status;GLFW.active.domKeys[keyCode]=status;if(GLFW.active.keyFunc){if(repeat)status=2;getWasmTableEntry(GLFW.active.keyFunc)(GLFW.active.id,key,keyCode,status,GLFW.getModBits(GLFW.active))}},onGamepadConnected:event=>{GLFW.refreshJoysticks()},onGamepadDisconnected:event=>{GLFW.refreshJoysticks()},onKeydown:event=>{GLFW.onKeyChanged(event.keyCode,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}},onKeyup:event=>{GLFW.onKeyChanged(event.keyCode,0)},onBlur:event=>{if(!GLFW.active)return;for(var i=0;i{if(!GLFW.active)return;if(event.type==="touchmove"){event.preventDefault();let primaryChanged=false;for(let i of event.changedTouches){if(GLFW.primaryTouchId===i.identifier){Browser.setMouseCoords(i.pageX,i.pageY);primaryChanged=true;break}}if(!primaryChanged){return}}else{Browser.calculateMouseEvent(event)}if(event.target!=Module["canvas"]||!GLFW.active.cursorPosFunc)return;if(GLFW.active.cursorPosFunc){getWasmTableEntry(GLFW.active.cursorPosFunc)(GLFW.active.id,Browser.mouseX,Browser.mouseY)}},DOMToGLFWMouseButton:event=>{var eventButton=event["button"];if(eventButton>0){if(eventButton==1){eventButton=2}else{eventButton=1}}return eventButton},onMouseenter:event=>{if(!GLFW.active)return;if(event.target!=Module["canvas"])return;if(GLFW.active.cursorEnterFunc){getWasmTableEntry(GLFW.active.cursorEnterFunc)(GLFW.active.id,1)}},onMouseleave:event=>{if(!GLFW.active)return;if(event.target!=Module["canvas"])return;if(GLFW.active.cursorEnterFunc){getWasmTableEntry(GLFW.active.cursorEnterFunc)(GLFW.active.id,0)}},onMouseButtonChanged:(event,status)=>{if(!GLFW.active)return;if(event.target!=Module["canvas"])return;const isTouchType=event.type==="touchstart"||event.type==="touchend"||event.type==="touchcancel";let eventButton=0;if(isTouchType){event.preventDefault();let primaryChanged=false;if(GLFW.primaryTouchId===null&&event.type==="touchstart"&&event.targetTouches.length>0){const chosenTouch=event.targetTouches[0];GLFW.primaryTouchId=chosenTouch.identifier;Browser.setMouseCoords(chosenTouch.pageX,chosenTouch.pageY);primaryChanged=true}else if(event.type==="touchend"||event.type==="touchcancel"){for(let i of event.changedTouches){if(GLFW.primaryTouchId===i.identifier){GLFW.primaryTouchId=null;primaryChanged=true;break}}}if(!primaryChanged){return}}else{Browser.calculateMouseEvent(event);eventButton=GLFW.DOMToGLFWMouseButton(event)}if(status==1){GLFW.active.buttons|=1<{if(!GLFW.active)return;GLFW.onMouseButtonChanged(event,1)},onMouseButtonUp:event=>{if(!GLFW.active)return;GLFW.onMouseButtonChanged(event,0)},onMouseWheel:event=>{var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=delta;if(event.type=="mousewheel"){sx=event.wheelDeltaX}else{sx=event.deltaX}getWasmTableEntry(GLFW.active.scrollFunc)(GLFW.active.id,sx,sy);event.preventDefault()},onCanvasResize:(width,height,framebufferWidth,framebufferHeight)=>{if(!GLFW.active)return;var resizeNeeded=false;if(document["fullscreen"]||document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){if(!GLFW.active.fullscreen){resizeNeeded=width!=screen.width||height!=screen.height;GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.x=GLFW.active.y=0;GLFW.active.width=screen.width;GLFW.active.height=screen.height;GLFW.active.fullscreen=true}}else if(GLFW.active.fullscreen==true){resizeNeeded=width!=GLFW.active.storedWidth||height!=GLFW.active.storedHeight;GLFW.active.x=GLFW.active.storedX;GLFW.active.y=GLFW.active.storedY;GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight;GLFW.active.fullscreen=false}if(resizeNeeded){Browser.setCanvasSize(GLFW.active.width,GLFW.active.height)}else if(GLFW.active.width!=width||GLFW.active.height!=height||GLFW.active.framebufferWidth!=framebufferWidth||GLFW.active.framebufferHeight!=framebufferHeight){GLFW.active.width=width;GLFW.active.height=height;GLFW.active.framebufferWidth=framebufferWidth;GLFW.active.framebufferHeight=framebufferHeight;GLFW.onWindowSizeChanged();GLFW.onFramebufferSizeChanged()}},onWindowSizeChanged:()=>{if(!GLFW.active)return;if(GLFW.active.windowSizeFunc){getWasmTableEntry(GLFW.active.windowSizeFunc)(GLFW.active.id,GLFW.active.width,GLFW.active.height)}},onFramebufferSizeChanged:()=>{if(!GLFW.active)return;if(GLFW.active.framebufferSizeFunc){getWasmTableEntry(GLFW.active.framebufferSizeFunc)(GLFW.active.id,GLFW.active.framebufferWidth,GLFW.active.framebufferHeight)}},onWindowContentScaleChanged:scale=>{GLFW.scale=scale;if(!GLFW.active)return;if(GLFW.active.windowContentScaleFunc){getWasmTableEntry(GLFW.active.windowContentScaleFunc)(GLFW.active.id,GLFW.scale,GLFW.scale)}},getTime:()=>_emscripten_get_now()/1e3,setWindowTitle:(winid,title)=>{var win=GLFW.WindowFromId(winid);if(!win)return;win.title=title;if(GLFW.active.id==win.id){_emscripten_set_window_title(title)}},setJoystickCallback:cbfun=>{var prevcbfun=GLFW.joystickFunc;GLFW.joystickFunc=cbfun;GLFW.refreshJoysticks();return prevcbfun},joys:{},lastGamepadState:[],lastGamepadStateFrame:null,refreshJoysticks:()=>{if(Browser.mainLoop.currentFrameNumber!==GLFW.lastGamepadStateFrame||!Browser.mainLoop.currentFrameNumber){GLFW.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads||[];GLFW.lastGamepadStateFrame=Browser.mainLoop.currentFrameNumber;for(var joy=0;joy>2]=gamepad.axes[i]}}else{if(GLFW.joys[joy]){out("glfw joystick disconnected",joy);if(GLFW.joystickFunc){getWasmTableEntry(GLFW.joystickFunc)(joy,262146)}_free(GLFW.joys[joy].id);_free(GLFW.joys[joy].buttons);_free(GLFW.joys[joy].axes);delete GLFW.joys[joy]}}}}},setKeyCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.keyFunc;win.keyFunc=cbfun;return prevcbfun},setCharCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.charFunc;win.charFunc=cbfun;return prevcbfun},setMouseButtonCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.mouseButtonFunc;win.mouseButtonFunc=cbfun;return prevcbfun},setCursorPosCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.cursorPosFunc;win.cursorPosFunc=cbfun;return prevcbfun},setScrollCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.scrollFunc;win.scrollFunc=cbfun;return prevcbfun},setDropCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.dropFunc;win.dropFunc=cbfun;return prevcbfun},onDrop:event=>{if(!GLFW.active||!GLFW.active.dropFunc)return;if(!event.dataTransfer||!event.dataTransfer.files||event.dataTransfer.files.length==0)return;event.preventDefault();var filenames=_malloc(event.dataTransfer.files.length*4);var filenamesArray=[];var count=event.dataTransfer.files.length;var written=0;var drop_dir=".glfw_dropped_files";FS.createPath("/",drop_dir);function save(file){var path="/"+drop_dir+"/"+file.name.replace(/\//g,"_");var reader=new FileReader;reader.onloadend=e=>{if(reader.readyState!=2){++written;out("failed to read dropped file: "+file.name+": "+reader.error);return}var data=e.target.result;FS.writeFile(path,new Uint8Array(data));if(++written===count){getWasmTableEntry(GLFW.active.dropFunc)(GLFW.active.id,count,filenames);for(var i=0;i>2]=filename}for(var i=0;i{if(!GLFW.active||!GLFW.active.dropFunc)return;event.preventDefault();return false},setWindowSizeCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowSizeFunc;win.windowSizeFunc=cbfun;return prevcbfun},setWindowCloseCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowCloseFunc;win.windowCloseFunc=cbfun;return prevcbfun},setWindowRefreshCallback:(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowRefreshFunc;win.windowRefreshFunc=cbfun;return prevcbfun},onClickRequestPointerLock:e=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();e.preventDefault()}},setInputMode:(winid,mode,value)=>{var win=GLFW.WindowFromId(winid);if(!win)return;switch(mode){case 208897:{switch(value){case 212993:{win.inputModes[mode]=value;Module["canvas"].removeEventListener("click",GLFW.onClickRequestPointerLock,true);Module["canvas"].exitPointerLock();break}case 212994:{err("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented");break}case 212995:{win.inputModes[mode]=value;Module["canvas"].addEventListener("click",GLFW.onClickRequestPointerLock,true);Module["canvas"].requestPointerLock();break}default:{err(`glfwSetInputMode called with unknown value parameter value: ${value}`);break}}break}case 208898:{err("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented");break}case 208899:{err("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented");break}case 208900:{err("glfwSetInputMode called with GLFW_LOCK_KEY_MODS mode not implemented");break}case 3342341:{err("glfwSetInputMode called with GLFW_RAW_MOUSE_MOTION mode not implemented");break}default:{err(`glfwSetInputMode called with unknown mode parameter value: ${mode}`);break}}},getKey:(winid,key)=>{var win=GLFW.WindowFromId(winid);if(!win)return 0;return win.keys[key]},getMouseButton:(winid,button)=>{var win=GLFW.WindowFromId(winid);if(!win)return 0;return(win.buttons&1<0},getCursorPos:(winid,x,y)=>{HEAPF64[x>>3]=Browser.mouseX;HEAPF64[y>>3]=Browser.mouseY},getMousePos:(winid,x,y)=>{HEAP32[x>>2]=Browser.mouseX;HEAP32[y>>2]=Browser.mouseY},setCursorPos:(winid,x,y)=>{},getWindowPos:(winid,x,y)=>{var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}if(x){HEAP32[x>>2]=wx}if(y){HEAP32[y>>2]=wy}},setWindowPos:(winid,x,y)=>{var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y},getWindowSize:(winid,width,height)=>{var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}if(width){HEAP32[width>>2]=ww}if(height){HEAP32[height>>2]=wh}},setWindowSize:(winid,width,height)=>{var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){Browser.setCanvasSize(width,height)}},defaultWindowHints:()=>{GLFW.hints=Object.assign({},GLFW.defaultHints)},createWindow:(width,height,title,monitor,share)=>{var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){Browser.requestFullscreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i0;if(i==GLFW.windows.length){if(useWebGL){var contextAttributes={antialias:GLFW.hints[135181]>1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0,alpha:GLFW.hints[135172]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}else{Browser.init()}}if(!Module.ctx&&useWebGL)return 0;const canvas=Module["canvas"];var win=new GLFW_Window(id,canvas.clientWidth,canvas.clientHeight,canvas.width,canvas.height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;GLFW.adjustCanvasDimensions();return win.id},destroyWindow:winid=>{var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc){getWasmTableEntry(win.windowCloseFunc)(win.id)}GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i{},requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas);Browser.updateResizeListeners()}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas);Browser.updateResizeListeners()}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},updateCanvasDimensions(canvas,wNative,hNative){const scale=GLFW.getHiDPIScale();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{var win=GLFW.WindowFromId(winid);if(!win)return;const isHiDPIAware=GLFW.isHiDPIAware();win.attributes[attrib]=value;if(isHiDPIAware!==GLFW.isHiDPIAware())GLFW.adjustCanvasDimensions()},getDevicePixelRatio(){return typeof devicePixelRatio=="number"&&devicePixelRatio||1},isHiDPIAware(){if(GLFW.active)return GLFW.active.attributes[139276]>0;else return false},adjustCanvasDimensions(){const canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,canvas.clientWidth,canvas.clientHeight);Browser.updateResizeListeners()},getHiDPIScale(){return GLFW.isHiDPIAware()?GLFW.scale:1},onDevicePixelRatioChange(){GLFW.onWindowContentScaleChanged(GLFW.getDevicePixelRatio());GLFW.adjustCanvasDimensions()},GLFW2ParamToGLFW3Param:param=>{var table={196609:0,196610:0,196611:0,196612:0,196613:0,196614:0,131073:0,131074:0,131075:0,131076:0,131077:135169,131078:135170,131079:135171,131080:135172,131081:135173,131082:135174,131083:135183,131084:135175,131085:135176,131086:135177,131087:135178,131088:135179,131089:135180,131090:0,131091:135181,131092:139266,131093:139267,131094:139270,131095:139271,131096:139272};return table[param]}};var _glfwCreateStandardCursor=shape=>{};var _glfwCreateWindow=(width,height,title,monitor,share)=>GLFW.createWindow(width,height,title,monitor,share);var _glfwDestroyWindow=winid=>GLFW.destroyWindow(winid);var _glfwFocusWindow=winid=>{};var _glfwGetClipboardString=win=>{};var _glfwGetCurrentContext=()=>GLFW.active?GLFW.active.id:0;var _glfwGetCursorPos=(winid,x,y)=>GLFW.getCursorPos(winid,x,y);var _glfwGetFramebufferSize=(winid,width,height)=>{var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.framebufferWidth;wh=win.framebufferHeight}if(width){HEAP32[width>>2]=ww}if(height){HEAP32[height>>2]=wh}};var _glfwGetInputMode=(winid,mode)=>{var win=GLFW.WindowFromId(winid);if(!win)return;switch(mode){case 208897:{if(Browser.pointerLock){win.inputModes[mode]=212995}else{win.inputModes[mode]=212993}}}return win.inputModes[mode]};var _glfwGetJoystickAxes=(joy,count)=>{GLFW.refreshJoysticks();var state=GLFW.joys[joy];if(!state||!state.axes){HEAP32[count>>2]=0;return}HEAP32[count>>2]=state.axesCount;return state.axes};var _glfwGetJoystickButtons=(joy,count)=>{GLFW.refreshJoysticks();var state=GLFW.joys[joy];if(!state||!state.buttons){HEAP32[count>>2]=0;return}HEAP32[count>>2]=state.buttonsCount;return state.buttons};var _glfwGetKey=(winid,key)=>GLFW.getKey(winid,key);var _glfwGetMonitorContentScale=(monitor,x,y)=>{HEAPF32[x>>2]=GLFW.scale;HEAPF32[y>>2]=GLFW.scale};var _glfwGetMonitorPos=(monitor,x,y)=>{HEAP32[x>>2]=0;HEAP32[y>>2]=0};var _glfwGetMonitorWorkarea=(monitor,x,y,w,h)=>{HEAP32[x>>2]=0;HEAP32[y>>2]=0;HEAP32[w>>2]=screen.availWidth;HEAP32[h>>2]=screen.availHeight};var _glfwGetMonitors=count=>{HEAP32[count>>2]=1;if(!GLFW.monitors){GLFW.monitors=_malloc(4);HEAP32[GLFW.monitors>>2]=1}return GLFW.monitors};var _glfwGetTime=()=>GLFW.getTime()-GLFW.initialTime;var _glfwGetVideoMode=monitor=>0;var _glfwGetWindowAttrib=(winid,attrib)=>{var win=GLFW.WindowFromId(winid);if(!win)return 0;return win.attributes[attrib]};var _glfwGetWindowContentScale=(winid,x,y)=>{HEAPF32[x>>2]=GLFW.scale;HEAPF32[y>>2]=GLFW.scale};var _glfwGetWindowPos=(winid,x,y)=>GLFW.getWindowPos(winid,x,y);var _glfwGetWindowSize=(winid,width,height)=>GLFW.getWindowSize(winid,width,height);var _glfwInit=()=>{if(GLFW.windows)return 1;GLFW.initialTime=GLFW.getTime();GLFW.defaultWindowHints();GLFW.windows=new Array;GLFW.active=null;GLFW.scale=GLFW.getDevicePixelRatio();window.addEventListener("gamepadconnected",GLFW.onGamepadConnected,true);window.addEventListener("gamepaddisconnected",GLFW.onGamepadDisconnected,true);window.addEventListener("keydown",GLFW.onKeydown,true);window.addEventListener("keypress",GLFW.onKeyPress,true);window.addEventListener("keyup",GLFW.onKeyup,true);window.addEventListener("blur",GLFW.onBlur,true);GLFW.devicePixelRatioMQL=window.matchMedia("(resolution: "+GLFW.getDevicePixelRatio()+"dppx)");GLFW.devicePixelRatioMQL.addEventListener("change",GLFW.onDevicePixelRatioChange);Module["canvas"].addEventListener("touchmove",GLFW.onMousemove,true);Module["canvas"].addEventListener("touchstart",GLFW.onMouseButtonDown,true);Module["canvas"].addEventListener("touchcancel",GLFW.onMouseButtonUp,true);Module["canvas"].addEventListener("touchend",GLFW.onMouseButtonUp,true);Module["canvas"].addEventListener("mousemove",GLFW.onMousemove,true);Module["canvas"].addEventListener("mousedown",GLFW.onMouseButtonDown,true);Module["canvas"].addEventListener("mouseup",GLFW.onMouseButtonUp,true);Module["canvas"].addEventListener("wheel",GLFW.onMouseWheel,true);Module["canvas"].addEventListener("mousewheel",GLFW.onMouseWheel,true);Module["canvas"].addEventListener("mouseenter",GLFW.onMouseenter,true);Module["canvas"].addEventListener("mouseleave",GLFW.onMouseleave,true);Module["canvas"].addEventListener("drop",GLFW.onDrop,true);Module["canvas"].addEventListener("dragover",GLFW.onDragover,true);Browser.requestFullscreen=GLFW.requestFullscreen;Browser.calculateMouseCoords=GLFW.calculateMouseCoords;Browser.updateCanvasDimensions=GLFW.updateCanvasDimensions;Browser.resizeListeners.push((width,height)=>{if(GLFW.isHiDPIAware()){var canvas=Module["canvas"];GLFW.onCanvasResize(canvas.clientWidth,canvas.clientHeight,width,height)}else{GLFW.onCanvasResize(width,height,width,height)}});return 1};var _glfwMakeContextCurrent=winid=>{};var _glfwPollEvents=()=>{};var _glfwSetCharCallback=(winid,cbfun)=>GLFW.setCharCallback(winid,cbfun);var _glfwSetClipboardString=(win,string)=>{};var _glfwSetCursor=(winid,cursor)=>{};var _glfwSetCursorEnterCallback=(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.cursorEnterFunc;win.cursorEnterFunc=cbfun;return prevcbfun};var _glfwSetCursorPos=(winid,x,y)=>GLFW.setCursorPos(winid,x,y);var _glfwSetCursorPosCallback=(winid,cbfun)=>GLFW.setCursorPosCallback(winid,cbfun);var _glfwSetDropCallback=(winid,cbfun)=>GLFW.setDropCallback(winid,cbfun);var _glfwSetErrorCallback=cbfun=>{var prevcbfun=GLFW.errorFunc;GLFW.errorFunc=cbfun;return prevcbfun};var _glfwSetInputMode=(winid,mode,value)=>{GLFW.setInputMode(winid,mode,value)};var _glfwSetKeyCallback=(winid,cbfun)=>GLFW.setKeyCallback(winid,cbfun);var _glfwSetMonitorCallback=cbfun=>{var prevcbfun=GLFW.monitorFunc;GLFW.monitorFunc=cbfun;return prevcbfun};var _glfwSetMouseButtonCallback=(winid,cbfun)=>GLFW.setMouseButtonCallback(winid,cbfun);var _glfwSetScrollCallback=(winid,cbfun)=>GLFW.setScrollCallback(winid,cbfun);var _glfwSetWindowCloseCallback=(winid,cbfun)=>GLFW.setWindowCloseCallback(winid,cbfun);var _glfwSetWindowContentScaleCallback=(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowContentScaleFunc;win.windowContentScaleFunc=cbfun;return prevcbfun};var _glfwSetWindowFocusCallback=(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowFocusFunc;win.windowFocusFunc=cbfun;return prevcbfun};var _glfwSetWindowOpacity=(winid,opacity)=>{};var _glfwSetWindowPos=(winid,x,y)=>GLFW.setWindowPos(winid,x,y);var _glfwSetWindowPosCallback=(winid,cbfun)=>{var win=GLFW.WindowFromId(winid);if(!win)return null;var prevcbfun=win.windowPosFunc;win.windowPosFunc=cbfun;return prevcbfun};var _glfwSetWindowRefreshCallback=(winid,cbfun)=>GLFW.setWindowRefreshCallback(winid,cbfun);var _glfwSetWindowSize=(winid,width,height)=>GLFW.setWindowSize(winid,width,height);var _glfwSetWindowSizeCallback=(winid,cbfun)=>GLFW.setWindowSizeCallback(winid,cbfun);var _glfwSetWindowTitle=(winid,title)=>GLFW.setWindowTitle(winid,title);var _glfwShowWindow=winid=>{};var _glfwSwapBuffers=winid=>GLFW.swapBuffers(winid);var _glfwSwapInterval=interval=>{interval=Math.abs(interval);if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval)};var _glfwTerminate=()=>{window.removeEventListener("gamepadconnected",GLFW.onGamepadConnected,true);window.removeEventListener("gamepaddisconnected",GLFW.onGamepadDisconnected,true);window.removeEventListener("keydown",GLFW.onKeydown,true);window.removeEventListener("keypress",GLFW.onKeyPress,true);window.removeEventListener("keyup",GLFW.onKeyup,true);window.removeEventListener("blur",GLFW.onBlur,true);Module["canvas"].removeEventListener("touchmove",GLFW.onMousemove,true);Module["canvas"].removeEventListener("touchstart",GLFW.onMouseButtonDown,true);Module["canvas"].removeEventListener("touchcancel",GLFW.onMouseButtonUp,true);Module["canvas"].removeEventListener("touchend",GLFW.onMouseButtonUp,true);Module["canvas"].removeEventListener("mousemove",GLFW.onMousemove,true);Module["canvas"].removeEventListener("mousedown",GLFW.onMouseButtonDown,true);Module["canvas"].removeEventListener("mouseup",GLFW.onMouseButtonUp,true);Module["canvas"].removeEventListener("wheel",GLFW.onMouseWheel,true);Module["canvas"].removeEventListener("mousewheel",GLFW.onMouseWheel,true);Module["canvas"].removeEventListener("mouseenter",GLFW.onMouseenter,true);Module["canvas"].removeEventListener("mouseleave",GLFW.onMouseleave,true);Module["canvas"].removeEventListener("drop",GLFW.onDrop,true);Module["canvas"].removeEventListener("dragover",GLFW.onDragover,true);if(GLFW.devicePixelRatioMQL)GLFW.devicePixelRatioMQL.removeEventListener("change",GLFW.onDevicePixelRatioChange);Module["canvas"].width=Module["canvas"].height=1;GLFW.windows=null;GLFW.active=null};var _glfwWaitEvents=()=>{};var _glfwWindowHint=(target,hint)=>{GLFW.hints[target]=hint};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i(___wasm_call_ctors=wasmExports["Mb"])();var _upload_file_return=Module["_upload_file_return"]=(a0,a1,a2,a3,a4,a5)=>(_upload_file_return=Module["_upload_file_return"]=wasmExports["Nb"])(a0,a1,a2,a3,a4,a5);var _runApp=Module["_runApp"]=()=>(_runApp=Module["_runApp"]=wasmExports["Ob"])();var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["Pb"])(a0,a1);var __Z35ma_device__on_notification_unlockedP9ma_device=Module["__Z35ma_device__on_notification_unlockedP9ma_device"]=a0=>(__Z35ma_device__on_notification_unlockedP9ma_device=Module["__Z35ma_device__on_notification_unlockedP9ma_device"]=wasmExports["Qb"])(a0);var _ma_malloc_emscripten=Module["_ma_malloc_emscripten"]=(a0,a1)=>(_ma_malloc_emscripten=Module["_ma_malloc_emscripten"]=wasmExports["Rb"])(a0,a1);var _ma_free_emscripten=Module["_ma_free_emscripten"]=(a0,a1)=>(_ma_free_emscripten=Module["_ma_free_emscripten"]=wasmExports["Sb"])(a0,a1);var _ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=(a0,a1,a2)=>(_ma_device_process_pcm_frames_capture__webaudio=Module["_ma_device_process_pcm_frames_capture__webaudio"]=wasmExports["Tb"])(a0,a1,a2);var _ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=(a0,a1,a2)=>(_ma_device_process_pcm_frames_playback__webaudio=Module["_ma_device_process_pcm_frames_playback__webaudio"]=wasmExports["Ub"])(a0,a1,a2);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["Vb"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["Wb"])(a0);var __emscripten_tempret_set=a0=>(__emscripten_tempret_set=wasmExports["Yb"])(a0);var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["Zb"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["_b"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["$b"])();var ___cxa_is_pointer_type=a0=>(___cxa_is_pointer_type=wasmExports["ac"])(a0);Module["ccall"]=ccall;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args=[]){var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();Module["onRuntimeInitialized"]?.();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run(); diff --git a/MegaBoy.wasm b/MegaBoy.wasm index 6a52ee1f35a0b19d1eb4885e2be3c8cc296845b4..01f574b5255046a47122737348cc6c8893b30d2a 100644 GIT binary patch delta 171919 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 MF&H=@5=JQh0}^cl{Qv*} delta 172184 zcmce9d0-Sp)Aw}G?C#9&CK*Bqxd^*UfB@l?`yNEW0|7<672^2>FA(n|;gI_tq>(eq zEvR6Sjmi-Y0TCez0xD`yL_mZnAfO1}uX=WK06wqp`^P6HGt*stRCRTAbyam|n%(i> ztd7g?R@K#>N%nnex`(s=>>;I=JzTBjQSttmqS)`KHEPrQQ;HkE2P^dcv=W2g&nOCh zKdUhOeoo1-OVwv%sD@i4OdmzH2Wz#M+n%lk7`H#rnk0Hye?FkU;=<$6{tA6P)?cY@ zU)1Wcc)OnK^;``}z4|L1@aWy2s^>TNr`q@}&R3uQ3W40}eD!s{ZtJh;NW9&7+~HJw zr_;=R{S`0rGWsj%8SkGhAKA|1{%l$9fo$2K2eTEH3z&zpWr>F!m`AdeSS0?(`O0xX z2RH>EMG53R=Hxx@d_CcSJef`8;sdiKmV+FSr?Mq3gPpIZoyRi{$g@<=E^^i0j zPWP%V#icT)X$&u1WvZgp@uVr86vnxRFLcYLdvurLc2!dVQ$tbW0T`<@S7*+74aT@j zXH3yGP4Q}ObOUu&Q#s1}n3C>|%jHsdysGKdbj71^m)phET<%sh1uZZS)6fpr zuC7}*lX={Lb!lCby$ZWV)m?g;;!+f^*8>oie67Mg9<5$neTDn|hJh;Ft{R%I>k88~ z-RDkWilTSZ^#+=UD=6S*N>-NU;x49iSJSU+h<07q``n7!NDrb^W2W+&nsNj4DvHK6 zt^j-HVmB(WJ$yd5-BGWRsi+>NXifAuw68MmQPj8;)yv7y6CPRaL6m!}ZLV znw)8d5)XnJnr?rjH|WITTygwnS970=^5{I{Dkq#l=v&l2?puA##nH4YE>7jDuA=)2 zSNp1pijQjG={iQMEGo%V4Q(>c+^P#zX&S23UGCafwe)xtPfHKiPzkWHM;lENS$e;q zyFU_ARr!_>*#rK1=ZBGE4D!2E_9l zvbn-<%vSchc#mx5g28XfR!$ncXSVXY!Fy#ZpBcP&wzA#eH)kuK8vK@QWt+kKWGh<@ zervY!9^-wpl}U`>mdzA?d$uyv%kRimhIsj%*-D<5-a8-_ds3 z4&xJJgYl8^p|RGz%$RS?GNu?4jj_gPW2Et_@t${uccu3o&)c5m-gmw4c$a#Yc;E8A z?Oo=b<*}1uTIP=Tj`NQ8j`EK1j`R-qzUm$3J#U;g{xtqF&Kl>8GsYjr-^M9phvzN+ z4x6KmGJZ4O;`IItnmcM7F+Nv|)x*YIZKqmloG^|XzZ%DkbJ||_LE}sJSH?bLud&DY z(%5ZmcONo-GIqQ7u`k`bj4zDOjbdY`u`O5K?*7sE!T8xYV3Zi&8)wzS+F17(_Yrnh z+on!-e`oA+A7jVZ1%15xZ~dHl9zQ$X-x@pJ`$2=RjV;F8p3TNPo{x=<#(Ja3SZAy? z))=deO~wbtJI32ap%FG#8Sfh_jRNC6V}-HYc-MG`Ej8XUmKclC`P^c4kuegze}^qJ z78vu4Hzh`IMAGt&xyA?XLN{SKCz3Y9c-@$82xF!(+n9#5*HGb9!!CoHY)mqCs^g6D z#sp)Gahe}vBaC6jP-BRZXW0CrKFK}NeMUW`jdG84pUzc()c(@X>3`~H^&hk|I^j$J zg!3Q3`84o7g`X&0q6L3f59-JDUGCrXQvHNp%zo8>(vRqe^`G@a`Z4_%{iyz$d#am$ zep5@dAN3#f1A2-6otEeRUjI%nRWG`})%WWs)Z7cMZ}hMACG0ExtoEh8Ti>OBfw#}~ z-(AJ}PW?C64*fHIyZ$NOwju2keXBkRd@x!cum9!!(>p>x?)}w!%=?S?sCT4(#CzEL zvv;`ullP$aNAC~b1Kwk-#QVMXFVA=0{oZf9Uwij?_jv#GeCs`_|E_=K-Ru1_*GtUw z4m;;P>pkQB!+Y9$%6roLJ1YClTk1XGeTTiOzp5Wq=W27cL*BXCJ8X!ahi{_KMb9T! z_`cxz+vDV)m-&^yskJToX8mKG-ZtsE8}$wPJ8ZpPq_5N0>TC4X`bYYQ`UiTU9!B~q z{e69l^1A>l@=6?HlFW<^9~d z)BA~ci}y3{r`}@MInPKR{T_kpw`<$AUpW2C*N?HI{3xowQrf55r-0k0ZPVtK!Cfis zRo`&bI?R_l6ptakJp8`sy#R7g(*O2u!)%zOpT~2zoACJ9yHDS%@6o^TfMni{-Y-1+ z7^TnA=4czdA9z=L*Q4Zz-ZkDLJU{ZT^{&Hn6@K2wPuRQKwHZIFUEXhxHlOZ2?qi-@ z-Z`LL6Qcy|^;KFX47O-fxNXMQcApyNwN4GQ+r`i1=ZD$* z;%^AdAK}djX($p)&BimCw!(?Kn{7EsYDWp#^jTjx<3WmA%TiStErof?ts)JTB%xvWO}`h=Fz z?vF^=&F7D>@2-~QF6-nA{%B(g%1=p5^vxRX%?UD|O9%%Ot8qM9Cq7k+5Dt1csD>;Q zM@u1Qu>c<&(gt1w|}rv#lyq_!<%dmNE>Nv zcZC$RZSJ%GO3P#??Ti{d0%uu3v&@_f#rHI@sHIrufRLI20$X}cKru(#lWX+wo@G9n zV2-j6*QmulwEgKd*l4?cdf)D)Yt3#LQ8l1ua?N5n7!qH=Wi2i;&DkuZS^>&XGI?4R zt_0P9%bWuu&>-CC3$TD5@X%M0Im6zXp5|GNcHC&>m-PCCY4w^tvkvY9pICt$a~bm^ zmj|?#+(ZLMWV%V|Xph*?e9N9vvnk&_%>KA$vnm^q%mVHl%Zohs0CShE2eM)*RYQ^y z&?u=(pn2Wh!vK*ANbrq=z5?{oXiM(54i_3$K|+9=Gws=dE^Kl^NuW0ijnj#WtC->o z05d(nEIv2~So*vuh^IN$z9p2$#@o9?1KFs8Yin6dT|C=mkIDGhYmJ(vplQg#nhjhT{}XrfAH@;!lp2CE$W(tfjHmnIkw z^f_QolFy9Dvq|LHUOs&$5HruXP}do|YF0O1y4F5$uxgqX9cPAdW@Y1?641;!_SmdO z>@EAltd8uweJ(4%s)y>B#C&_8a*{M*=I?e|qlbNex*W2z3`LYIHtOH+c1wSPOcg+W(4 zqY^&YTDIN9?4SnG2DPB{saQAQErubsHsJ-ZpbUU~^olkardEj4M_D6)lbs>>XlIhl z_iWarxetgsl>yPtO`4O0d8SFb8YFl^RM~vIpn(wRuZN`I1jLReHpbn}6L z0pBA;9Z1cqo1Negam}ylMl$r}tKOkU!{&XcQ^T5%iFJf;$khV_h*cxCMZb3DHyL|;V_+*M+7buiW|;uvt4WHlOYyf3CC`7URZ zSFr+eI^_+wo3u^vP!5g8->n1gNvM7QNV`^>hG}vsx1I~A11!(L5EgMca?ZMLKiZ~F zM+cT@fC~Jo?783VJTxC+MC9Q&RK$)JgPfp?C|=yAA;;rlo5oyrB$=ZRH?%G5!@#y# zEmx29*5gVmtR9R=A>VZisrc4O`d@)kMI-H9ZL^(4UU3%r&h6wPf51w%pKNzaP%iXL zGC^dScVX@*6_)vf?ZP2PdkKLxd&Ee627`4O|2E{M!|Y@2d-Za-DWLt666Cp52_nXJ z6ceWq%^;~cVNPML+T%Lh7S(EwbO<}z7>R2M9blJfV?`b3g``k$aF)DHqSYfs0*{IW zhXy`-NvB>89h8c6h^RZRsJfHVc}tqq1F>=`QXj(r(r^c0k0X8P@6H>p*s6MItAkU@ zsg6ELayy+uEl+gWL9(XP)k!3P?znoj;b1~yCcSGiiO)7&oBN1Fl378X=ejnp_qrRa zgw%r!#oAlTJnU9{2NP92*Laz~;w(^l2B}j8Uv@pDl6JDD`-ikfKY!hH#y+;=Z>a6v zjV{UBVTR0k`)tt!yWf$Gpj}_X%9-}C8X^(r^AGY_V zX7thVrcc>c+uJjpKI-?ph(*1Auh;40<6f;idB+t?fli|KuFHnn4SF}!u@VJUtVedg z-nBCD;e+;qwIAfw@omD z*xWaZv*Y&3+izgU3p(AA$uo~LXkLLFnt0ID zq$AmP-kl9)an0Sq_wMPS`OdGUs=4-#iL-^Lv0v4Yaei@ae`D!^O!yH zKa;@Eft*C@b?cn=lEI!C@GzTYe>b3eh z&(HQ_E|~eunue@#PS*H2cK%bzM8A)oYLhbF;{(pDp%P~W24djwc8*Eh?byLdY?)nm za4UlCH+X-wVrPe{G*tGjhup@BZvAxB?)`KoB+?5{2MBD|(=};twdQH)HpA>cpU$mU zMz_c&6jTBS9b3=9^3)iRpcM?X_FG1Zz51ECY_fg#v-c!NT7wO?CEq%P_H`IhDK@`& zwjGN>U*#_9XAOk6Z+_(^+8lw<*bRqhTky>*?d@j=)r(mTzJ{iUW|?`?etXbE?VWvU z6WYzn9m`qTv7B{1WwEDx25QCEcII2)RsFf{ml=umQe{90qe#5e<@r!5q^KLiQle0; zsP}3`fix+S!aDc)d~+k#N~;*TZsaQF`*!0OCJ{N-zwmRl{m}St3{df%0N~bkB?sH* zH7{nc{q_$pwqO(Oq?aX&_qre7zW>jbZ*)T}m`_u03RC zDw|}_o|zhtjT^RaN0=`YT{ucorm;@5NTtpCdQtrM=q^Y*k6hjS0N;&Hih9E!C8 zA-V6iG|OfEwaNgihj?lTG(AZjJj|idTc6dj&eRR?RE#5`gYh3Ex3mE8v{inVn6y=X zr01OYOa)l&r}sDHyYfA~@8>z@myjivX-@0FNDnPWa+h(m5g3Xe><1+~>v4|D7y=rxmuZI}J9L<5}e3Sy)Dco#lDkoxDvI zY4G>|fd;_6paSm8D&YPuy@O4{^jvl+4f2uNWo!i+%qJSW(MocG2d^_)RpbJUp_Tt{ zX|S{$&&3X&`DHW+m*=f?@|Hzu0G_u>M$-yxj;B5Yx0&>ejO$c-kBn;XBNne0WpREvi&K~6^u+Tpw;OLwmdpV5 zo?DLAEC;QrWhkF4&ntEE4$C~bdB`8@wTg%8)>egVGBkOpkvu}+mu)}UQ$L&e-bpAR zFk8Yp&{i2n_?~4sCfxLBc35tC-FZ&kXBka77$tQ{@agiiN9kS3z9_=MhpD+9IVs_ zQ4wk1`{{`ZS0Zhhc!kiSHul4Yj(J9%luEP|ZzNb;(5tZAJ0O>cod0n=q?m!siin_t z&H}Js(u49&mgki^d56pMcv-nhV-(O@k)cbo;%V1Uvw-CFq0wX$`S0@Dp7Kfa22%0@ zqpiTY%MbfrJGpt;jPTDG&mtlN#`9Bp7JxTQaleWk~Vj#_Me7H6mVOQO7t!9fh+xf!%ZMn) zbE<>qxH1~dE6>Y!@}^g$!Tx{2oG4a_1{l3jm*SpBxPv%j>6sU$K~jVUgF%AHM1o=X zffDf?&^}d5@&Or~j@6RHAa&xP^BN&W6;yT#n&Q9U_uR56`I1y721j*?vE>99KX7me3$fgmC5njFF~*u;4p4?;Q`g%!Eau* z#){I8bw`@JtIyW(}z{|&#MWoXrm}5)3>`@uYQUF*3Z^H@f7qzPuQF zmc>+H7QG#&ReI7+yp_@$1nw~&fZNa9M3Z+uWk}%jJ0iecXzD)MikDIq(Sn9KnTK?% zr0y0#0cBV|_$&a>b1DHQL6EBfpS5@|?LlYQX~n$~3SqMY|{fGi-`6_8Uj1!j~v_PfQIK8!RB;~=%U*}hnuqB8kRYqpt;7aW>UCR&5OVGe{^ zmDGrq;^Tlq-<7jGUn47M=VKqovmmoQnA|B1=6A`=|~A_P533I~+g*=QeTy!j@V z?y{CVlPE^605uR`G_I0Q<^GM#YL%rjNL04TD+0xILZm?%9+?si@}z>?P_KAdPGuDe zd9BK_n#)32vJgB6IU$#&VWO3(R&&O9Y5MB;Ii$mxcH+lF{=F6EW<8M zVwXVJNnv(=ENy43VdK16z=^a3rF*JW^7rq?94n?twUyrF1TKcbhXlqk8pFucEd!er z1&dDI=~^?`1rA^i5W4xq{c`XvaOYX6ZB$y_*n92E_Dty%Kr+88Cem%wzq*jUc}MtcIG888;eFXG@#o+yBI3zCfm}J`49Rtcnlua3JPnW;jecq7o6;iYaxi&|FxmenR;$I>xC9A5Ow9tM zW@4^}ARDtVQ6Y0YASU>PrgtV-HH4v)^&&}CI|CmWe_`#i?6|$DY?s|&Zy)z!s(Z2h z>fT`dGR$b}A{!V`Q$rYrOkQLc?hU}4`_!W(Ci^@QfH?--|9cl7ka%h5Cg?7`g zg3T-78KDDFfdS<*`e1{b>PSi82%rLc#8)+a%gMT!$ro$pBzyT+)w?Z6UI2sQZ>27d z49a3>Q2aC~CJl;HfXHJ}9@V9R10>laE!eSN_q%18Qvr;25-l1lDi8#&WidTYU1Z3P z3in9wG}NRyNQ5|9++}n2`mgVJ2oMmP*bqvIPH(bmJS%n?>jnvY;tCos;ss~1SglcW z=*uSRyqq0wb2JaRATFfQ7ri68=6#cn325hkQ$JxlRx@bum#${jQX>IA+^V>if#`0s zcz;_hcZTK|3J-J3KY$opwnwrUm6?`nkV(NlE;56|>YR_BUeYsOsb|*OuN3Rs_23i? zrKMV^CRMJp)a6X{)@cRxQy9{6X21JQ>i@a(5B_gDPdpHmWL_L0^Rjb=qF)+mBL&rR zdoZ@yzCZ5{Yxp=X%+v?nA%>2E7ZQRVaxXXnJcv*RDZnuuAY5DWEO^KuZDb+5LTC8V z{yVRw&w;|s&L3xY9MYyCO??J`qy#tfNUcTbOh;n~;43R9=q5o9GtoGE{*byn1)!fDH6E#v)&HT`QedL4uxN5I>B|(Jyx*xEg z8&#LBvhznZzuZ6PCZEfZQB&e8_~vxSH)oF@omast7whv@FK9UC6iIvu=Sq~!k z^vL33d5M_~b5cR4@m(1xKYT)6IGUDCXxM2Rc*m6m2N;$s7~l{#hi_V7i2|-@xE<-U zQmK6jfobpw1YGYjn#lWTZNxP>mSx2sNR<12KO7nyh4lu%h--jsWc5)SJM{8WYZ zp(*Xze7lxCp_$`+v&L!W5SMh45;Ixj>up|&;vf6+JKeV zzfE044zC%n&8KjI&eQf)TY;$*@C<^FZQ!6Fyx2~I4MlTSSdcBAW9&8io9T|D3KLR? zqw2!+g)D3@c)bU?t5lk%ddLj~v3k&lVr4$+_;(!e#2HJC&k*%!X#;{9g$SnGhi8l` zSU>Z2#)jGK-C6}5X1~Osf_yk<5t~(zJ@*1r;Y{vKuZTi5ZM)Z!=KP|&V8oK@oL_Jk%w5`FmDQh#G?KP_k471%R+^~a zc7;z6A^r%5svl)RgjiVzFYy}MjSFvM8w*AjPG#(UJMF`6`2E0#)2Y;j4?i)#l>_I2 zZ-{hEbE3WXqxX>lgur-s43Camw~Xs9e|P^YL_$N#9?w;rrrFX|$+nnPE!8k^)JS0NWday5odM7uof z{biVF1KR9b%MlU0hMD7ZY#Zm0bfyU7E5TQfA<)^VqAP*guAf@k_WDrzNw`84^xhrB zvO>eAMArOFo@D-P?^<6QF%sw22iR;oWkYRsHuu@V?{kS7f#1^Xwcp3l>(1}fS&@DG z`!!WIGSCG=kq{u3ecxVPG7?1Vdf+v-)BgHEuUb1HB-DsU+;L>n+<^K4*?($11gkZ} z?(svns$WUbUlDSKz37Lo2~?h0od>`h?faG^Xn+WR@rMpHaXS9Ei5}X)o5kE8ScZ$4 zA99~q{}m#&U;gQZ_-a7V+PBFuJ75C?G9(|$!%8yaP(wDw-g>A*7LlABBx+|+!)4`h z^GECf@kIPK^!OW`J)~5^f3%za+z_(s$-~v{3qPCoh@bnFeGQavN%ptLdfU&PsKch) zb5A74ADd61Hc*g3Z@gQ1^TheDjHJ{zB^v(}s9@drU*Z%h6oUFDqZ=xPE>Lj8K&$3J zOX&s$mm(j=ly=JeFBMiQZU0tUtzgvQ8%Ph>edHc?&~A40D)yuO(9u3vg+Ds_Jl2I4 zztD>O;xB)|r9J3a?L?`$fCF8Q?m`Z87d8WL9}Cr&`bA`MQ+!)B)t#$3abOfMfcW@` zpbTkZa#b~rBml*a!F-BwgD!owBI5?^mwye{-$=u8k<2|ONZ}h%W0oK{&>s|nw-&jSixPR@be&C^+r{BJOIaY}|51h6oU#S7FG}DAsc(}+Y;lJ!)LC{A9 z^8c9Un~a&N1x#%A=Gr%%xg8BGI@5q{uy>ug7Vjx%Q_}K&VL4!@r@)x{Gw2g`nTU~i zib93+>|SS605;%kN{uL(mHQO7K*WHsSq+s|OEk6n&*#}!_Dz2ss&%|=OP&yjv*1vp zlK}3)6dK^kvD#QuC>fzk^X=MyTCJk>Rcv;5q}eO8A{hU ztEd`{=d3N8CAM69r3IQDjE~ddQ*44 zjc1)?|I-s#JY#D_(`xKZwomM?##XQo!y^(I)c^HjcXif;I_geh-=jB&lGwOdxW%#R zEyDs-h-o15l3CrPd00E6Xm~tj*;e_Y>J;Qp$!S7MqGtL{Swhz`GSR z)wZdu#Xr}OC$uycAHg5h1pcX-6>01Rc1~o~V0CNB`G=@E%xD!mo5*zR8KWS96nE;~ zGc{OV=4H`XSD3RJpfP8YMXPl78k-#cES+U@B5~6oTOv7Qe~9g(gcY@*ov<&&+6>ka zkH0h6-jvM<`mE0n@?c$hmhfP0=pI2A>I@&R&6+ab2si@W6g*|l6!q(}2BxD;g7|{e zI#bq@EMBRL12gFM`nqfxwe>_Mo6Onwf;C|4*>hQ-4c&2Pado;SR(HLK3}p|)aO8#X+#_&m$0kJY}_)Ii3RP)48$B+b6_ z;*PegNy6?(Uh}EZoc-s;?6&OQ5bSY?xwN?XK2~QB7GF1sXZ+p=KULl&)7&p=v}4)k zPvFaXY9SA{k-A4=cw#%2$bjv__G~D1rhW%@l2@({;i;$yp-1?=wXC{Mo!Kmu+us?2 zpioq|*vy*C|E6#PVi=13V=`*9CJL3HkZFd)pIdAUN1403vj0$9Te>m?AkGuFUCSO} zKZT2~WqpWP;l%E2j)!d(@AqVFjO9>!g4JlO&-7%IW&W7n>@MybbyXnNT0RT@&~xF^ zTi6$zeJeKhWdqqF(c(5%6JNL9#%`wimfXf(VMxxrgOQ>e-hT%g!gtfV7)85=N8iP+ zXKbg~eK%WKF1$5bGc>toe0hoRu8_4Ok|oyN!!Res*Lak#I~4#oMFGuwSv3IGxtDcA z5k|Q1gZDTJk<17>>I1!bXi27_Dr9!4QDK=VN>|Ye-T%#YH z>UcjsO<^n)nJd1{an_6)187yr6IC8#RrQTgYSNc@c;tx6rfq+8|PuiTNEM2>w=$iCeEB$mHnqSHW@Y+(6wOKn5+AIK8e>*AS#tTU0a za3Je0#VQ}n9%Aeb@t>#Jc&g;=)2s!XCK^4%?xoKO&#+FuPj^6JONF{+6^MP$uqUo9 zqEiImD7o42TZI=`Jqka>6btyRt(a(5aU@AWLJ=iwt&mVi2}Kvg_-9$@^0kOo0CB^3 zZ%7<^mJLjBY%d5Uo{qzs5vzt6@LZ)u?bLJZk*E?1Q|+W#U{N~LVQv)zpJ(Y{nMu#H zzKNfBoMn}a+)!DTGg#X|i}TNe_z)tUUSxCxLfri#qaASgj~Cfhl12?)VOb=9#T`R% zL>W)lP@Lfc5i9GDBg!XNnO+CB4Pgq3p&AC6b&H2~G*q zns=N^P(-_EJ&Zj=Z7d(gO4vy;c{mGX6r4l0jAVB~%FyIPc)4TD%PUa_!fJy8Uk+zo zv0)Rbud+8Ur>aRHU%XnTBS?!zOmuY~QHh)vN3gf+E;&tG&Y955paumYLa+iMn6 zoWQOV#S<7Ex()w40ZIfrB``T2HzK+M^NFH~>_!n=)m=r@n8ezNJFB|mMb0F)Byb9J z0lj0Sj=2o>I=?h5BH-NGk$`hV;Zsu>gJv%Nn96R$ePkNI*OcgLHlORLlK~wthTdXW3J^_%a^H?3BmaxZJ zz8F*jQNL0AUcwsrHoC~whEXy%hz18(8{dYq1T2*YShFtcT_h_2VdZVu+xT&uP?!Ld zCK!=EA01$>cR_oHxt2Do7!x|GgegD)B7XBIG&-Dm?mUmRAgT21Jk~`lo5kutH0_$j z`qXd&=ZT|z^)YWNS%h|rHRs&P;@~_Cy)824Gb?#6#mVF|0)Gq#N(fI1K{Edkugqs1 zT91-O9TISOBVp>CU+)KNIDjyF2KhcwF=P14n2Wdu09{i%)3BbL&sOoDj*6uVSSt2@ zTNbb`Y?tsZgyK+oR5VRS|#tW z#N<3oEn0nX3da$SI3^D%`nM|__b#i;sZ*_2urNCzN>{LlXq0Y$kNwGpidzcUO_z67 zs)DNu%2opGJoS)2vJ%|6vJ!j$xRN&S;q>>}cMKK&y^39f$JJpr36I@j_C6kC3fV9= zG#vW@R!eO3yL`mtO#s-|JT028W;;k=;lsl`Coak*MZ~RTExgC_$UG^Ryqngtj1KP) z!#CC&$*Q2htHa=wkZYb|?!~gBIqn_i`_kY>u8SC;1cok6iW*V6h;{N5F*$Ie%nA~5(2y8CFK;*0M6(1&Fv#U|;+`c?bH)gJ3A>XOg^w>`w=iOqtCzBDBrjZw z3HgoKx|B7?*WXLot=N0qvW(S^%O@Q;Vs$32kfMF=GL|4_u4V6(P2}f7PKW{a!-ga1)bqh63xRqLA6 zuxp>cg6BHrn=>iQs_Z+Uy#dYT{!OeEiqG7{k`rWpK>4Wa7s0D?U-~M(2t~x!O{@l6 zDGqI78L6{41y5)*oSJ|yH3%%h0;2ZE>?K}0TFmyKGi$d3b?S*GZ=ncW$; zh7+UIEOE31q8KiUe`StEYi%HF4H z7k@%BX0-V9ld@*+j(2)kvF7kS+aQuqF8@<#)}^DTZHFvEv9#^%etHhsE{lg3Y-h17 z9X+fPj0?opQe{-4T_33{QPkhb{PY2| z6U9wC*=ZE$S`7AHAQly~hEDN7_;fLQgRyZ!e8C!cr-B@AI*IjKc>5PjH`uuFm*23T znSZg%mjgNIOs}oqvc6E4Ykr4X@QluPX8G)HmKuj_efwsVC-r*JFjk{OGy~ms>Gx`_|T$97^A7e!-n=d{; zjUDrjv&^P_(O@@Z(jVpOX_dsHIfwN89U_@#?%H!2JFW_%evFL2ya6;q)W6g%zW z*P*>mZeHL#+Jzf=_zNz8FY)sfCSEpq9k9)Olkbhg(JO5I{KPwO3hotSs_+cLhl$-)_^r4LLo|rz_aw|Doi%caM!-!PO5SiWE1q9fOJ4N>lqge1 zI1pgussjmlewg?@o)44f`N>^|>kdR-ReoLMz5}tdDvw-vKwd~$Ii$S2v&B<({ghak zz(2;gK3a_@f$3hY#+!QNc}a7USW}HZ0Kwa_IuD7iiF^{?zf9zhI7tO~{9c`p%#Ccg zfWJAH`_}nYEqcPVGrSXW8I}8a?0svJ5>!|zf)h1|~daeOZ*8YlC%G#>^e^G8{c*q6+kcG^ge zr_3_{CLJ%r;-}VAGea>H@2UpyD6=$xJm?t~q-cZT?kPCgL6z=F<*y{{Vj=Vnriu{s zjH?yt-x80c@$OIsSEO-i(5O;_KTUuX9IR2GRvF-o8oUiw``tD8ZGg{8=S{9$;gjk7 z>9|We9zK=Mvmr*qw*~kdgcFF^*h&XqMblV!qG%lA_1MDj9U=Z2!JMeYlUvC#Bv(Jl zUWEc;+T$VJ{(8{u3wS|V)dV^D)Bvl`wJE_Ed@mB6GWZRsV{8U5+fJYk@lFQ6DfBJv z@UC9=aotw^h@e`f;-p(F66v-1O(=f(`P^Efpf(?@y{f%7UX(U*CyA@;@R!*_vAzyp z!xo6#y1aVIN|kGoGqKRXID&3CyzJnBBjWf>{!oLjA$_6QLA1~tj-GO}l}eX9;E+R( zxzmLaRL!qoEHS?lxwCjD&j!S5(e~xzS>W28qS0)Ax0qI!H;G*06w9rA>2D88&%C&& zK2HzBI|J*Cp1QX26)HC*eoS3K8l876wF7qz$}WiS}v-#=GiqP=1lMvi9f{C7LubH zIyeSR!IYWWnh%Dk347b{ZY<>#)FFr%MT(D3s9(xXPkp{vyxWGi4KHZRJ*?I#V5~bE z%R=1$N}*d#q;o#9_~E`V@l6aTGt`9`-XR6j06bE5rc$*sWDGn`af*~rRRVi1mUl?H z3@jDFrq_pSmUBE`O%k2?;F+^idk3jWl#Yf1?V!IeI67W zwaQ3#$}L`H;C2Ioy0uJiO>ECcUCtZjjGyqoVf?#k)#=y~^5TqmxFZjFT1M;yc}cuU z`h(~i#yWaYAsLCmM39g;^oeqdI&yhS9%&*pG?=WAekC0tTO*8wr4E5mA#78Q(smOi z?QoS&yf*X9!`76P#txl%CymV!FL&iH(7sb{HJv*ZX#Qj0dFh=Bsn_sXj$nT`2!rIV zYxthaSCH^$*YXk4*nR8uJhy`5_}lAwAHw;n8+e1NJJyr6NRgMj(59V`8h8VL9R9tM z8~8$k3(RuY6Dw}yDfIE#jl6+N#w3dGp41XW)gJtQ>>Zx%!JAU{TRk{A?lW%UKf-vU z_vC@<@LZ_UU&5mP5)LA*6rFl4Zc zX`9-tsxDZKC0O((e4i3%roLI%nj^l2j9W_q(uz1 z*w@$R{esxj*XMUbBuevA_~0G9I%9S0cQeyP`@49ef3A#KQGDINN@DUJZ}srgcky%o zWV4i}r?h{|z~SZhf|c~ITmggbDiTlj=a2KEuSH3JNKrhY>^Bqn{rIPBw|KNaA9P9H zW9%>SL^eM_t1pg?#j4TO*NrioBc8gSH^rK|;C_B{2)ihtNXADE_nLr_nY3|5!s2ku z>8wb8fTvd@Golmi3M*F%W(p+KB5~sbynchTAJD0jkRoTn9~dy7RZ>_f37!H<9W`IP z@c^j%M|i^noG~YUOnmbof5LeUXFtTVT{Kdg2k`C*i%-ctD-NGUgt5n(9}YbVj!fKN zS53sNTJqYDA{LFN66=qsblH_Sa0IOJgWyNi(eyd~sM?mF=_o!qs;035ap5Wgm|kcolA+f;_DR86`F)@QyA1r@45 zOFn8XGv5x!o=}@HOhBttrAt-CW2I_$_FZ^Ysd|dJ-rA;MkN58HYV~SG3{K;`yZ{_t z0YLT&rV!fS{I1Sq!^N{F)lh@{KY0$A#axKRFyJRU-2pV^3K|yHGPQF6>+{N|$UB5` zn@*|&dC57^>XceHvAkfwHK?qt7<@`yV*p>0BIbP2_OzN22YS&mMih|VoyShAouC=N zeOevm{u`iXfoS)K8mu;v;6T>`TGM@&J}?GHzr?^lz$C-Pgg?|!-O_Vc=sBc*6hTl7J)^$K|4I>c&Z?dGnQG$Uvuc;bRZu~x(FhGJ1mj!CTX$A%>e|2w z|I=sHhHkiL=sokCTAQD)CVHMzlWR|LNgBvug1(>xs^T;mQJ&EqO%W1`@hAfOO~E;} z2tzmcPqhX6PQ3M}I+jL|%%X_)6utja8_@SFf2mKyz;Ws?^>z36Z6Q%t3j4g;IC-CZ zcZCeN0uVb++g}sfojF;2b6)L0B_~fbs*9$7tKH%!VkA|%cmewjXubn|o5ic$`2||P ziQB}E8HOchJi%os*zzZMGxkyV$0s1bVY{6*kbej#+HHgQn~3K4a}dwM?5g_|hYA5H zGnhYxT}RPi+I)oTJ{|^dkR^y%WCoCEkg)f^%N3yp3D`GJl2^bw=xWXBl}8 zef3I<`dzO$klcZEVY11SBbP7#xKb%m_;R5Hj}wz}`7hY5zLWTsCeDUyBxYjN$hox6#RSm4Go;arO*Dz6n+=x#5FdTQGwHK-bW)WjtfvdPdxItT2oA! z&WAwPNqC*_1y>wCiRa5m%+a?IUiQ z!FR>Kj_Cj|Ga?AcX@L0a*G23?%$4hB@+u}}GUwEZ7i!aoV!%xPV1~SB(9ulEbpo3Y zt+UW`xcM{gxwA^ptQa+$r`KEgS>!fh3vcpjU&49uN6^Z#C6E?86y@eTv2!+Vl`0(; z*5~kHaG_u|oXcC+C>`d--2|kHt6kX3h*hAu8}QvpR-|F#hq?SkBFlaG{I{x+fvI#I z`2BD2q1dV&dV{x0T!h#P3TN+*MFgTQ$>M083;`1t@CFgngUDaVHP>M>Pl$aBU`w1M&M)Bg+e9uM2Ziah zU*ytpHDbrWR;38{H-G&#x<~-{zeyDjg4s!Zx^E$ux0T`cYNzrNS^1KMvhvRs@^Q^J zp_D@tL@Cfc<*?JiB16Vx5`}OiA{%|Cy6N5*vrvp(#BU_zzgom6v;AVgVt$=ybgepD ztX#~iA|w3CVm_WHN*x_Mg-yx)*KlW@yrQ*0Jh~KmSD~1&l-H~3v>|uNBxIQNd3~{M zDeSDL#7|54^?~B`x;1Gd%sn(D0-J0)lMnSyv0j2<6<(;G%Xmr%5LWRff`Um%xTyrG zqVlc;SUv_@lfq+{@%~WP)`yR;;2MK}>g0R;n!XfnPca(SYmv(a$rd{mi43<9Vt;E* zC{H&hXmlr`x!N7Mnh^7dicX4vbc12{r<3%(PEAI1L2(Nx0mad0qff}VmDgVp36GGyFDTLICtEjf~P?m;IrnU`}n!E`(olpynXcwnV0wcKeBM7=a0yq*I&)E zb!UXkEn@0wh|lOiJQQuaQg0K>DV!(=;=wC|C6$B0nuURQAPOci!9d*aqc{4w6qB-n zXr7W?3FvZ+`pf(XM*Sp4hu84?>pK`(Gv@el?E`FAfG9G@X#RVBR({!V+#}&fZ75?t zQM#5VW=6^q90-1w&w2yh#LuPObY{h!mGUp`VVgJm_r6rCa@huWt`nq!8Z?2So zY2RDM_jah|%;;XS(Iy*s!v>YRZw|aB+W(t;nB7s4)I%1yguJn-5Mmkr8_T*%@F4RI z5;%eq2?9~PiN}e8jeKN;A>ID#uLNU9va9*8E34BXT~Gx_Px=@-t;5l7e|K4dzL}?W zyA%aWD;tDsqxE1A(7VVWq?Hc>Zsvsmx~5`pFbK_~j6)cK_*eT#_(lZq6~t+mO8J)) z-;((e-svnG+qi|-icD6V1N$uiE0Sv~-wE4@l%3+(Cp_JGPl_SEjs$T>S+dDC7(yVB z*Y4u2#o8Twj%f2KA5cb^_7W(XIZI624hvqCYV9gz&JpSkI9wtv=Iy|rUW?QlM!i*{ zeR2ESP_gi@JK-b)^c%Z)lB>0>2}xgz*e`gGXmYFav24*?SUeQ=hb_7 zt?QjeLYGxc`ikan7_Ed5jYtR}niWl^?E{ek+k`V>`5vAe#pA#po>;4#Mvs_)n3poA}!c z*yE_r;LkO{wt>c*{>W#D^FP2X=zQ!4B)F)$sC^JS`^dmSV7tZAgK~~jX0Fd)&lhEn zOGfghn9P3~$;>Eaqgu*k14G)A=C2!ti;gahP7vBP)JFj_Q{`k zt=xYcZJjE`p{B}1MgkSXol%xfYd`q9R#`%XEeOyV+>k_?#=A1o=D?U>0H(z&@^7%L zJ~R;FUl@j*8VExw72?Fidk*ny?tnORWJ=8_&=nZiB$U#l08s`u2aP{yLIBISOxmz5MQwx^tNW`*^X2-B0ZXI=(ftU2C<0U8U#%icgysp+w4g%E1!^afmmc9w z+Ts&~nu>Eh>Hexwuq*U0K>dr40t6XWzB`Zd+~_n}u?Jx$QF&g4z(n0&c!oDZ6e#8r z9bKjN(V$qj0X8+KK%yUi)64;^)W4Enc!LfO_%)ViuHL;++MyC38I zBdyes5{(9;rr#e0LM?79orK(X$9Q#;180s&Wev-1dV9Y&3P-XKTa_gI;hsoOiSHuR z)uU;ZdjI~fm-pTig}g%Vn^5oZ=V79R0D)^9=QztQS6;W@MOk9mao!-36pM(%2sCYc zMAMC6mpUilB6o^3BT_rlNsR&$9$2)KVPAJ5_3=R?k$}jT%n7t(M8{tHpo6p z%n>z8IsS^)Xz>s(3x_dgb}6^$v!oQ(u*u=7zj53rjPD07@Yc)@&%S_=C4jAUsTZqk zbHj9k_ygE{aDf6dw}~BYb&BX}sOj*|s4Qk3i z*+`~2plMLc7H(+}z5FnZpAygb)dwP{lBBhy9>Sn-IiEFatT^FUrC-z+qu!ahh@wVt z`raIg;9?ksie_*N= zjnZAJs10IqUt0u9v33s=FIG`AVux@UpMkRraJ{`H-maoPm^$Baky)IKVdOL*Y9e$> zwem&7c(r-jP#N?h|4tDi^&?i%o5>TtZ##U8B?xQT^HFt=Ds_K34wpC3~ z+rWO@BSEdwqA>5OiE2Cd7!F(Bxp1FE z6@MKUiHEAI9TERkJ4wAA9)nks)Fk$HSR|=i=oHR zsp}c_942Tm(0W9D!Z=C%T&%zq@?DyG7Y_8bt)b2(p8&$BaGgkq?ieB)Cq7`IEekMD z0_uO)P`kkK&^cYLj`nX)S8t%MFGyFPb(qzJou-Ug8`e~lee;OR72@7SqIXR-2ZtqA z*Hmw+z7g~TcULSxH$#Y~HPveMD-?nex%}^P1Qct-a6)7%tiHHo&72_m1=P-Zlzqf+ z*J)`fN9hJ~4o4cmA;c<7S@B&!ol7o#4idoC<4me?L3MbO{Y>KRGRYYf%{I@Yc^R(b zleJ7CTsln+`GHL5klMjL51}gNyJA>Ky#ep&*t=pkPM~3wQ);O}JlfY%JGoBmK)8v> zs|82a7_q9BT91f!pqARkvk`~JU9c4gGt>_*pMP{CkvNf|MqNVk+5m54_Sv;7&c1M3 z9d$5^5`u~TY3?-f!SlR^_`I&#xk9i-N~ZeIj{E)hi?c1Um`xJZTdAFKeD?NMYCZNw zcxWq?^U#tDk>i@yVit8gmH9V<()oI!oi91Ot_>(cgnGT5n(iqcMXWhftZk>xqeSv+ zRbYu<+N;@@_oqC12~qoye;5al=U*I?d%q(*vRg!hPHJYOO&XoYr0`6*g5ZOAl~a(q zMV=n)c+H=k6jV)Lo5YY#YKEKqSDbT6UZt`=Un6*(Kxq1-mn!~1p7V!E z;m{gvX}E9TNGG)x`(4Cz26LVgdpqN6pZKe@vqV<6)H-lIbhOm$#Pc}o?eGa5uK}Wq zCH|`{3`L>%(o!1};bi1d<1XqAtT6my7d4KtRbuSbY7<<-uo@2nIexXe*f^2}&Y{2u zF}JJw5E#{c4e&>9<~3@#I^{|qzmzi&LR&^GGtJZDk89KhiQ_!xR+3Nj$C09cw&yGp z+pbmXc}64T2}09eJ}^PVc7swuu`Q$_z?)z7Y3t5%RLL^t+h?$j3QCX40c3*1IK;jZC@(Nn?0NX;DS^Q9yW=b**2H>nxENx+)^k*8qcO=>XiQxbP2bfF}$#!U%( zZc=OJMiZ?(ZVHCML?`R1@RxVVGjG;j3E&xzD|5Q!X|67L*f=QWrx+57*tSY0;Lljc zqLj~C={UL2MY+*JM-aOs$A_$h@-KmrtBeX(#@S~AQMwXSHJ6Coo@%O(B0r&oQ{;x& z(Nn!$&aqx4o!?Q-ifxn>#R+hIkKZzH4Nwba@TyGMpf+y~NbI~B-s0m%+Nigz;X23)TsgM>h z3{pJN4D*|Y2Ujr5;mM`tHZndmW1vJ)c8Mwdzv#@kG`zi>st6W^b9hbOA$z~KV3NA6x*dw9>q7JeY zD#C!MsED{R2xw4IQBhHGiyMh(h%t(5FhTkMPSw3VJuJreee*ou^TjZ?y7uMNsdG-9 zb4t{2!|4JZ=M&ieGJ!z^q?;}H4x?h}rW0dw$Kb!T zpVKK33~K1XiN^dC5wV`lM@9I zzMEhSavbbtucA5($VmrkOVAV?Y^qp8IO_kSQ81jl(A>w?mlIG;JMQIF#7RF$e}0@- zmgB*}u4aO~^oX1w1(^$3!SXC-WFd2AU`YU-m)RU_P*T~J1351^xw^XJA(@R=d%`Ek zM0R!0<|Gq18Q`8xWnJCTR4S4)(Yg|6heREm!v4icx4bi(3aH@I#Q1Pa;x}kgfo}8} zLyBAF+{3U|8Q`{|H+*ad-E=x3xD4OIzA(yNh8CYu4BgeA*;V?wp~anY^o!mCz#NkcC%Mv3OSM6Hxx=aU z5*Wzv@~9$I(NURd5K)E!a)XHSY^g+CYKuTpk2ja;p_8wpIMYO+q$JbS%L(yWDx=5G znao8p-2@Vndu!g@WLH9D)T#_<$(XdWcydOJ%{DRfWhzOd4r5A2Fck3KrQ|0geFa2h zi<;uaS>_nX#NnKse17JbYzi=cl2o28OBavJ(w}ma*~D_zj2uKu=ZSH6=Q~UgEKZkM zw|+tjv!1}(aL1!j*+ zxXOkBBi@~;GEiXh^cicB7b-wtO(p{rBfHv%y9OcYmz|PwV~kM5=!%T>!LAr}P`Vy} z_Dn>NzEBm9zVO#R`qId}_0S?P-krh3a){APAf6ZZaFR4PCtowkPO7dt(aX4t7wZE~ zgbUlDFFX;pYKLBRqBl{_z-?dn+2qGg22GeNh3T!-6HfBxh&M(!Jx~PFGt2xMZ;bpR z{w2r;6}~8nP*Bc&Pxel5o~*n2WKX=yYVTC<3=|rFeyX>GU#Zi)bkjST5>uPhg(CZq z)4X$F_tS<|J}~%7FFVbv>S-MMFvXsA2mJmJ%80U6NwC5=r+zbz2+-g8`ZTY77J1lb zWu|ve(tyxv3%AII+3!`(_4F7)%%^}o#o8Z^Um?Q@L6|`H^`Y)_uV;&v|v4dI?ih&@NwxlZy{_++wq2fUNPR= z1pj>PxnBFh@Xv-hp=WsqUyr*+rX+F^BSJ*J_Jnd83IDv&YWvCL*Q+85Pwt#&c=AFm z#GU7Py`=Hp=X=+ZW7YZIKZ^dkk2I(6o#3@@4u>5zkQx-3yu3ca8zDt1Cwk)J@z{wd z|MGL(M7W_hrimTeE&7&;-aKG(&;{Pxe9A6lz2@nsF7$54>~7pe-Um`(^u^w@@~!%< zcQeYnD}L*7yZE4fr4e7pDy(Rz~CqhVW3 zH!ut7M&^wYW?+NvdnL2_tln1b&DG~k_Fjp*QF@K{vU9zD{~E6%xZYfz8n@&{%;73s zJjFYxOcX?!Rh0fzYM8L>Fg^OrDPF6tD>oGz_DJwNm&iii<2N6fwII4goVn&zJ!Xp6 zGB@wl`rPonHuop_+9(rzcOl$B=S(K8{X_3hPLa} zN~`?nimYSpKlP2%yuPh#Bikmb@;S26BNVa50{y3HUYC+DT=RadOu}8d^jfd7%haMU z2cf_WK*3=?VS+4zoqF?&Nxn-TP3DS!d#S0e5M2pTsfQjvs?>4CpNziZTJLSq)IDQ5 zQaR^q{lRtKz~*1OVyDM(kZwE%>a z+Z&PF+ncQck)_VgnO^g%e?ox)X<0{(`!1*y4oP&8)0l^(?PdN!v%CXsxe7gR7U+Q{`Ks9e2>9KJu_0#H1&z+W+7&R+FhQe*00R=dbfQHx;N~1lwo~X zw3Rm**JFNo?Z6ak^!^;Lvb)PeouQ1=3w|Is+~xxPvpGmcX6WC~@lI;8dsY3q6~<-p zO6FwIca|rXb|&Sic_tlanqbfwbwjoH41VIZcZ=7fbf&onz>>D-SkCaFw{YP!v+ifN zcw@ys;)Zz$BWLPw=0R=Dz~hzIkI(tHdX<>nUwf-p?L1ajGT$5G@Ey6p8}0L*yBN`o zdJOhgf5r=5y7&(8*JF;JaECWg|NIVbf%BMl@5Cfy`7|Bg>6Hz7Xj-v2A3Z3+|4s)6 zi^7$=#jM#aX5BP>-JM=vD*NM|-m!d|EwOcuUb2Te{oU&H!(Hq2!*$c@<}Cq0sqN9b zy#0?}POI5Q;uy7MzIR@@Yk$4n>h^Z4+oNth>Ta($RsZ&G??gT?-W|7q9ZVwID&IoU zZY})i8Ij)W-`(SVOZ^utMLfd1pLefUesUTN!cO+W^6^4*%kgn*HS~Ob^%xsGj}XYb zy2T7nzgA~fc+<0=81#@qa%2M8WawNJA|e?pydO#eX-A*G3R8|xS9oFjI5XAtgvl8j z7vflzLi*@B2+l?N!#b}g64K@?y}>`KNK^CR3YCKBU*;t}J!Xy9ssu?|xN;Gksr0q) zBka+dYxN0_cmrC;-H4mVq}VjS@DVN{Yjl%U-q5|a8;wt&y~?|Ru5Mpty4q>AcMv7d zSzTY!v4eE;gT%7IwDRO??}ifTG51NP$NG#lA`zb1<~5NE*R1h6mhwQf$mbsI3@N=x zKfcE6Qgme*;pgGgPpF%lj-<~j%prc}#yu^6Itup; zQ4Ym|#GCPft^}B=&b$jwRxfymQ^1I!2V!s|6c0HmTg=fEz2yvBgJp@x!RbOGOkrEW zC&?oxqH)19G}I}S3je!gB1R(p`3YgyQ|d)RB&;%_A&G%B&6_`-kRilD13*|AcbE`@ zaG3~urKLVnACicSU?c+lA#tKHW899MMJg8o43#TWIdG7s3L`7XDSn01O2SfZ9I_s= z1-x5%B6K1L!^((MmXcBd_jJD`szplu3C`R*fHbWUmkL!2=$7K72b5Q;}lL=7D^7)$7n782%?O) zQfjx4Ad=A30vb`g*TY}?UJp}(xQF=z99iL7&j^C)W3Gm&+|(7C!48H`TEx76^F%%< zFNlhSPc$U<#A6hNOO53fRdSn|?3l0tADH-oQoO?Cii1NbT_lEEJpFzD<*jpJHBzbI zy=1l+52p~ZC}*&rAcOa0^yOQluM)&6$eD}T-#%9fvTUwc9+{PPB?)>Ez!6b2FUsv? zw#O3yc+N)TWTabS2!u#4olA-^h;9X2PmJI9*0mclX_NMUxw&>{s! zm@G?yAdjl9b`edMn;?Tg*jr}8*GM$dJ96A0(Zv=c0aKx4_PC>eJEN%GslG@QK|9^N zL0~h$K)AAQ9v5rn{2;9)N)tt`d>XPQmI_b_vUsc`dp0;8E~9BWIF{k#VT!`~GwRRz zG75PkgNxW1o)i=A-QYXnixA5{o)A{x2JZZL1W5$Gjq>1c1A;|=U?0T02RXjiE0Mx@ zf-Zn`M2wftd8v%BEaGm2)xlc}yZ1-#4OC}kTb58f+8c7swzs{(me_r7BytTmhrIQc z-y3%082m1<&6#87!HPf)OqjJf)WQVUo!*#Z#ok-shYe{U1L^@l@&p@!I?yB&U@Bp4 z%uFUb5&x^>KpCa`>T4G0iNi>jC?CjFFqt@a^Xk_EtNg8_gcuq=r5ci}KJAL^%{q1`|0u z3%i(zyO_wOQW?oBLvfjf26z!NJ1_RBH-;^a*PhEmi%yE|+Dqd<0vKbrK&G)=sbkki zEOKRij9m4+sJ{k7hm6qnmkqL8AKg9n5$ysCpG>*!BaYPsK6mY7P7t%4JdsQ*-Z3(b z(al7TOA7&_8jdtMcl>aZ2&m~IVx4fyYXF?A!RGY@##7APeoKtG86`b-gftRa&ehZd*!5qg)rVe~>u7wdrmSjuyb#sdezb3@ZCRz#lrMX3wZ8#YyEJ-G0uqp^si19|+zp04hqYw;xC3rQKyI&CA zZZK9j-+tIu=5UwkF8a>|AQ(53K+g7=hf5JJ*yiObSqW%MI%JTrB|`*QnTijSDgH+o zGKwDrYE4d|ob%*sxglQzb3aCcFftr8P_#T1&fm06Fqeq2+b(%|?8{=$$D_J_>Ir;~ zpz%}mr1x`20%O;Czm5aPIdz?$@s8xdGd*#=cUq$l8RAHJm$UBm^GvQk~g-yRa`URzK4FteU&>@eZWSqvWIld-j_BO;j|nd zYvsN)2Al$?Z~DrOTv^VU^D=6wGxh#28&Sg*FMEgKv-bIyxrUrF8H+!!L+m4U;49uO z#XF!qAdwTg>1$p~{n;z%W-Pv1XI}Nni?(0M>*+jt@~Zc{9DZ0qle|^|(ifks%tQij zt!Osc1YwY6Ps=Qc(?nsgt-schrA0VrZEQCpQ6_-OdgRU3)JWLYC>i-DO*N=d58UJp zi2HrPCT~-E@zscq*i5!hmQ@Cd>V3P??Kb+#*Ss?hj{AX(IvOn03u1gnguzaD$%Js; zUnQ?U2*XK)EkJCu~~S-yV03ZH|b69e24FsZ+Q$EV%ilbtthAZ^y&2mFKO;7*8d))c5 z?&vKrK)f<=+DB+^&eYRC;%a+_{`*Is@o<0qU%j8@mEqCJV0I#9_(a&pxIq)tE$=S8 z`B(3Hxl}xRD^jg*_3W+Q&GHiuMaG@oHGlIu>Z#v(2Uc$A8$ON22RGo{60wuy(lolU z{>yh>2Y35+o%|k6{3ZGq-+O&J+>XvahaXz9Vy&X^d>yvGD4m)RXunka#L1oGito8U z`ip+|d+RssyYId3-Q_aM4cCIk#pZ)^=ys#)v4?u}u{*u)&2J}rx^$3xr2UKv7wPME zdR;SDA+S#y;*z0~iyYQIh&J2;;$4%fpACm>PtI{Pq9BGMU%(r56O zxo!+mMx~Mg75Ajpe-CZo^4c~qU-j?(Fj^2UNCncH4wQ<-;2ru}>lqJYh+7A^+ZKRA z+_gwuQ!&3!@Ue4f1{Va-j+2myrP5`gMC$cL>h_{Z9EzL>7bMk@*pRGEs!C%+LgwYQ za{vEPQgs68N{ZEi&UgCAVs#AJ<`pYzYC^WTCfifRs#llUB5@;XajlazPJ7|Mq*Zc= zU5ZVi&Wc8Af0XG@YNQrBO; zt-bNeIZf0~=ZQH@Rk^cVS2R`sMl0dy7OH(+|3IA}a`&mt)xG6ch%yL7Uw3ouk?tnX zFP~IJZDc*02Yl*UsKYD2G1@A{@(k7(7FM2y9-D5*@D}T;GIcZd1S`taKKc2oJt-?x ztj8vj2|X#cW#LEdNmO0ZQhnBxIvMh`bpRb>`$jizrA9ZgkyAT{ylg|<*{#%(#L1;= zKHn3qREKWgIGHBy@NiW}Ti8^UfIhVo=7g)a#ML%w4d{NOJGE9Fo2)YVz65E~^;P<$ z)~aV;8~1Nz__I|`CP;;Nm@!>)z~(zt_%H5AT&yo`tNxC9%CFneB+4~!wO8X?P(!AXC}D7A zh;*1fe5+4RtD`F)Y)qGed%(tMNXnlv(lO?6S>4(+lR*U^WYiLRG(D@vWY{*a5u#=% zo2G0XKBJ>*U2&zG zMI#cuAJ7v2QOziTYHYx3W+Zb4+|f}Dl&N^Xqq>}*XLM3`wYjfYc*P2{Whe0zL%Q@( zx#0)T;XJ8BXYjxdeOPB^^0vBjIxCcx7U<)q0T#VAWaZq z50DW35+ASvCN1_={iNrk_Eq1=cX&T_!hTOOQrTqES-OksQn`l_gfk20snu%}&^QEx zEnxYs?&eueMqKkf+fNOVD*n7xmFu?s)lac{y0pKlY$2vqRq19NX`&3lh9~oq{;Gpy zexbk0wqfO)1%GkzwOwjZu{0Z>1v<5#T5$wDDh;QArJM0ZgbGetD;*O>ha!f;Nu;=0 z-)`I=${}WQk((EFEl$srG3sVA z#~gj>0QGC>;FbaEIKisT(oF=bHeo&<*M|&Lor2rI0&zRU?$Ey(B(UW*lcrjdN2SsTmO8p8p5wz2LlGP^^=2@d4A9tq6SF?Lx-q$+>QUL zs~D;f3KKy>R=+SzwJJ<~a(`88Qga6};eR+#?MrIi{RgVU+}0a$TglZfa}8omhm6!6 z_W*`e%|@s{LV3MBLM@f5C^=dRy?oFQ73zDaTFY8~aj2TsQr5DRYp*Pti-~j@9Bxst zM9&zh#O0SPeWhMIQuT0N)Srx0N4K74B=7NJKrjG}MFFm}N2!|jiy=2;!z0r(^565* zk^yJcqWBvuo^zNQFx2G1KOT8{c!|LXjN?3FXCoDGPe3B}8uCbDoXFMJVm$$?Kn{oN z?dP7uR9k*Mdzi{fSO0Msbk@hZ$>HjpEzQFM1F&2 z&y2eJj#3XRUT^r-abS>J^i}3lcl&YbRRzN~xW1hrEr-ZxHClghs|%B*g> z4Hubh*^d=KMnYJ)2`8)ZWP0ypRY95UC#&le{@kwqsj7C~sY{-r{#aD;rL0?(DF8-m zGd*1y7k>Yj>a6A_xgE8(k$NFNzSJlEN}WQb_y0;&^4ah!HI~o7vmkrE)W1DTeF{f- z*00r4eziDT{egC8oUPo*7O<_pf1K*+Jf+_or_K@0O2jx_(Vxr;T`QN6{Mt>k^4#%Y z^ZWJE@oH{fZxTnErbJRoB*Lx@$oR9*Wq@`1Z|AD@Qh?Q#YY8bJhErPNq4?L%@0(yM-_e&DIUAH4@R@9%cj2VAOVIoIh|F9lXV)dyUr zI+T8kd{QPsZdM=Bzqw4^i!xN3KR{AHt_S@=9m1T{<^G_)cZR)>92Xd~6uUg*jt80O zG%oIyxb6u~U%6s4YzY*dyzZF@zu&rR;lVsT$kde{x>6y0pP(v3xNGG(Otdh2wx zrFH(@jC|3}#@!@Ehu3wuUKP1KzSO-&T_JtCw??&*H{PDRQT0oTf~ahk4l~t&cI^Oi z{zC;rRvryGN8e81k%vY}0E{1*AC zS`~UkXp(B&Ub}NuS>sw-ox(qqCDU_N_v4~#4L6*%0r4K=3)fg{E94|mfc<)lm%`HCu#3O^-uGDL9Ql0tv*PGOf91AOMR;Tf4 zev2CHu6#isb&D!5F)F!^s8zz!O}ItPYj3Q=22roE3X=x7 zURR%c2tfC{RUOc7*UjrT*x7o8Z+47YZ=jR z7C^{P)mJZ2J(J&98NAMn^jb6)ktHL;)>gm1K!r!|(G9B`16m?Xo1+7cqZv2=_?3pN ziLMCwj%3=`+GhVrvyQ&x+oG=ex>}VQWcspQB2!n$+XBwz?qvv#P$}X%I(%zUokKVq9cA1hkmBw(6{AyXDdQ zEK(IsK7q@C8k0Z8!9Vngi`1Z!n?+L>B1?F;x|FhHie9LdU@Qu?#rXC0hQ8R`C2gRIdSO0`pqDh;&ocj(NV5McY5PvnXpH zC6-6MXhsk~R>=)7%=kNtv~#Cwhx{acCq8Ot=-NBgZ#t~nM>HQ2!B-;ak*m27VU8+;dAtwh)@xLKFr|0H`em3<7J#}-Q1MA%?L;R9Gj z4cyT`2BnP$MuHxB70?vRJ^6 z`QD;$y;~jH{rx`sBrvi~({z#OL3?ulkmd7spRPhdi=v0e!*>D3^Y^eLYILW2)PWUW znA?!(j)z+i?s)ji9gqIQJ!)X(BLhugxqDq>f(dc{EJ#GZXlwcC9uCRJ^@mHssH3Bnmg;Lzk-;#7t?z z3W&dXb<0<9C{%sJZ5unUu}GG98i-XEnh}v8BAs{YR7Kr&4H*1OmijQYNugm0amB5JVN!xe+aW;x`1HCtG zL^c1bMFVED%{Vmi*$g*)!DVm12|FFO$avv$FMdfPvX5=zItk>!rDS^jdsH>U>JE?@ z5FM;}8t-u1r7m#{_{~rg@`gHJnSdJVd@)1#3F*&QwXvMiYbJbVD4o*2JJL zu!aukzD>QKWA+<2mj*Z4s@BbxX+q*VMFPfWGJIX?Q`h?I=o1-0hYgh{MO==NAUmG^ z?b-McMWwv)p|RX|T0pGqYJI4Gy;8MH{fT~&$aZ;G*Q_+)zhtFqQ*3PsgX{E$m8$a~ ztGF5Axo~rVUg_3`dZi=@+hMzmhHCdmIOl5gQI9CAKFVW|g7~h9#)vu%n4W=rV#G(SIh4um#UiTOMo
    xRMG!=z*Fqh3>*_pccYW1evymJAJy{s;JN@WnEb$tqQpr&r*Q|d~m zseqNiP72vl@Tz|6Y4r;Jbe2A&Ch^&4y=v+1RCR~0hsT2bzvwwNzh#}U(EuY|&LZwl zrNVOh*7bRHD9rA8&#T!K^f#!BDi?Yw*$in98+)v0j}bLB*x!H(XKhd^^8)h17vNHB zbk&Q9_G)zaBC_Theb$SrYpDTvz}~c>mp!f8h&gfUu?4QzE>~iolG+BLQv|)oolDRw z{Bu<}d8*u>26&P(0m!8{_F?-ENt{6N)qTvtJDQ+BByk!a5`IE{LYQm@>Yzjd=`cdN zo{7_}Dgy%Blg;JPXnK+p98f#8F%=5BSv(b|C{r6FI7}y2+?Z`Yh$XenW}I~UgKoa* zlmlmH+aJ`g-vtMbVKWznGn*K4;$(u=Wka1)`Ci+kTY|+NZDzBe8;Qgox{;$d(vOsB z+H7umWA}7z-pvI_BG{pV7tFJWKfcj)`+SR{fzn{$sqiBiHOh*H&Q#dmUe%RmGXLvo zPW-?$r(_|gL<{J%P6l@uyTgO;uqzKg=o&1;6;b#ez2QGD6VXBwa0F^( zURr}PceaozPBbOB-3G-Vewz)l^TH=68vKF{!_3M8=Vww*mt|e@H6K#OqA#B=02bCw zZw&bitDn^GzpBzXKuI)Fie%>kU*Z;1;0vhASV3ZB8KA^6Kz1p}1&|c1BiR)YEOr7$ zo5kD&JK<8cKmPFL^B5RX$u4D=pBb2#UnKxJKJ__ z3_aqWf;}mKWV>fz9SR>Uey>W#BWWiH6<9SkkP}|cME1kD{C+sw?1wQjTlsoU;EFNY zG*!Vh5RYa9?E#JoPtb>p>!)^)Gkff7|DVk4Hz@-!0vd@SdfRKN!Y=RsX%;!x|Klv~ zbrNOc*P|gGhQh(&N6iiB1EN-NW-hUMCH^IsJVfG`2>`WZ7y6{r1dec&!lL8H$tVkq z5sKdcghUBYGd>-H%|rU{e_SKbJ=%XhAVcR4)@0aRnI62u%u-7?XApb(Xr}8=Dg0t($~C zwaY?gvPd~Tt*|PZAa8e!Ny|O={hJcp9wWw{^ClZ4DJTWW0$8FRi5LVUm<0rLf~iqF z*TyIbPTn9H;q{Dqgj^$IRVLJ7FwG19{07S=s3PEH`>?t=SPfduZ}tK(W#w~Ed8uHk z!4aI9V$0lMo@hI~W1u(_qb@)**hEB4i-5P=r?dz$^dcHn6N!DJi%{_Ozh7-mE`zz; z(cuRj^RV^>1;TfkO#azJ=>q!A8z1dW{%|AeIRfl*&aU5SHDgAHv!6|bn`My&DWm5y z0}fQ0mCXdiJ=4OTBwMIg=r*G6nl5t>W-2%lgea4Bk*C&CizbPpWaMAZh2Hq1Jcl<^OoASglk6QHPTe}iz_TL?=W-)y^3ZV` zkMUSIqZdE>;E5x;_dS|ArlC(k9YUEDR)Um6G}fb&I@~d(F|Wym-*gDyF+H_QB0uO9 z6ttnC^zgS;*CvH=Q>IE>mmG`P($4Zb(JTu}*%Zz4nDD`8AfjL(V$bak_xs}LI8brc~g*%A-yg@9H z+lkz^Yvfl%ezt4m6#U){LAz4McpR84<^T2CbIg0HEzc2?0w%cDDykZ^!i2^9O~xzphd>oM zn#_QZi2;_eAjL5jg{n5MDnNP{{@d zeMe0;%HqpWhE^JGX{DZt1M@`GFq6<<5&%iS5rt9!6JA1(d0%xZ6<{O^u&j?_YKfwy zI4UROi-+O-H-;e)n+<;KD5~6s!(dm?LH0-7!BW{1M6o;Squ3Ed(NY}MU>NRyV;Hh? z{`bRRchW)jY23k5*_%YMOY5W9nMBc29MxbL-hX2lvcv!P!(hkLLH2&!!BW8tM1dpf zqrf0U(NY}sD}$len}bmfZw^GZkDMxUG|FZdbZi2t@RJIAYC?>1pub%a&YxCr{LPzY ziUQz-EYg}gtuf85oUbeXq7ME^GR+gI$St_IiQGxXH!o;wqmzYyMNr+>AdfU>=5~Y) zSg)+_icV<;O;Q%DXmBFIkgcY}b?E`hV=rcJe)^B!cUG$lHZ&AIP-zNUEqpAflpwV>h z7InqG81^MF=n)4z*pQOQ+j%f4X2V<@I$n;lKR~bRhL!;8HKSN0(pT7hpzlcRUSrVJ05c~?PcMwz_(;ty0Ag?f7+>5oQ%EKs2}Fb ze^o;ow%B^BIs<>}7jISl2Hgf&bayvjKo`Yvn-{BYA%vh#^wWbS=t05Lr&Z)PRi>MJ zL{zyBL5r))-_)qAg~q@ta~TK$K8VcM!K=D|Q{_b~5qi#@rtkZkYMER3LPB=XTH~OU z>P3*?j^@zZ)G=JwkrNa&FLY}n_(G`YD5F_zHc#5f`z6wD&>ahm+FRiVd!tg8C&l7gw1x$uqsuHsdhx^~H= zSAVPyD35F3EtSgqpSDYpJ=81Zs2j5%CH_nKPu}wEC}eTN?(eCA3jN66RaNfCw?Y%) zdgfz+QTE)uoVhlPM=diO+G)1E5i6Z=YYO3q;kIINP|nJOWbME}TT|iJDWobanfT+w zrp~OHkaLFmK_3PUjubATlh$x?JON|4C^1-if>^}L4hIw1G9|5*qvSCLjO2-JnI2-U z#E-6XiYz$dC81G*$dNAl2j`sQ1Vf0O9vzd$^CR2C$SFXdZ~;(IQup`=+PgFB?*0eL zXE{4@mEneH#e$i@YfPXKkfk%)1dw@9XEZE(qU= z(+Ef!#_N*Slf<%cbDT&(60www3YLdk;$jew*L%cl(sr^IPf z7U(lRSFLi>;|Kzh`QUu!gTtByGF*C2K&b3dbeZwe^HJg4IE{d$jn1cy4r}8&2}qqM z=j%KQ%d$ex2XK&BGj6{iu9w4deEeiq&xrxB2} zpXbwl&H;@gl9@?41vZ%w=v7t&1%BROVFfHO$FX!s^4aSribm@yD8r3ln}v@7*%PRZ zAh)mvU_UA-ISYe!2N)zjwik`T_{%I6OCAe;{4yoRiHQN5N|FPTb-OR&pQ3EUmDeY? zk<#OUA5nLZjb=Z_rv(`~C8P9mv?+E+N{;bA=!-=n=hx>Jpx!*s6A)Aw` zku1=Z`+W$nC%;tt=g2Huz@(;q34n5?3oIR{AUIAgLqJ&Jnj!X#fS^IE!yFuf+f1a% z@RiMA!jHn}nG*%?C)~Z8(~FL8fRc=&xw(7}gL7&o{yE~so31H4Wm<9lkLmn~N-SE6 zq-|YX)w=qsxaoW%j((!BrkcW<9@{6bi2kpM^5?=e_4VM8wj;uiy$IHgNchpJSR`B^ zv9g3i7A>&gDg^T))e9ThAS`_;q44pp;pbf<_8dY(?gpSh@GC5rV9y-LKu=Pp3} z6--9WoUCJPm6Bbq2n?ssGRJa$fR10hGYy4osuAL)pmz{7=B_FgZVkd!ZzS@$Tyo`% zw{~O9_Yb+$h-<)*I)6t4pE8>p^thG}j9r?QSH!G%!3dmSD&m1JOQ|Y9s)WSFc^k0p z=Gs3VnN2B>^GX5}wEHE8S&JJwSkCCSRMghvh)~1N7Y6dr$Rn)K^7#hoUy#nfC_N{F zl^gB5R!(3l_>v6#tFM6B-Be$N%-gLveWzi5s3d;~nc%r1+d*oA=7%tM5c;bcn67>ri zD`I3#uMC{#piCmMh8u1|d8|M>gX}Mo&H$`JEQ1Xq>C9fP73eHw40Ib>I$FO`RdUQf zC~r7p262Z0{AgKsy>{8bb8<7HfrOilwjcvs=}DxS*l2sjNrjTN?(UdOI%4^v_t1(n z?I{pR+~hJaofdH$^0w%1t_^$kLoXFIl{bpTiG#2lZN61Kgqg#z7?qZ^XD=H0z$g9m zTg+#w^}=t}ji`Y4|Cf5DaS{zXt_iRO)4{)0c^g#N8yOXLY?R7}CRl$Im|WSd)P3;3 z)ti;z((sPz+Rf;Eio~7Ltg%fWumdH^_4>LU=p&Q;o*k-3jw=Vlw0Cn)fOWCMf!XCH zs2fF=c!CYj9OV9zv`ji%kTyD>HYS=PQ&TjZiQr8^T*EQy2tMGVp}RYrnTu_u<2Ks~ z2uK=N?=NiFaKNl=`{Gw=Gs@60UBJnJyABI@3A6^pNB5)^5SOo>_Z&h%H+CE5BED@bg1=stPZO zuGC38)wyDp0n5s1pDh6%QfbHxVd)y#x5*>{Yrd^Ju}PRYdq4jS{?77;IkRWK?6)&! zw}>n@-iq1n?0@?|L8b6m#~*sAn9kaGxgXlj_)7R|%meGA(MYY2#v7TbXKc6?T|b*! zzvB1}^Gjl|NB`DS0w(&esy9izCz^^fE8t?M6;b=OgzUzL((F%X#Uk?R7_KkSgZ zTBMV~Bgu>-tP@HfC8GMpOy(}gLX+%fArb35yA74B9p#IKL_0n$V|{FEVIlPh;2)#> zYuGVwDE}idnkd0&;z{41#U*e3RYWcQ9>y z2hFYQbY|(D+I#NYrhu|85@C#x8C~1TFZIU*bT>AAQzeQVe z@_MPs*=C%S+Z_EWK;&XBf$|UtAE&ToXENkIs_-t(9x8?I` z3%^xcG2=uQHZfa*aoqT^y`AI40ySNN))o_zDf6qyxqlhpZwu&}GXDs|@06LUzAy7D z`Bl-7!=z+EQd5&8$Tg8MXgtv*lVM|`l38xgrl7Uo8U?kkt^LE=Tcjz^ zJ58A+`ic$;?QHEyPRd|ZUDMj{n2B{5*4!$Gl!M1#4~d@mN0iK?GD-bfYrg~Q%F1&4 zawsodya_J{GXRPU9#$dOr@Cdi|17KXez`xIPoD}u?6eea8bR+$8~}C&;`wtvrmxuO z&{@NP0^3PFr^3IinBy*ZmpxZkS?Ob6oYbm~e>nEV$F%W#VPE`*HvYL4w2t_NKe$Zt z%>>vD^p*D7`k4U*$q30LgBTlwpoD2J8Ihhk5OzskWpzbwHcr>4w)Lx8@1?A6+SYH` zZ1*w`wDr#xFwb`fp6#-@LD;ZhsUFylUGlCzsh!`inVnxG)&L{N6uN=8wDSj9Cjj8F z%}?R?nzb`0JTT1rG_(w$*wA*_H2TO^&GydllN%3$w z)Hz*v*Wsf5=!z9SNKZeM_4iZaBtc(3%&j_rbs7(L%9ue-neP}sC3vrrF;>q<0%}bh z`9-2RpO~Nl?qsY0K;U(UcJODq9hv)XE?&6;Svm7K0e%oAWQfirppZ%G?>hPWGK4;z z{qjmyC0~FL9^WWnv;DlYKLRL0)G9uN%f};2jqBM%D@~C6V>BI={ZnU}n4wF%_!CP2 z-w7;c*8Ky6zP5|M4{fjR;veiJ=X8}Hb$z<}o|9fFQ^6`YoKemh!Z9l_Q+ttdA35_z zEFF*U=07F`+&z3YrZ!YyA+vRG1L06O$He-w3$8VKeYso7qP!ukF6_z=$6g(!T zu}TCQ5qXSUa?q?`In9Z%G(XpU<`vf4hGpK6tIzMxFNc?7$?|~Csk=}ba zh;t|hhiNLqo@!)Dm=lfi{LRKW=%L_*}$6{nwU< zX%|}B;UXoT-#so53n7kh#G_%s@3$VHQt2`bsug)4+)2hR$t39MI6_0EN}k6?%Vy9Y0uHWT$yKHW8sGW zU|+x2i6ZR~=CLxI+dW*oNPgV!$r)vIp5AG0;vC}W9PAi5m}7&b!dh%Oo$!@f^CtWs zah1mYdIAYRGnk#T`uRPR*P|~d51ZfAk0Yr@?{l1AWnP;yUe&f@!W3>5zg9gHU$SY1 z$6xCS0OC}`E5s2ni>TKb^bp>i3FpyCNHl7`O))3(GnP>B7N7j4hxv|iqvMQ&f_Fto zCQj-5`=#nW(3QTTzh7Akno0h<>KO-zR4W3`B96S#0O!LFsu7 zf=k;J{`$fu7lt#Dp%w`$Cu4e-jHsbWY6|xv@+PViya7IlWk~Gs5DAlrm8{MSipIwM z{s4D50_qR?(%SNd6QaUNQI1-4eI!Gz$v|MTxt$!~*5Gh&U+HIqk_<6kThgwI@>YA{ zdy=<0t_1T23?>J9+hDd=Al?nP;rix|IRilJ*qtEGs2c2T#^sVcwzXN3U_ZiFI)~qN z39q;5*iE_NJ+hV?O?o)ZC z>xQpOO6{&i=S4+p-0(%oP!ktj5G7Q*;nR{(y=zGfU`(UiobWNp0Jm%hwJ=K9?1alC zVZY5LrJ%pHQI3sHc!%Ub229cLGZ`;>n#9~ZUmrHmAC#-%r8eepO8wUBEI*Xvx;2sc5t+58Sif2n=%V6q*Fljy5@7+IUKF~NJR(2mAr?7?> zWFX?wxV&{ODnc1b{%)|}x9Ga0A)1yC_S-jJ(OmRW8cCXvQ~LA4ehbJUe~8~bmjoGe zIpWKe1eX}*B}sU5=-0&%nsTTRT;gYp&4$oUFhNPY=3@tZE(SfgrAFab*od?@O6+lW zBn(~44UQDclkWVg^-ZD(P)wSkYW1=qeyirzOh}UBPUzQ%_?<1?i?gUK66!RpcU{R) z|7xeNp_^fteraqqMI(bBr-yAU%`6F~Bn*W(8WZaK$zgu~gDFN&rC7{R?4=k4pcLct zOOZW7HB)`Y^F(AZbbn~s*}8gv-#SgRt?AqL_m6DPoQz~*n4_ebR7qpnsez?t@|zss zw}S%ib%39B+FCl45~Xsn%E<_=|I17Mf1#!nM_Kg zoih(Q>#WWPLWb%GL;vDmaUd?;!+|Jqav%yxSpT17m6H)<{!iJ8=Fl2t53PBv!{t&D z|GD>+c25o-t9jx`YxG4##c^pT{AwD$k^Hu8qk5C$c$OsVg_j>$Dy-VhodP^b{m4On zkK7yw*Tt!9BbjITa6m<5G9LcVgzqEl1CDawb@r__cUTJQC`SO z#$c`lWmNX+K4~}%b2pezwA~I}UT*%?!HA9C*0&t&cRrwClq)*tM=6tGPI`PREi7TT z2o{J3mw{Gc?yMQvNw=|a+euP+Tjb+CQ+_zYsLUCE_OSnpYYdu`5}JGjt{X& z{NrE;fk zK>ZRjI5sMjo?PoPp|XBy^v#K_A7KOyM&boOJx(@qgq>ug#>1F1(k~076ur;Hz@64Jkrb-`vmdC{NCE0){bVc=ITKmr|I(#^Sd8G?Z8Z# zNNokfK<=S*Tavt>+!?cj1xw zb%(Pr78z37%-f@*%)IS;gnvpip3Gqk`3abOt)6#;-@m<#mkE%4XvtGMN)#W%vUB18 zKRd!dtZ}sEQOVOIj`YW;&?1s~5!lj?9O(}noMirr&HPO^GmOcJ`DSFMh40D~r$Um% z`?y&Jd1QlQbeisVl;68u!77+qa8U|i7n}WGeXYLeD8yhjdiGIZ=^DM}C`8gV`lF-# zcEz%_eAYpi9PRhYMMxG8QEt?J)VhqtqEM)FJd~gxs=!g4J4)~u!UDK@FJ57ASJ`+p z1O-XNV8lrn8~d7T1Jv9*HUp)B&U^Tdrse36jzk$N0SuF3eriAa_kZH=NY271uhJHL4YKqOU#1Z`a>6vD}~+ zQG-O76OGg!xl959)KASjyuqsi<=^RdkMY~2=eyz+%kpo?n+zTKJO^6DcpRcL$M_X` z^U;2ZK47$8)y%YnBt-_pu3;!+NBbiin`p5>dP}b!&6~pJ_cngtVF1+FEvsIMjb4Vm z7tGg9kM;LM@`kzRPH#fiFKC$gu~XWo8-9X&ChlQ#m`h*s2(4#o=IYn9PX&V6^tjRf z0WF25&ga0|#^lg9jP@&2!)-Ah$h7?dq>ebw@7~VL3%tK@VW6%&=_rgCq{7VO{EM3) zXcj^1NSM-+;6B~@cz@zxlvT#1GgzW@3b386!X(8;U?@34=> z^THFy`@J}3?afr$5F|T}_d7z6WKQsZDMkzAXQRIEhsVtR=oxD|{q_7pIQE$PCX{>*e`ic|%)(06H!r-cC_Z1v~;O{ys^$?hs zx}>8<3=%G792T3;)Nh}NB-WBiJ>JeUz4C%fG#WFAXplCXfO*wtp5#}avaABA6096u zJnwm^!AvETrnUTv=rF4PTDac0Fy|Ig)2(D`wL1`>ZGKoKC*+xao55*B;&UNf{-4Xt<+%cqU~X(n@QZuI&r%& z|70%GuF-30BPVkh%M|Ltz?PM1)uxHvR(rSchgS$@iARs@(oCIndCej`lP0oq^6m~b zhsHFH;pL1|1wg32c98%*HbMl%;r0rts*sqLpF&KpvBY%Qeeg)|pSVfFM>eGTw<7J? zaEf0QJR$-kUOI#*vU~lXr}!ORmZj~fJ}UZG>cdX;4|LZq($h}$`yFoIJd75v!2#od zTje+rG%e?gU~6-}vUGKK`}V{SPlWSQZ0i}X{c`TMlom`@^PlQt~UjZXKww|q07M93y> zTBJvv?(dru)-~Tsd{ps;0;C`ZWoSSR?ympS@iMJbDZ;rl`oJS-i9fs zL<*f;hy;Ez#LG8FjQMELkXn=sv0P>VC48XWA@H}!OPo1rGkuxt9H zlue(t=k&M-@(o43D_T4{0Di@4V}ckN3z~SyXs70^b`=}m=zOKc)I}id%>}*$!s>bA zpnwe^ftgGa3A;uL2Z05~0^cxf43nUF{KvHvSHmi7?#)r|9N7umc1?aG$%)m>|7gQfC5U3VLSZs^T6}QJ z0RS_v9sTtgev90kIIdTsQK)b<8SEcCoD3dH2F=jVFvhn*Pj|TdC#JL%78%#rCa&v1 z<8Lq-vO;UrI^(nMDDdV+8z)lg8sfZgy@^0yUsB(kVj0tL69E@%dMtDafvU$L-^m(F zmCZ!pcFRPF44+hGn6Bnx_A9qyG%a?$B9zC1I#xpyjYj!pPD8m4gGS1~`0<$Q_>rSZ zr(;6Y^W??JroaP6Sb0wtdh?6w_xOc5?IqP=pMU--Ax=sX#py)&*`E@TCj_4R8e8a) z0ustPq|o=iq}rzJoTU>%%k)g=$(H>rMJ_&yqNhiex!nA7O@N^aPdYG5=t$LG+juNf z8+=@pmB+W+Zp7Ww96fxa+P`hy&xIKk)4+AcSd1JJZ23j{=8dXbUjF~wMm5j~{xO_r zDm0EE%y|@2$a4Wm%8G49)R9NK^Z2N9xo8o2ux<1Oz<>}jPM5H80ExVcoq||=*@v=@ zBmh=I$xtlKvcm3c5<3hrz`%svWX?&@ytqZ~5n_aY{y?`H#UC-j5GUwD2a6_cab$tP z{y8$Tz;MD12~02=nABL%bIlRZFki2Pyl});Ew*MVvJ;OChgxHfJyk`=`ix~^c)XLW z{V{ilo-Z|J z`H=vHh|<1!!>oJoPLa@zvEMJ?#}SwS2+Ry5gg|7L~0t_rVc^S@jnQQtNz1Tpd- zS4j5re{F^GzC=I`yf7|DK_$;%%h#M&1nbw0bk;3r!1g~b+#WH55!iy^(J&5iScYC8+dN@P3`odZTl@;_M@$0fJm;tvRt1`8K)RSvos-Go z8k4ojqd}wJoDAMB!n70aMmCKr{s`z&@U*#>I2Z&HAvO*R(F#&hnhMRk%wFVusYuWq z1vn;SGZmM|YEL~jS%1e8s32EB2RNtMG{A?n~l5~%`P zM~Ye8#yD{b#9!kROcL&)<>&-lf*6LRT0>;9nM5NLmh*X^R7g-nslwgxUO zkJ!X@tcO?6czA_X>5wU6nqh{xI=9{?#s8$w{gLrMDQ+jZGcQRO5!kE$$y~zHW6ZC3 zcnw#JBgP-$f6^2GlRn#N&yHySEQx<1QT{*;G;l~MG=J=n5-%^}krI5gi$_W^f&1@y zq};1R${b)F!B={Z9x3yH0K>L-u#8*~V!;fa2BbN408}|)VyH&cCoZ656Br+;W>aOo zoVY^W`(8C@P3)1)t_Gb8BFh%>1+it5_4~NNUMSqg^1dqv4+tIM@a{V}XKbVQw1t0Y z7qPWtJl0@?TZ+AK%mq^>T~PHqnHpdzVDSnOP}1z;BKxGH!B?X|N?e}HY8E$iB9RyO_@BxO)`6Tm)Yg(vg)8n-5u_SZ0N&~3Pg6_@HstQ?4nt-+R zEjK|9kf?BhlnZM&3R0k~_zDPdGn@l*N<0bR*JV`mdQ}71f|N+ z!ep#lIMV398yje5+0rb0IJ5G;hG-2ZJ^VGkh9sdMGh+{{J|>|nd{ND#o^`TJdWU>E zPv20m+;Y)-r!J(@Bl3lCc|;-O@<=!z!F0^)au*&vEt@~cze37vMjW)Ef=9(j!ll(SNF({V9*xGBmFIQbJTG4)b*%R?zDyMSve3MGd=t0Pf1HH>6JOu8zO!k1 z#}3++uRn)5_|IJ91`#|k0!A+z6-VhNq8neKeI4XCs5Sl&*9adzW2I^(u8z@|%;imq6}8; zmxUA&wVh*1p|{cq|Lp6xyR5Lt66^Pklubl@R$iP$2?OJ?9Ldce4K*-vUWl|Y7l|9a z0&%0ai@1>u!g{UysJ#z&l)c;Kb%dfL5VUidfelv|ZQrVc1&(K>VJg&eT*l7w`>qq%B^Ij6nV?SWe<6ZF$V&i8v3 z!>Bn-gpv5#O$3rM53*3w%wORcip=~OFAyZ7>1yT$ujHwxT%K=n|KMCE;_+CzZtiE0 zo5zy%SfZXq&s=t-%Y9KqILf6#A0s129)B)oKzKpqD}oC5aQpC=5xk>uBjS45&Tmf9 z`%dsXxSOWvlP35*OKAwE-#=)}pz9But&cs`Ezg-&(oP0yRb=%{j}gtAeu=E!2zAGr zIHA+Y0O0{-G!LhgMT4jdw@qoxGkn?PZP765(#hL`Gb>Z~H+Pyva`_~XkYEIKfis?a z1}1?(E?Y!j5tBn~wHO;-HX$tIEhmwv@Ia?n&NL3^USS;SG#2s%5{Suf%v!U2zF9u$ zHWh_*mJhZpEXuy&6?M?{LL8e9ZW7nML5dd7m0OQqAJrY>J>96 zKTD(DGSBi8*Zm>WQ3bn-3;_s7%I|UAu=cSQ!2|l+iGJ5yX}an7EEjf|U@|P~Uz<3x zDjdwyshI9CbB%%roGjy#S0{aDqgzI-NxKP6#x;{SoM`bW3Yp*JFb3Kv!*m0RP>&uA zbyy83q7GIEE@WQzuuD-&Blgv&` z!wh40%;Y+H=Y@W&VJ>O>7u4e0%}e9Lqz&bpF$K8`(k1M6JP)OV@lcut`Q!pC>!eHc zu@`}7YFTg50+1UL8EP5dFkyVM$|NOYnl z?h(OHv{Zbtko6J@2xU#EoKS}RoD;Z?5sn^7JkS0v&0Xn<61 zi!aVXlC`o$Sfq66kVFglNJ^t2iRLy%WXjLh%(#)Rh-h`aS&IRQ;xLy1c_De?Q7g>X z?2}giHgBDVx4p>Q?Acr+Y67B4>kY?k`UP2AN=*1|4Asa>e71n8u|6$|_S21auLqUw zivhrrJ*Di-(XryfenApSE2a?g$lVLc1T(iXqQds~8r?9XS)U8USe_YAr+F;RE*O@9 zgk-_mnUE}4TlN``dqRuBIc1BF07?k4)m*lkD_f1t09q2YD%onqW~&h^TMb1MA>!C6 zva8u?Wd@vN6X93`(RcVa;0T&Sgu;IKx%?n3cVzXzhS{!o*h^YCRQQLaOP8_l>3{>+ zq*J@jPZ~FpOka^q5;+V6iL`_MFpA=kI^N({eT8SPllXw(J_?k zbEabgnpHp4GgAW+PcwJp{Pfu3R7PIrb}Xg%Lq*Y)mJ#jRDGQdSUhd%-uxLsbNw+{{ zuqx<_rObNk(ZBOyhRh;^+}P@7MaG6r#zjETAhwiP!GaiCGyPy_K>>LzAqZ4{fGQlU zafLQ6NHqy55ty4BS9drwB*vcM^6m{DO=u)SVZ;bUVKXuEiYQITdH_^=-fRTXwmr0~=VTA?U}M3ZhKrp9Uhf7{8j}ewgR?e~*Fq z3%c}Dzf+SJI7=|jji^37{8GP*`@N&jxzwMHue_a?`mV#*{e%A&kGj{rlk?XURm^lU zjnjfx*D5SCUJ*GuhbQ_Mb@yNGFLLYdxz2A}gqiKLGyNL-##cCR7*3oxCD61wXO@4m z`;U+7o}A_1=@HQ5=VF|@_9}hdT>ol!mN#yGi&MQTOaEo3;q60#G)h($pAT78qBD>Y@y%J!86d9uFgb`-yA>sH_HcS%-8R_B6bAS4v+MA~v|^^T?fP|=DSe6Mfb zYQ64Wzf;l24y(LKue{g)O{dwsR-A_3EY3Cp1r>p<`GKaiW9?5Q1;g|smib51)0>z1 z&s6@a2x^U1WcJf;N}j}|#kukj&ZYOU4z#xTKK~r~HeK!yC|e6RAzn0iR&2OSUb|JS_j{IduA5t8Tj2mC9X6}roV{xJFZ zs|Wp4n@kcS!}cM8Ug`@E`h(p+y{L;H^3AJ|10V8xR#?3&vDo{-O*dwEDO7MUiRv$}^M{Ox>gQ-S^`}ku(i8t<8|cWVn{%r`Q?u&)LyD%9 zr<(>Z>i6qV+P+s8t@O1_!-AFmKxanX8!P?G%^IDw3j6c-^lhuyT~F%4tNqc*yA%vD zS!-7NZ#xg`@oW60d@3IGk7>2MwpestGZm?Hg}{BO(L&LeKk6S`a;KYt?&3}6ieQa? z@lmu~-_^|?^ZPjO){S_~|A*`RS@(I|?!C-6P;XFcu- zzfxkadBQ)i@#fAjQg<0EvyD&qvn2kkCy9S`AJCDFzwb%^BIkD9X`SCSbvr$ROlPK^ z&?m3MF6j>a&^l&fTbigl^v-quPr84Y1{8UZVuD{)h zQptU~!!!OgYFPG+-<{7}&-g!+Aq-pZA47%H*ZXUoC+m)S7KB#xq%c13>7P934~y#AW{N?3(^8cL_i1%QiUKe#Lh(kn&jRyq->fFd>W#Tm0@?)UDtVzxWUfg0@p-u+XI zHE8RpGy8!j2lvUQ6UHC10voru?^YmUcF#6j#Eg)|g3@Q3yOw;qkW~@gH0<)M~z5F|H8nA;m?!d$^ z2$bxA033LXTkUi|fX~pK?q~2hzSG?qpZdG7R+iSWp&YQwJuN8*4Q>q!{BFP?iJ*TZ zf2H+F!dhq)1a8@l`GO3x_qcoFb8wIQ34A*5b$4{{MV}v%{=M$lMr7X$D|KQ8()xpC zDT!sW9R?Y*kEM4`ojNgVH7?sQAetR@#s_}h>&{YXcw8@nLXhG6-7(~7chJ30Exa5^ zKj8j==PN?nmJNvg#obSd$is+EqP;XJ3~2%x7^(G8O<$iRonDsU{ncT23ngEkIt+P_d>MJf-3%*e$`SXnxUWI6 zV94X08w3OH>F`WM6K$z9j=JO8?ZYV$vwAdCvp|zflGoVcB2vodp}B<%MPmt_j-mTa zH<7xL<7qPO&RUb6J&MiZs!TfyMKQDGrlW3O#0;QiDg7d~N*9m1J0Ya?G55V##xjq& zhYWlO-zoRC3QKYNrKxc8GuDjpsf`@fLzOQ$ z^@Cqrq@l(W!AvQ=(5Yav#0)}5prlaKin@UN>*UQMYmhQBE01iR`S__ zn9J_2YSa|Wr9>uj=?-CveEBLS^3*`ZKi!!MsGCXG+z-1*-d_FB-udBhn8_ibTOxX1 zbctr6n9)g8I~N7N|J20u z2zyrlOPEj2)Ws8jm+n@Ncs^9Kl(IEzYdS3~>|&bUtH;Rx5h6^U@Q4M-Z&KKeWv%V6 zCdvb0qBeG2x7TVgH?>hpl8(xe6=XQdXAA68v@o-l*%V?hXT9Qsn`3$#GTj+2Uj5(0 z6+6FN5FwsMo{^C^V%scI^nmw(a^5o|MM?#1Tk2R6n{ka!#3dazqzjSacEs)!bz>&a zM2V%YL9TJbWuHepak7~qp2P|_(%=$L8>Nw{!=q|>D$BYRL~leHQ$Y|(7)Y)t{!p;C z_@YJS=#_Y`z#uT^VcAz{Hn~7W+z~DASFcA0rbLSum2hi?NdjsY-|K0q|(h{63&bu_?Tgc7EnaOR9`B`#)>J*KG`BpyiMqQ z7AH~_sL?-BMbrUSmEuK9=+5dEFREcuy%;Z+@CJ}~zrX~>)K94@Cf53kO>G*&utP`N zPY_-CY*q121d-IC*wSB3#8vtXCoR2^18RO$$mJ79>}PUrHBp-umTlEUO=B)1VAS|* zb%S$ZjaaN#wE@>aJQ1r8>P#Y*x#q{Rfb((<~26R1JH zPAqmXy?UPl^%*E>MNKhUSs?GJCA#7>x|Zlx@my>3Tx;VJZqPG`>zQJms3qpA`>x3e zwZ%xyuGyGHhZ1FvI-)rO#<+?b%7t}A8ntAzx^0O`?MQi}P`D);F7x6jwe~u|;D?iCw zQbl_zJS|n!j2%cfMiFh*tiC>Izns%IF#=-@fnTMH>QTYK?7o)g;Z#w-278KnYEEB> zr@sYq#Pt@o0?l;3g}oQ`ZQ4}~Rq8H+b}^j8jCHI83yU*d8(@{Bn_D-GcAMWJ0;b8q zTSV>n3$*V6iR`|ZM_^!3XiQn8zVBAiHhRu^r57dxcox(Y`iEoTO!?}q;-#C19KLCY zjx-4ABB$LZKEc_!S=nbwDWnJ>;+l5vw?Kop+-SCm( zDOeJrXA#;PA@$HrG>=-V@J_iFy9=m?WiquJP*^N~?k1kYbWOQKJfp0V)9w&=R<`F^ zAqzfKzBdM~ zf2Wv)lAgOu%!r?g{mhuhr*yDFU>-fGDqzQ_0?y3PE6L_}iw9{?54l@pC^)x8_7Gk0 zxu=JysjQc8^$^o&m{sm6UZ$_VXX$WT-?MbMh2M**LE{U{%{pz17LOWd2mbwlctrss zhaMD(9oM>g!#gB?VsZxg?6UB_ycTb9UD1FLP zg6W`-pAuckz4)kmku?H`)M&e>O?bS2C9{)Kk}URw75qZC`+Ce(SpQe;1%|a zXi_CON?Ai~XsAY-GXwWMgM}C!^X9YS5yEBTv$$NLGEY1ws#VQwfriM-0k)SET1si{ z%gG^X##j@m{k%BHQS}!@TTEW_1<{mJ_O+bzZ0CN<8T+DW?*5FIoqJxy&WCMu{7bl) zL7B^65+iBHy5kkR)rB_1>a0MTK8ar8yCoID$ZVqhjvE z)`K?;($MH=tjtuvn1jW=mg%?)<6KFMw3;i>^fmFB^4B5Er|?s+ivh$F@P^%Nv)kpYZLaLF~kZNRV;*vh%9zr3#U zeL*WJ)8y}Oi^f!kI`4>WiZWSVd{^$iAwT`=ms6opiH6egDx11VIV-w9Nd0E!L`>~2~Yf6)N8haWyWx&ls%9x z^Bi4RuOMyeL@gw%+t(^6V$&APEwFO*G{2CyeIQ0xKeq*feaDCZr6bHRi}g)9Zyv@`-yFxD9pUBeW3d{AU;p@Ty7s$Z z?@udR+SarI@=&1bqjEz5ijKPu1u+7Y z-x~^2ZlC;WsNk!}UxtdFW>)x0!p zv{{&?U{1D4uYwyXG20mjo&y~k+}31?I4_CpIZ2^dEr(2bNIa`f)W*p;bN-mTkv4WMqQj$BArfLLODneC`h;hxplaxQge_R4i6@IK(Cru zjScn+C(6!_=p7*v{8q#=aqw2gxD(BciBDytqfeq;Noh7c|lEx<K0!0D0t1>x#PYz|TEAs^^3^Og? zfa*45vl>rns0>t=(xhz+V(?uE`>OzL>G{mSpe*W1lkD++|12ojwRopx$Fr5sd-Eao|7L$BA2|W7C8Xyya=@O z@)Nww>IMRHLkZ`=#R+EuuoDt!CnRw5Q7)OlyimG4xH#QB0CqY8?Q{fY{>tf=Y%~o2 zBCKGL;e+q8P!=oU;w+W{u(Kf0&Vs5M&?1Ti`2?^YOoD&kbAynXYxHw%Q06QIlb~*xAp5$}{?h2*b2N$Q?8K7T@Zm|&u}vkxGOZyCv1Y* z6K;pGr3neN6B3wtjuR4C6iS#27pKbsU>8WBosPhL=Q$mLM?&f5z{Tli0^oEI{~*{- zNMOP5oRGkhP{KU8IN>}1c7X)i>Dc!grz3E}>fr2K7EHIKG#!CrBd3I@X0`24ztmGW{CnqN`8_E4v@wvhDIi=|dw9~Wi$6Ol% zcZJHG6HGU=G#!CSM zna9Ed5r_<--2$r}QV~lX6Uamm(v_kKGQ>^?J-t?RYEsa6C9CDOSt0?nP~g-oFacMx z#BV5b?{HPIUa?2b5m&<2Dp8=QK$ESN<3AJYD8*xQ#U&+Xx7+6hJFKa`gXgRo-9b+a zGk;Ium3g=dS4&opIapk&KJ=SmO@t*6u$S!7&7wV!av|CSq*~Jo8VD!69PqL^StczI zt^81ZPyAm%V%c+Qtlvqh5-j>j1?>sR8~i{bA%iHwebcQ5qIYyCk^`M+)s3!W>5_+lQk5-Ff6@InE;qVW2qr*M~k`7m}eJvDpsGd_66=UD2VZz$Oj#SUv4HH zB5)v*(J*$`FPU$c#XGnd0*f|;z`So5oCn_=3(Nz^)uouo(U{~k#{#7z%RFYm7l!e> z+uXMR0}|jKm$~^1%>6Fpom^RE&7cG6I7TU;eastP0<`M~<^DToJUY;4E!gIJn6XhVn}N;pjzqQj`BB zLHQ>CON3xb40luU(;8#uvf*s-7199?4r>W9^U8X|VSDG7^@hXtE-dQ}Nk8l80$&a% z;XrOCSl$~JhO?qo8tltM4?K%QKtD?vh45Z;SK0jFu!|`w>kWtPeWa{69Jcqxvfgmm z-kCuZ{8VGOZ2t*CfAWUI@(vA7HN`CX*hU`f5nzshi5f?&@)!j;$ERkKtbaQG{PY^` zFlV23F#jLHQ*D@5WQ@{j7}7(D$+W|YISDG}kq-$AVql;6ST6WdG_usq@FH0j zleElIOaTA4n3(5-h^#uIn4hVoh`4a>{6|c(%U}Zdzs4j3@($c2`ww8fEz=~xBrEfu z+9bCOCV>BIOvVN=8Cs;6A8R+XNzOlFl2-;3!2dNSGlQ7OeGYTI^9D@j{Uav%WiSE! zUt_W)h{;+o=5E;P2%+M}kX>n^@;J%B1t}NEI|Zi)*dvF8rH(B#L1-dushA8AF>u48 zW)(wIWwiy`GbP&08xm&3wsSgUqkyP(8w{APYw}kiWN?<+LdeO;EhvNRBlbJUiTp(Z zS!M@>@7cjgW_A+i<%0r~2A0B-6A;RC)N}f1BAzEWSxv@nL-+n1gx6Z~t3@)kmJh^f zDLpuNNZu7;VA;hlvFuh@CgNDfZBeW67@E&2RBI0-@i{IGxSbf)6f%J`74p= zCp{0OLfj-h4}3cTOAVIh2h#IE3Lm`YbXMMpNV9^4lbX9EE|HM`D^5X_=1{H_(F~_Ri|=%mD*4EW(N!%K9(A3$;^z zFcV6<0ZQ*+cX*y3@XYO;fbwCB@EFEZt+Y@`204F3J%~;lkW0;rvSCfx>ZUCAL6osU zASVdS3-|62eJ93K^`IugD*eMNI`=}V+a7m0K~??hMp5u0=Nl7Is$`1(Oxhg zpJz#@&BUbLe5L3byNnE-j|Kam`6L1aZC5W7mW zQ(9iD4!sh%o`)7LI*cI>7CYzL=J`z4WJA^opYh=u-rSu|IfISGSS~YGi)Z~?u4Bd< z%N63lZi^tVV53MujBy(ge^g-IMp2}|cgAM+E#6GNvcmV`SG8nF z;NtfpTEY8o#8xmYmkg0VY{l!~dZ`tPbaG}DvU6>rSOF%1{@cVWY5~lpZW9eE(dG%x zD99GT3I|mXJ4l@$#LjSxM;&d1<1g~}{3zasaEBbYUEHc<$_?AawSVhTq2avnvY12>|f_+rW&Yg!Tb z5Rvf!jC8kIL>bGXy&^$w{Ym(|$1js_A^TqbNi_EsvPV99Oxz=?%LjLg`rcE62`eaf zK;of0MZCVso=-A+mx%VwYh`A(A^D}uI6U~~S~XdUiGW)PtH7P2a%rp~6bnMigjNot z1z8vit!kyQhEl9FE3X0PxD{`b*D#7zLcFC;^Bayuc6Ydn)mn$}%A#0B#H!&mXK*Y? zCUXm$W23=v07Zn+K$Z+0jdaO_J4Gd#vQLE7D6}#@x0hSVO2SV%85MC=FjB_s7D?W% z9GcI?cHJ%Nh;P7joao}FxqEM7Yjp`4k8-DO&a;rPx|tNO|5G*o;qJe5^GwPd z-JENoYISoiBg5U?Y)`10Njdy-`NW=3Hxu8=a*1xf)$U>9J-JyA*9f&_egs zK%lOOkXZ?Ez`&Ik*?(E7|E^%Fk|1y~2xLzqG66Yf27$C7unbzhXv;P8pfu2mlrzny z;tnBmiv&FZh+`E3;DSTi!+vBR2M!`ZePJ-T2GUb0W3GNqFbLXj&@xNXNH=jjJ^kXj z*Se9KX~?Gzh=vX5h1mSO3cc^@#zgQPVaNHqcjBc7MC+>7vw0%y1gBf{t#zb_oo!>0 z)QZ3*bwVZ=fmgC5UCJWSjJ_L-#Dksfgpk#?6B>)KFXGi7ccjK~7b#<*AiI2iaP~po zlT}Y3k0%d`e?4vIfpxu19u@+4ZzeWz&JGmH3FtuulRy3F#-{?Jan=j*KNsTrMf9&^ z7Xrn8p+aQdFQPKl(#(X_2bB{Yrn-6s*SdG>oUN+? zN)6B>#2qnE9y}`I5-jEebOx4`Zp?~?WnmW(J26v69}~TlVbXt0WGa`Xeq1C~xa`ET z&AK*-3sW&B%MS2X5&7xkqC0&*KMpR5l2!7T<6>PS>aQv^xBOo3HWiwjZDxl=jEhit zj$nD)PKY)btDcjfB(KVsPl~!!pHU~pOVxoU>$CAG-eN`3OKXGCQ(SeqxuD~krbR4 z)zk?)%f-v%ClV`O0P&)TRkHE#Xu`{GIrVo@NA~|6o&2es^1FB(t^3AvDozT2h=|&! zS>Z_-YG;&`g8NBG+PhF87MOkBM7egQtC}48hv?pVZ<8n}?~cRI@-5IwZO-D~b^JS? z!ak>;iS)CWeiqQrmw~X0qOzjwlD7=lT8I^It}Kg0ZX z*(harhWlUTXRv=r$u7mczvU}VT?PT?-P+v*Yos=Pf^d?)y%zdfSZa-75QM7ou<2tq~^xn38 zmD;*URtT%ZP_W@*slf;KZHPMLS2?;TVtt;t#!|eR9%bH^OjK^SS3GRfOBr5PzmTscFrSx`wWG!GZK?UF(Q9 z#Pq;qj~1z@YuCv6VOrhlpQzzrk8?paD0Jabme3Xjm0d|Lj48x98>ZEEf1+YTm|fMY zakA>+T6ap`D_nb)zTbyyT_e}7)qCNt4HAZ&ta^mjgTmg3&|XPiyGHNT$N@u0cVm;O z=&Sq)D>bkR;E=m5?OJl0SF0C=QrQ#47wXUI z>xYG?QZ;SHEypRevd=IM0Wh0FFwEl%$0eStuR%fZ!L zA+Qep5>Ge9(;8sN zZ)t{6IZGPNwT46)fvO{na6ku3tH(%_J(^=Iu8@7K&zR;~mx|XEDmQp1dA*BqN)|VV zA_bHj)dCeuldreX8b)1JjagI~+#+yJpS3`1PnTO-X!Yt}QK6_0{psu0r%#gdmNA3a z5O9xxYR6H{@{zEfbAyU%C$`k$DC-U_F_~7#2U}{scwhkX4HzO4H5lpL_r*Z0e5f4R zQj59uib@ZLq3Uo$Aa)$$RGw{26O^JzNsOiM5js(o#wCR9svm2q)j)}1t>_b|-%5K; zMY~OCqrDUr>^io#jzu)GEf1)cZM8NJ0U;OlAdE<33&yfdR67o<^_*?#$45WO209Yo zxI|dNMQ_rH(qk&`&i7TmzbxiRj~>LLkS5o*Wo!<%)v7Bi#<$a|mFX_nDFeG4x?FyXeBBq`b2P*thG-_kU z+ALCV{|eRIX+wF^iCXq%dTHR{F2)T$5ixEKe;YgWoTF&|= zX8kPrr0smq#C)G67un8DrdB5bW87utx_V)Cj-$Nu_^7tbMe{N|Rcji38i%!d&O$V8 zJ?AbbCNaChGBeY&a@ybIcBaEKp>LwLzUNCOHn?;2E72+;=JDIkJ_`N6UFm`F-n>3jdS>- zL0{fwKlB+31u;xP0YsI%v?DS7__hY^(%+j@$}=xx@78M2UfA|-ZCd-Upc4c8nsGj~ zZqT|+>%s(9O{Wrv61lP2;JJveX0UoSFwV-EV|4q&)qzb$=%;? z9)^(tYpQk;B+7zCE_;&o`lO(csgylk53xw<9A%90WE)wyL_I-2`vadnt7R#bPPaBj zE8*8TuM0b%OcfhTg?F_qbB+@JCwv{|*?cJLQNpjX<76j-uP|KPh2YB!A7l6uV3#@R zCxM~z%KLqzc0UtBVXb24{+p@uz5wpfXX*e z{(kmdSgs|0=5*uNa#!qQ$DeJe^t}vcwI_HF!=oAA4H%D{WiTl>ICgR5;a1!3hEa9C@!@ z>0ncAVc#jXFU^y#XrS*o-7u>uHnU?NkD*NrAN_$*+{lizmg74(T;^JgOOHKM%Hcx7 zX%2HOx7@cJ`Oh+K(F3Kf=NR8}LEkX^yEQBd*l~yhzGir_h1xoHEVCSI;c%JL%ghY_ zjRP~EV}HXKtYLTt4-)9$0cKNpdaYvkGLN*C3}58YxPswL?WjAxVt4^}!E%O2TWzq6 z9m}l#4k%ta>*a6}Uvh}#B9=0Ij*D2r@EI=R3x*50h{X)g<{}m`oM{!2$Bso-5ewNd zj!Rg;a5k4PpWzc7{ehOceoZk@x9xmFP*Jq)v}Tm;#_ zbeKc92v)RZ{>qh@$^M79gc%Hf$t6tpvtuF`F^%E#RuQ@Em|+z$l^q{*5mOi*$VE(M zct01B!|*;XViLm(xrk2~9?d08WcZj>!US^o%^a%;$wAOIg!UNE@D*Om#xcB;ix|uB z4lZI0!*jTZ(F_mcB1SP>WEFv%BQ(c2tAvs4_>M~$!Eixm!;j*Ivm=*_%VKy67dMRI zGhD<_hPQJOLl|D(f>6z5c)wM`$LyHPB@AZxQ*Nd~3=iM}G8n$jbx60y-w#~EKn_^S zB@AFV#~M#*>{w$J;in2M;u1b0a2^-XpTJDczaN2v8UGIn+|8MPK;TNw``-l4va)`k z$NzdO>-Q*NIcNPYflD~+cL>bptluVZ1ZUlsz=NFiTLczx)_n+EWM%y(!CS1H-ypbz zbAFw`Go15l1p2?_tY0Pg8_v2nffINI=tbZa&iWMwt*l=rc(t{nyhQL?&iX|HS8~=b z5IBKz{uhDcIp^mIJjzHvN8o1U>{r5{C3vNk^)m$jWMTa@!TUMurwBa2SwBhOQqKAb z0>9v_A181yBmEeGM;Yly2`sX5euUt87SazB{3GY=e~94iob`hQ&gHBhAaD+6eLsO$ z80-58+|OCxOW?Ow);$THW@X)j;O(6CJp}IHobM*^bIut=It*lT&UXUzn^!sO?&N)d zv%Z7C4OZ6O2%c_beLKOsIqTa9+{0PlN?;ymeG7pLIP0zi4&e4kC9s%tHVNEi<(xwB z?6q}yJ?p~Jo6>~pOyGXbuM=$+7i_|S_Pr?VKpn|*h)t~oJv)%+pNL5t8+pbfW_!x% zSI(&&g@1-^he!+}5j)a2c-^jVXsiWrzT(Vj~LQ#4X;C z!jB`oY!ft~@HL#iK85E3EuwpG(ggJ=>PV{zk_q0z-CLKyVLU|YP!1XP-W_b@+7xbK zP>aHcAw1X`gkjCn@FWUfUZxG|+}H_;6m_uG20n^gjJRGK+sAQwnY`9IAC)E4Yfz$7 zOg&X6@TxU;tCbd8wG>Ps@B&8$50}gQq)c;^Lk7At!BqGicSsz?on?13n(m3@d>p3A zVi8NR3$1}2L$S*qFj8-dc;!;Gz#kZF!%C%KMat(InjqL=Bw4kys+Q0Q1jtvE8DPp_i@oK|`Cltact zQFmL-#pl&ch#O|beWGsp=E51)VeaLA-~((4BHL%c^i=a^c;jU2FefvDIMxOc#3?oi z@|ksny)4l1ZhvDB@gBOJTZ=A9|8kNKp5E!;E=Q(o@htqH8%NR49)5@7n_@EN;P4Jo zA-1Nbm}95l$pDQEmKAe+85qp8^u`FrUl>L)PAbL-7yhT{%n^)~Bg(`MG3CP3;uy|D zdhoH@`Y0>tc=8#}32?8I#Q^S-aX$o4G{8qb<>e&hy*?JNv3xp1i@60wTf8OiC@+e$ z64{ybF>8?0r~eTLxjaMbtK`Z>W1O*0bJ7%f`=FpZPX0JZYX#0l&tTlGt(F}JYlZkk ze5_^SGyY>dGpv>;Kh|DX@&iv~;wlr0Rnv!PDbS=^FoZ6F#>hK|Y1yP1dYCp#dAwvf zU&KXCH!m`jWaK7Q^cmBVAZPg%1x@#nB$fq5<>n?u`J$#L89rk=xDw}B{$?(Ja}gDu z6Kv0H`SWlswo=ho&R%rYhqSqgQJ5@8z6xj~v_Dm{LqG-;@K#@yK0X~hYIse;%P~|n z6v(7eS^z3b_l&{?WwsQfwU3nSz@X7uidz4Ii?vGQq6{sM8xMNA#C!7vJmH~viAf3` zFg63O&(mYIMiD3p(~tQT!G>9H92yX+r^jh6ab-Dn92#l0Trm!>sTTt+$7?+l;?*1^ zwIn<<&5?LFg!7U_2V9hAmN=^hhD^YHGI@SJQTxL7lplVgT}1r1Cuv|DA0l%mX>ZfF zVvg37zPIFPA64WEGiSwEzP*9}_8jdE3cq!-)~@0lHNvUl#Vc72g=bIJHmk*(&e{by;9(RcSOtrLCYW?SEf z?eBQ|yTkrQ&(Ydbyql^8|g1y3DEnLk$>Ts3DHJu~7xGZN}*VOl^yJ#`fy9tkOJkI%IisJt&f*Sga8 ziv3NQXSoO2-;MS+YCgsw;@vx6d$k6n50G;rWOEq+_l@$7xhxA0u26ddGaN>NT3Mc% zkGuBq(z`&bE{LrRJPb`1Xf+acZ*<_Umlc|>G4e5r>%#zC1&m!pcm)ygRyt$>x(UwJ z3$$mt7J%6t%U*j&0^ZhLrt4iZ3g#z*o+N1Nf<~tsJi(_1&$J?EA2a-2#0@;VP^+Z0 zgr0j%O~GJe-fhkFVIqZNrG~P5uyj~PkjM`Uwig^_xNXM^_MAMepPH?VU!+x*9Twpk zHd{7+)*XijZpaf(lW#84xP@8Af8zVL++n60MPo%)QC2 zi?r%8eTnuZ8oK>bty;|ARN}Rz+L`K9eJ&+fU#vvJ^ir-=(SBcQuZb_9y$Vm6r@z#y zQ3pf@v|H|(!OG>k7+V#ZrI6TFnRUR~(9y(t830pYL-Yd)3DF7I$$~SsVfewiqWR5i z9*P(zV~5GyfOdODcwlLY#^Q&i46HcW!{nuamV@RQzYI_R+4AZ#t&y5FOg31qJ&no@ zTdqA+6Os^k6C%46wA88Zn$fS?#tzYCDB47P*H_w76}heWN_(h@RV?vGae4H#k;RxK zGGJ+k8OuKLgj&i9+}~%*H&$q|ydS$z2{NT*{0QNPi;*@n3Jl!4YdO>u^ZYdH6$bk; z4J-O*UYy1PtV-`lr=mKslNMV>(TG2vU^6Y>mXX1R4R8$cZ+cD3EKrhy`FoXfXp1>w z8DmXgX0K$`R{=aSR&GE)jb*>VA%JWZav8dLFadz%n3TuEi zzQ`c8p}REYK09Uh4JqNWQfAvJ@hzXS$WA%-hLmtwDaYC=@uieiP^Ps`lL_9kh|8w= z%sA9@9r&2~mRMIq$)PeNowig!t-bumow;+f97jGuQjNWRaEA`&aGN_2szY{ zvP+Qd)?qmuBZ1+YH$^Ul4xqn@_Y0W2FvsVBKet*kYj5>@lWR5uNM*mZ(9vcsG?nJs%+ zYQ3?I`tYzsyC@c?Ipi`IVQa;^8a4*S{0cDA6hcS}wNlJ$U>F|@wblxuoXtSmMP~

    hl2@dMnd_7sz7102ryweW+np*5G|M_ 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 z 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 YgJ9&^5*AF(T&(!I=O9@20frd<7pslBJ^%m!