define(["exports"],(function(e){"use strict";var t,r=void 0!==r?r:{},n={};for(t in r)r.hasOwnProperty(t)&&(n[t]=r[t]);var o="./this.program",i=function(e,t){throw t},a=!1,s=!1,c=!1,u=!1;if(a="object"==typeof window,s="function"==typeof importScripts,c="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,u=!a&&!c&&!s,r.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)");var l,d,f,p,E,_="";function m(e){return r.locateFile?r.locateFile(e,_):_+e}if(c)_=s?require("path").dirname(_)+"/":__dirname+"/",l=function(e,t){return p||(p=require("fs")),E||(E=require("path")),e=E.normalize(e),p.readFileSync(e,t?null:"utf8")},f=function(e){var t=l(e,!0);return t.buffer||(t=new Uint8Array(t)),M(t.buffer),t},process.argv.length>1&&(o=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),"undefined"!=typeof module&&(module.exports=r),process.on("uncaughtException",(function(e){if(!(e instanceof Ha))throw e})),process.on("unhandledRejection",be),i=function(e){process.exit(e)},r.inspect=function(){return"[Emscripten Module object]"};else if(u)"undefined"!=typeof read&&(l=function(e){return read(e)}),f=function(e){var t;return"function"==typeof readbuffer?new Uint8Array(readbuffer(e)):(M("object"==typeof(t=read(e,"binary"))),t)},"undefined"!=typeof scriptArgs&&scriptArgs,"function"==typeof quit&&(i=function(e){quit(e)}),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print);else{if(!a&&!s)throw new Error("environment detection error");s?_=self.location.href:"undefined"!=typeof document&&document.currentScript&&(_=document.currentScript.src),_=0!==_.indexOf("blob:")?_.substr(0,_.lastIndexOf("/")+1):"",l=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},s&&(f=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),d=function(e,t,r){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)}}var g=r.print||console.log.bind(console),T=r.printErr||console.warn.bind(console);for(t in n)n.hasOwnProperty(t)&&(r[t]=n[t]);n=null,r.arguments,Object.getOwnPropertyDescriptor(r,"arguments")||Object.defineProperty(r,"arguments",{configurable:!0,get:function(){be("Module.arguments has been replaced with plain arguments_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),r.thisProgram&&(o=r.thisProgram),Object.getOwnPropertyDescriptor(r,"thisProgram")||Object.defineProperty(r,"thisProgram",{configurable:!0,get:function(){be("Module.thisProgram has been replaced with plain thisProgram (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),r.quit&&(i=r.quit),Object.getOwnPropertyDescriptor(r,"quit")||Object.defineProperty(r,"quit",{configurable:!0,get:function(){be("Module.quit has been replaced with plain quit_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),M(void 0===r.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),M(void 0===r.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),M(void 0===r.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),M(void 0===r.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),M(void 0===r.read,"Module.read option was removed (modify read_ in JS)"),M(void 0===r.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),M(void 0===r.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),M(void 0===r.setWindowTitle,"Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),M(void 0===r.TOTAL_MEMORY,"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),Object.getOwnPropertyDescriptor(r,"read")||Object.defineProperty(r,"read",{configurable:!0,get:function(){be("Module.read has been replaced with plain read_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(r,"readAsync")||Object.defineProperty(r,"readAsync",{configurable:!0,get:function(){be("Module.readAsync has been replaced with plain readAsync (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(r,"readBinary")||Object.defineProperty(r,"readBinary",{configurable:!0,get:function(){be("Module.readBinary has been replaced with plain readBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(r,"setWindowTitle")||Object.defineProperty(r,"setWindowTitle",{configurable:!0,get:function(){be("Module.setWindowTitle has been replaced with plain setWindowTitle (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}});var h=16;function O(e,t){return t||(t=h),Math.ceil(e/t)*t}function w(e){w.shown||(w.shown={}),w.shown[e]||(w.shown[e]=1,T(e))}var y,D=0,v=function(e){D=e},b=function(){return D};r.wasmBinary&&(y=r.wasmBinary),Object.getOwnPropertyDescriptor(r,"wasmBinary")||Object.defineProperty(r,"wasmBinary",{configurable:!0,get:function(){be("Module.wasmBinary has been replaced with plain wasmBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}});var R,A=r.noExitRuntime||!0;function S(e,t,r){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return N[e>>0];case"i16":return U[e>>1];case"i32":case"i64":return j[e>>2];case"float":return H[e>>2];case"double":return Q[e>>3];default:be("invalid type for getValue: "+t)}return null}Object.getOwnPropertyDescriptor(r,"noExitRuntime")||Object.defineProperty(r,"noExitRuntime",{configurable:!0,get:function(){be("Module.noExitRuntime has been replaced with plain noExitRuntime (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),"object"!=typeof WebAssembly&&be("no native wasm support detected");var P=!1;function M(e,t){e||be("Assertion failed: "+t)}function F(e){var t=r["_"+e];return M(t,"Cannot call unknown function "+e+", make sure it is exported"),t}function x(e,t,r,n,o){var i={string:function(e){var t=0;if(null!=e&&0!==e){var r=1+(e.length<<2);V(e,t=Sa(r),r)}return t},array:function(e){var t=Sa(e.length);return K(e,t),t}};var a=F(e),s=[],c=0;if(M("array"!==t,'Return type should not be "array".'),n)for(var u=0;u=n);)++o;if(o-t>16&&e.subarray&&G)return G.decode(e.subarray(t,o));for(var i="";t>10,56320|1023&u)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i}function W(e,t){return e?B(X,e,t):""}function z(e,t,r,n){if(!(n>0))return 0;for(var o=r,i=r+n-1,a=0;a=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a);if(s<=127){if(r>=i)break;t[r++]=s}else if(s<=2047){if(r+1>=i)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=i)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=i)break;s>=2097152&&w("Invalid Unicode code point 0x"+s.toString(16)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x1FFFFF)."),t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-o}function V(e,t,r){return M("number"==typeof r,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),z(e,X,t,r)}function Y(e){for(var t=0,r=0;r=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++r)),n<=127?++t:t+=n<=2047?2:n<=65535?3:4}return t}function q(e){var t=Y(e)+1,r=Ia(t);return r&&z(e,N,r,t),r}function K(e,t){M(e.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)"),N.set(e,t)}function J(e,t,r){for(var n=0;n>0]=e.charCodeAt(n);r||(N[t>>0]=0)}function Z(e,t){return e%t>0&&(e+=t-e%t),e}function $(e){k=e,r.HEAP8=N=new Int8Array(e),r.HEAP16=U=new Int16Array(e),r.HEAP32=j=new Int32Array(e),r.HEAPU8=X=new Uint8Array(e),r.HEAPU16=C=new Uint16Array(e),r.HEAPU32=L=new Uint32Array(e),r.HEAPF32=H=new Float32Array(e),r.HEAPF64=Q=new Float64Array(e)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var ee=5242880;r.TOTAL_STACK&&M(ee===r.TOTAL_STACK,"the stack size can no longer be determined at runtime");var te,re=r.INITIAL_MEMORY||16777216;function ne(){var e=Fa();M(0==(3&e)),L[1+(e>>2)]=34821223,L[2+(e>>2)]=2310721022,j[0]=1668509029}function oe(){if(!P){var e=Fa(),t=L[1+(e>>2)],r=L[2+(e>>2)];34821223==t&&2310721022==r||be("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x"+r.toString(16)+" "+t.toString(16)),1668509029!==j[0]&&be("Runtime error: The application has corrupted its heap memory area (address zero)!")}}Object.getOwnPropertyDescriptor(r,"INITIAL_MEMORY")||Object.defineProperty(r,"INITIAL_MEMORY",{configurable:!0,get:function(){be("Module.INITIAL_MEMORY has been replaced with plain INITIAL_MEMORY (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),M(re>=ee,"INITIAL_MEMORY should be larger than TOTAL_STACK, was "+re+"! (TOTAL_STACK="+ee+")"),M("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&void 0!==Int32Array.prototype.subarray&&void 0!==Int32Array.prototype.set,"JS engine does not provide full typed array support"),M(!r.wasmMemory,"Use of `wasmMemory` detected. Use -s IMPORTED_MEMORY to define wasmMemory externally"),M(16777216==re,"Detected runtime INITIAL_MEMORY setting. Use -s IMPORTED_MEMORY to define wasmMemory dynamically"),function(){var e=new Int16Array(1),t=new Int8Array(e.buffer);if(e[0]=25459,115!==t[0]||99!==t[1])throw"Runtime error: expected the system to be little-endian!"}();var ie=[],ae=[],se=[],ce=[],ue=!1,le=!1;function de(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)me(r.preRun.shift());Le(ie)}function fe(){oe(),M(!ue),ue=!0,r.noFSInit||_t.init.initialized||_t.init(),lt.init(),Le(ae)}function pe(){oe(),_t.ignorePermissions=!1,Le(se)}function Ee(){oe(),le=!0}function _e(){if(oe(),r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;)ge(r.postRun.shift());Le(ce)}function me(e){ie.unshift(e)}function ge(e){ce.unshift(e)}ae.push({func:function(){wa()}}),M(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),M(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),M(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),M(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var Te=0,he=null,Oe=null,we={};function ye(e){for(var t=e;;){if(!we[e])return e;e=t+Math.random()}}function De(e){Te++,r.monitorRunDependencies&&r.monitorRunDependencies(Te),e?(M(!we[e]),we[e]=1,null===he&&"undefined"!=typeof setInterval&&(he=setInterval((function(){if(P)return clearInterval(he),void(he=null);var e=!1;for(var t in we)e||(e=!0,T("still waiting on run dependencies:")),T("dependency: "+t);e&&T("(end of list)")}),1e4))):T("warning: run dependency added without ID")}function ve(e){if(Te--,r.monitorRunDependencies&&r.monitorRunDependencies(Te),e?(M(we[e]),delete we[e]):T("warning: run dependency removed without ID"),0==Te&&(null!==he&&(clearInterval(he),he=null),Oe)){var t=Oe;Oe=null,t()}}function be(e){r.onAbort&&r.onAbort(e),P=!0,e="abort("+(e+="")+") at "+Be(),new WebAssembly.RuntimeError(e)}function Re(e,t){return String.prototype.startsWith?e.startsWith(t):0===e.indexOf(t)}r.preloadedImages={},r.preloadedAudios={};var Ae="data:application/octet-stream;base64,";function Se(e){return Re(e,Ae)}var Pe,Me="file://";function Fe(e){return Re(e,Me)}function xe(e,t){return function(){var n=e,o=t;return t||(o=r.asm),M(ue,"native function `"+n+"` called before runtime initialization"),M(!le,"native function `"+n+"` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),o[e]||M(o[e],"exported native function `"+n+"` not found"),o[e].apply(null,arguments)}}var Ie,ke,Ne,Xe="undefined"==typeof window?self:window;function Ue(e){try{if(e==Pe&&y)return new Uint8Array(y);if(f)return f(e);throw"both async and sync fetching of the wasm failed"}catch(e){be(e)}}function Ce(){if(!y&&(a||s)){if("function"==typeof fetch&&!Fe(Pe))return fetch(Pe,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+Pe+"'";return e.arrayBuffer()})).catch((function(){return Ue(Pe)}));if(d)return new Promise((function(e,t){d(Pe,(function(t){e(new Uint8Array(t))}),t)}))}return Promise.resolve().then((function(){return Ue(Pe)}))}function je(){var e={env:Oa,wasi_snapshot_preview1:Oa};function t(e,t){var n=e.exports;r.asm=n,M(R=r.asm.memory,"memory not found in wasm exports"),$(R.buffer),M(te=r.asm.__indirect_function_table,"table not found in wasm exports"),ve("wasm-instantiate")}De("wasm-instantiate");var n=r;function o(e){M(r===n,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),n=null,t(e.instance)}function i(t){return Ce().then((function(t){return WebAssembly.instantiate(t,e)})).then(t,(function(e){Fe(Pe),be(e)}))}if(r.instantiateWasm)try{return r.instantiateWasm(e,t)}catch(e){return T("Module.instantiateWasm callback failed with error: "+e),!1}return y||"function"!=typeof WebAssembly.instantiateStreaming||Se(Pe)||Fe(Pe)||"function"!=typeof fetch?i(o):fetch(Pe,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(o,(function(e){return i(o)}))})),{}}function Le(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var n=t.func;"number"==typeof n?void 0===t.arg?te.get(n)():te.get(n)(t.arg):n(void 0===t.arg?null:t.arg)}else t(r)}}function He(e){return w("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),e}function Qe(e){return e.replace(/\b_Z[\w\d_]+/g,(function(e){var t=He(e);return e===t?e:t+" ["+e+"]"}))}function Ge(){return""}function Be(){var e="";return r.extraStackTrace&&(e+="\n"+r.extraStackTrace()),Qe(e)}function We(e,t,r,n){be("Assertion failed: "+W(e)+", at: "+[t?W(t):"unknown filename",r,n?W(n):"unknown function"])}Se(Pe=Xe.location.href.endsWith(".openrealspace")?"../../static/Build/Cesium/ThirdParty/OSGBToS3M.wasm":"ThirdParty/OSGBToS3M.wasm")||(Pe=m(Pe)),r.callRuntimeCallbacks=Le,r.demangle=He,r.demangleAll=Qe,r.jsStackTrace=Ge,r.stackTrace=Be,r.___assert_fail=We,Ne=c?function(){var e=process.hrtime();return 1e3*e[0]+e[1]/1e6}:"undefined"!=typeof dateNow?dateNow:function(){return performance.now()},r._emscripten_get_now=Ne;var ze=!0;function Ve(e){return j[ya()>>2]=e,e}function Ye(e,t){var r;if(0===e)r=Date.now();else{if(1!==e&&4!==e||!ze)return Ve(28),-1;r=Ne()}return j[t>>2]=r/1e3|0,j[t+4>>2]=r%1e3*1e3*1e3|0,0}function qe(e,t){return Ye(e,t)}r._emscripten_get_now_is_monotonic=ze,r.setErrNo=Ve,r._clock_gettime=Ye,r.___clock_gettime=qe;var Ke={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};function Je(e){return Ia(e+Ke.SIZE)+Ke.SIZE}function Ze(e,t){}function $e(e,t){}function et(e){this.excPtr=e,this.ptr=e-Ke.SIZE,this.set_type=function(e){j[this.ptr+Ke.TYPE_OFFSET>>2]=e},this.get_type=function(){return j[this.ptr+Ke.TYPE_OFFSET>>2]},this.set_destructor=function(e){j[this.ptr+Ke.DESTRUCTOR_OFFSET>>2]=e},this.get_destructor=function(){return j[this.ptr+Ke.DESTRUCTOR_OFFSET>>2]},this.set_refcount=function(e){j[this.ptr+Ke.REFCOUNT_OFFSET>>2]=e},this.set_caught=function(e){e=e?1:0,N[this.ptr+Ke.CAUGHT_OFFSET>>0]=e},this.get_caught=function(){return 0!=N[this.ptr+Ke.CAUGHT_OFFSET>>0]},this.set_rethrown=function(e){e=e?1:0,N[this.ptr+Ke.RETHROWN_OFFSET>>0]=e},this.get_rethrown=function(){return 0!=N[this.ptr+Ke.RETHROWN_OFFSET>>0]},this.init=function(e,t){this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=j[this.ptr+Ke.REFCOUNT_OFFSET>>2];j[this.ptr+Ke.REFCOUNT_OFFSET>>2]=e+1},this.release_ref=function(){var e=j[this.ptr+Ke.REFCOUNT_OFFSET>>2];return j[this.ptr+Ke.REFCOUNT_OFFSET>>2]=e-1,M(e>0),1===e}}r.ExceptionInfoAttrs=Ke,r.___cxa_allocate_exception=Je,r._atexit=Ze,r.___cxa_atexit=$e,r.ExceptionInfo=et;var tt=0;r.exceptionLast=tt;var rt=0;function nt(e,t,r){throw new et(e).init(t,r),tt=e,rt++,e+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ot(){if(!ot.called){ot.called=!0;var e=(new Date).getFullYear(),t=new Date(e,0,1),r=new Date(e,6,1),n=t.getTimezoneOffset(),o=r.getTimezoneOffset(),i=Math.max(n,o);j[ba()>>2]=60*i,j[va()>>2]=Number(n!=o);var a=l(t),s=l(r),c=q(a),u=q(s);o>2]=c,j[Da()+4>>2]=u):(j[Da()>>2]=u,j[Da()+4>>2]=c)}function l(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}}function it(e,t){ot();var r=new Date(1e3*j[e>>2]);j[t>>2]=r.getSeconds(),j[t+4>>2]=r.getMinutes(),j[t+8>>2]=r.getHours(),j[t+12>>2]=r.getDate(),j[t+16>>2]=r.getMonth(),j[t+20>>2]=r.getFullYear()-1900,j[t+24>>2]=r.getDay();var n=new Date(r.getFullYear(),0,1),o=(r.getTime()-n.getTime())/864e5|0;j[t+28>>2]=o,j[t+36>>2]=-60*r.getTimezoneOffset();var i=new Date(r.getFullYear(),6,1).getTimezoneOffset(),a=n.getTimezoneOffset(),s=0|(i!=a&&r.getTimezoneOffset()==Math.min(a,i));j[t+32>>2]=s;var c=j[Da()+(s?4:0)>>2];return j[t+40>>2]=c,t}function at(e,t){return it(e,t)}r.uncaughtExceptionCount=rt,r.___cxa_throw=nt,r._tzset=ot,r._localtime_r=it,r.___localtime_r=at;var st={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var r=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:function(e){var t="/"===e.charAt(0),r="/"===e.substr(-1);return(e=st.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=st.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:function(e){if("/"===e)return"/";var t=(e=(e=st.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},extname:function(e){return st.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return st.normalize(e.join("/"))},join2:function(e,t){return st.normalize(e+"/"+t)}};function ct(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}if(c)try{var t=require("crypto");return function(){return t.randomBytes(1)[0]}}catch(e){}return function(){be("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")}}r.PATH=st,r.getRandomDevice=ct;var ut={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:_t.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t="/"===n.charAt(0)}return(t?"/":"")+(e=st.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||"."},relative:function(e,t){function r(e){for(var t=0;t=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=ut.resolve(e).substr(1),t=ut.resolve(t).substr(1);for(var n=r(e.split("/")),o=r(t.split("/")),i=Math.min(n.length,o.length),a=i,s=0;s0?r.slice(0,n).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\n");if(!t)return null;e.input=ha(t,!0)}return e.input.shift()},put_char:function(e,t){null===t||10===t?(g(B(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(g(B(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(T(B(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(T(B(e.output,0)),e.output=[])}}};function dt(e){for(var t=O(e,16384),r=Ia(t);e=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=_t.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,_t.isDir(e.mode)?t.size=4096:_t.isFile(e.mode)?t.size=e.usedBytes:_t.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&ft.resizeFileStorage(e,t.size)},lookup:function(e,t){throw _t.genericErrors[44]},mknod:function(e,t,r,n){return ft.createNode(e,t,r,n)},rename:function(e,t,r){if(_t.isDir(e.mode)){var n;try{n=_t.lookupNode(t,r)}catch(e){}if(n)for(var o in n.contents)throw new _t.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var r=_t.lookupNode(e,t);for(var n in r.contents)throw new _t.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink:function(e,t,r){var n=ft.createNode(e,t,41471,0);return n.link=r,n},readlink:function(e){if(!_t.isLink(e.mode))throw new _t.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,r,n,o){var i=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,n);if(M(a>=0),a>8&&i.subarray)t.set(i.subarray(o,o+a),r);else for(var s=0;s0||n+r8)throw new _t.ErrnoError(32);for(var o=st.normalizeArray(e.split("/").filter((function(e){return!!e})),!1),i=_t.root,a="/",s=0;s40)throw new _t.ErrnoError(32)}}return{path:a,node:i}},getPath:function(e){for(var t;;){if(_t.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?r+"/"+t:r+t:r}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:function(e,t){for(var r=0,n=0;n>>0)%_t.nameTable.length},hashAddNode:function(e){var t=_t.hashName(e.parent.id,e.name);e.name_next=_t.nameTable[t],_t.nameTable[t]=e},hashRemoveNode:function(e){var t=_t.hashName(e.parent.id,e.name);if(_t.nameTable[t]===e)_t.nameTable[t]=e.name_next;else for(var r=_t.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:function(e,t){var r=_t.mayLookup(e);if(r)throw new _t.ErrnoError(r,e);for(var n=_t.hashName(e.id,t),o=_t.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===e.id&&i===t)return o}return _t.lookup(e,t)},createNode:function(e,t,r,n){M("object"==typeof e);var o=new _t.FSNode(e,t,r,n);return _t.hashAddNode(o),o},destroyNode:function(e){_t.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(e){var t=_t.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:function(e,t){return _t.ignorePermissions||(-1===t.indexOf("r")||292&e.mode)&&(-1===t.indexOf("w")||146&e.mode)&&(-1===t.indexOf("x")||73&e.mode)?0:2},mayLookup:function(e){var t=_t.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:function(e,t){try{_t.lookupNode(e,t);return 20}catch(e){}return _t.nodePermissions(e,"wx")},mayDelete:function(e,t,r){var n;try{n=_t.lookupNode(e,t)}catch(e){return e.errno}var o=_t.nodePermissions(e,"wx");if(o)return o;if(r){if(!_t.isDir(n.mode))return 54;if(_t.isRoot(n)||_t.getPath(n)===_t.cwd())return 10}else if(_t.isDir(n.mode))return 31;return 0},mayOpen:function(e,t){return e?_t.isLink(e.mode)?32:_t.isDir(e.mode)&&("r"!==_t.flagsToPermissionString(t)||512&t)?31:_t.nodePermissions(e,_t.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd:function(e,t){e=e||0,t=t||_t.MAX_OPEN_FDS;for(var r=e;r<=t;r++)if(!_t.streams[r])return r;throw new _t.ErrnoError(33)},getStream:function(e){return _t.streams[e]},createStream:function(e,t,r){_t.FSStream||(_t.FSStream=function(){},_t.FSStream.prototype={object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var n=new _t.FSStream;for(var o in e)n[o]=e[o];e=n;var i=_t.nextfd(t,r);return e.fd=i,_t.streams[i]=e,e},closeStream:function(e){_t.streams[e]=null},chrdev_stream_ops:{open:function(e){var t=_t.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new _t.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){_t.devices[e]={stream_ops:t}},getDevice:function(e){return _t.devices[e]},getMounts:function(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs:function(e,t){"function"==typeof e&&(t=e,e=!1),_t.syncFSRequests++,_t.syncFSRequests>1&&T("warning: "+_t.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=_t.getMounts(_t.root.mount),n=0;function o(e){return M(_t.syncFSRequests>0),_t.syncFSRequests--,t(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,o(e));++n>=r.length&&o(null)}r.forEach((function(t){if(!t.type.syncfs)return i(null);t.type.syncfs(t,e,i)}))},mount:function(e,t,r){if("string"==typeof e)throw e;var n,o="/"===r,i=!r;if(o&&_t.root)throw new _t.ErrnoError(10);if(!o&&!i){var a=_t.lookupPath(r,{follow_mount:!1});if(r=a.path,n=a.node,_t.isMountpoint(n))throw new _t.ErrnoError(10);if(!_t.isDir(n.mode))throw new _t.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(s);return c.mount=s,s.root=c,o?_t.root=c:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),c},unmount:function(e){var t=_t.lookupPath(e,{follow_mount:!1});if(!_t.isMountpoint(t.node))throw new _t.ErrnoError(28);var r=t.node,n=r.mounted,o=_t.getMounts(n);Object.keys(_t.nameTable).forEach((function(e){for(var t=_t.nameTable[e];t;){var r=t.name_next;-1!==o.indexOf(t.mount)&&_t.destroyNode(t),t=r}})),r.mounted=null;var i=r.mount.mounts.indexOf(n);M(-1!==i),r.mount.mounts.splice(i,1)},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,r){var n=_t.lookupPath(e,{parent:!0}).node,o=st.basename(e);if(!o||"."===o||".."===o)throw new _t.ErrnoError(28);var i=_t.mayCreate(n,o);if(i)throw new _t.ErrnoError(i);if(!n.node_ops.mknod)throw new _t.ErrnoError(63);return n.node_ops.mknod(n,o,t,r)},create:function(e,t){return t=void 0!==t?t:438,t&=4095,t|=32768,_t.mknod(e,t,0)},mkdir:function(e,t){return t=void 0!==t?t:511,t&=1023,t|=16384,_t.mknod(e,t,0)},mkdirTree:function(e,t){for(var r=e.split("/"),n="",o=0;othis.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},i.prototype.setDataGetter=function(e){this.getter=e},i.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,i=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;o||(a=n);var s=this;s.setDataGetter((function(e){var t=e*a,o=(e+1)*a-1;if(o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",r,!1),n!==a&&o.setRequestHeader("Range","bytes="+e+"-"+t),"undefined"!=typeof Uint8Array&&(o.responseType="arraybuffer"),o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+r+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):ha(o.responseText||"",!0)}(t,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!i&&n||(a=n=1,n=this.getter(0).length,a=n,g("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!s)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new i;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var c={isDevice:!1,contents:a}}else c={isDevice:!1,url:r};var u=_t.createFile(e,t,c,n,o);c.contents?u.contents=c.contents:c.url&&(u.contents=null,u.url=c.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var l={};return Object.keys(u.stream_ops).forEach((function(e){var t=u.stream_ops[e];l[e]=function(){return _t.forceLoadFile(u),t.apply(null,arguments)}})),l.read=function(e,t,r,n,o){_t.forceLoadFile(u);var i=e.node.contents;if(o>=i.length)return 0;var a=Math.min(i.length-o,n);if(M(a>=0),i.slice)for(var s=0;s>2]=n.dev,j[r+4>>2]=0,j[r+8>>2]=n.ino,j[r+12>>2]=n.mode,j[r+16>>2]=n.nlink,j[r+20>>2]=n.uid,j[r+24>>2]=n.gid,j[r+28>>2]=n.rdev,j[r+32>>2]=0,ke=[n.size>>>0,(Ie=n.size,+Math.abs(Ie)>=1?Ie>0?(0|Math.min(+Math.floor(Ie/4294967296),4294967295))>>>0:~~+Math.ceil((Ie-+(~~Ie>>>0))/4294967296)>>>0:0)],j[r+40>>2]=ke[0],j[r+44>>2]=ke[1],j[r+48>>2]=4096,j[r+52>>2]=n.blocks,j[r+56>>2]=n.atime.getTime()/1e3|0,j[r+60>>2]=0,j[r+64>>2]=n.mtime.getTime()/1e3|0,j[r+68>>2]=0,j[r+72>>2]=n.ctime.getTime()/1e3|0,j[r+76>>2]=0,ke=[n.ino>>>0,(Ie=n.ino,+Math.abs(Ie)>=1?Ie>0?(0|Math.min(+Math.floor(Ie/4294967296),4294967295))>>>0:~~+Math.ceil((Ie-+(~~Ie>>>0))/4294967296)>>>0:0)],j[r+80>>2]=ke[0],j[r+84>>2]=ke[1],0},doMsync:function(e,t,r,n,o){var i=X.slice(e,e+r);_t.msync(t,i,o,r,n)},doMkdir:function(e,t){return"/"===(e=st.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),_t.mkdir(e,t,0),0},doMknod:function(e,t,r){switch(61440&t){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return _t.mknod(e,t,r),0},doReadlink:function(e,t,r){if(r<=0)return-28;var n=_t.readlink(e),o=Math.min(r,Y(n)),i=N[t+o];return V(n,t,r+1),N[t+o]=i,o},doAccess:function(e,t){if(-8&t)return-28;var r;if(!(r=_t.lookupPath(e,{follow:!0}).node))return-44;var n="";return 4&t&&(n+="r"),2&t&&(n+="w"),1&t&&(n+="x"),n&&_t.nodePermissions(r,n)?-2:0},doDup:function(e,t,r){var n=_t.getStream(r);return n&&_t.close(n),_t.open(e,t,0,r,r).fd},doReadv:function(e,t,r,n){for(var o=0,i=0;i>2],s=j[t+(8*i+4)>>2],c=_t.read(e,N,a,s,n);if(c<0)return-1;if(o+=c,c>2],s=j[t+(8*i+4)>>2],c=_t.write(e,N,a,s,n);if(c<0)return-1;o+=c}return o},varargs:void 0,get:function(){return M(null!=mt.varargs),mt.varargs+=4,j[mt.varargs-4>>2]},getStr:function(e){return W(e)},getStreamFromFD:function(e){var t=_t.getStream(e);if(!t)throw new _t.ErrnoError(8);return t},get64:function(e,t){return M(e>=0?0===t:-1===t),e}};function gt(e,t){try{return e=mt.getStr(e),mt.doAccess(e,t)}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),-e.errno}}function Tt(e){try{var t=mt.getStreamFromFD(e);return _t.open(t.path,t.flags,0).fd}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),-e.errno}}function ht(e,t,r){mt.varargs=r;try{var n=mt.getStreamFromFD(e);switch(t){case 0:return(o=mt.get())<0?-28:_t.open(n.path,n.flags,0,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=mt.get();return n.flags|=o,0;case 12:o=mt.get();return U[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return Ve(28),-1}}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),-e.errno}}function Ot(e,t){try{var r=mt.getStreamFromFD(e);return mt.doStat(_t.stat,r.path,t)}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),-e.errno}}function wt(e,t){try{if(0===t)return-28;var r=_t.cwd();return t>>0,(Ie=c,+Math.abs(Ie)>=1?Ie>0?(0|Math.min(+Math.floor(Ie/4294967296),4294967295))>>>0:~~+Math.ceil((Ie-+(~~Ie>>>0))/4294967296)>>>0:0)],j[t+i>>2]=ke[0],j[t+i+4>>2]=ke[1],ke=[(s+1)*o>>>0,(Ie=(s+1)*o,+Math.abs(Ie)>=1?Ie>0?(0|Math.min(+Math.floor(Ie/4294967296),4294967295))>>>0:~~+Math.ceil((Ie-+(~~Ie>>>0))/4294967296)>>>0:0)],j[t+i+8>>2]=ke[0],j[t+i+12>>2]=ke[1],U[t+i+16>>1]=280,N[t+i+18>>0]=u,V(l,t+i+19,256),i+=o,s+=1}return _t.llseek(n,s*o,0),i}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),-e.errno}}function Dt(e,t,r){mt.varargs=r;try{var n=mt.getStreamFromFD(e);switch(t){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return n.tty?0:-59;case 21519:if(!n.tty)return-59;var o=mt.get();return j[o>>2]=0,0;case 21520:return n.tty?-28:-59;case 21531:o=mt.get();return _t.ioctl(n,t,o);default:be("bad ioctl syscall "+t)}}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),-e.errno}}function vt(e,t){try{return e=mt.getStr(e),mt.doStat(_t.lstat,e,t)}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),-e.errno}}function bt(e,t){try{return e=mt.getStr(e),mt.doMkdir(e,t)}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),-e.errno}}function Rt(e,t,r){mt.varargs=r;try{var n=mt.getStr(e),o=r?mt.get():0;return _t.open(n,t,o).fd}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),-e.errno}}function At(e,t,r){try{return e=mt.getStr(e),mt.doReadlink(e,t,r)}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),-e.errno}}function St(e,t){try{return e=mt.getStr(e),t=mt.getStr(t),_t.rename(e,t),0}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),-e.errno}}function Pt(e){try{return e=mt.getStr(e),_t.rmdir(e),0}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),-e.errno}}function Mt(e,t){try{return e=mt.getStr(e),mt.doStat(_t.stat,e,t)}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),-e.errno}}function Ft(e){try{return e=mt.getStr(e),_t.unlink(e),0}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),-e.errno}}function xt(){be()}function It(e){be("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")}function kt(){be("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")}function Nt(e,t){be("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")}function Xt(e){var t=e.getExtension("ANGLE_instanced_arrays");if(t)return e.vertexAttribDivisor=function(e,r){t.vertexAttribDivisorANGLE(e,r)},e.drawArraysInstanced=function(e,r,n,o){t.drawArraysInstancedANGLE(e,r,n,o)},e.drawElementsInstanced=function(e,r,n,o,i){t.drawElementsInstancedANGLE(e,r,n,o,i)},1}function Ut(e){var t=e.getExtension("OES_vertex_array_object");if(t)return e.createVertexArray=function(){return t.createVertexArrayOES()},e.deleteVertexArray=function(e){t.deleteVertexArrayOES(e)},e.bindVertexArray=function(e){t.bindVertexArrayOES(e)},e.isVertexArray=function(e){return t.isVertexArrayOES(e)},1}function Ct(e){var t=e.getExtension("WEBGL_draw_buffers");if(t)return e.drawBuffers=function(e,r){t.drawBuffersWEBGL(e,r)},1}function jt(e){return!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw"))}r.SYSCALLS=mt,r.___sys_access=gt,r.___sys_dup=Tt,r.___sys_fcntl64=ht,r.___sys_fstat64=Ot,r.___sys_getcwd=wt,r.___sys_getdents64=yt,r.___sys_ioctl=Dt,r.___sys_lstat64=vt,r.___sys_mkdir=bt,r.___sys_open=Rt,r.___sys_readlink=At,r.___sys_rename=St,r.___sys_rmdir=Pt,r.___sys_stat64=Mt,r.___sys_unlink=Ft,r._abort=xt,r._dlclose=It,r._dlerror=kt,r._dlopen=Nt,r.__webgl_enable_ANGLE_instanced_arrays=Xt,r.__webgl_enable_OES_vertex_array_object=Ut,r.__webgl_enable_WEBGL_draw_buffers=Ct,r.__webgl_enable_WEBGL_multi_draw=jt;var Lt={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},timerQueriesEXT:[],programInfos:{},stringCache:{},unpackAlignment:4,recordError:function(e){Lt.lastError||(Lt.lastError=e)},getNewId:function(e){for(var t=Lt.counter++,r=e.length;r>2]:-1;o+=W(j[r+4*i>>2],a<0?void 0:a)}return o},createContext:function(e,t){var r=e.getContext("webgl",t);return r?Lt.registerContext(r,t):0},registerContext:function(e,t){var r=Lt.getNewId(Lt.contexts),n={handle:r,attributes:t,version:t.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),Lt.contexts[r]=n,(void 0===t.enableExtensionsByDefault||t.enableExtensionsByDefault)&&Lt.initExtensions(n),r},makeContextCurrent:function(e){return Lt.currentContext=Lt.contexts[e],r.ctx=fa=Lt.currentContext&&Lt.currentContext.GLctx,!(e&&!fa)},getContext:function(e){return Lt.contexts[e]},deleteContext:function(e){Lt.currentContext===Lt.contexts[e]&&(Lt.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(Lt.contexts[e].GLctx.canvas),Lt.contexts[e]&&Lt.contexts[e].GLctx.canvas&&(Lt.contexts[e].GLctx.canvas.GLctxObject=void 0),Lt.contexts[e]=null},initExtensions:function(e){if(e||(e=Lt.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var t=e.GLctx;Xt(t),Ut(t),Ct(t),t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query"),jt(t),(t.getSupportedExtensions()||[]).forEach((function(e){e.indexOf("lose_context")<0&&e.indexOf("debug")<0&&t.getExtension(e)}))}},populateUniformTable:function(e){for(var t=Lt.programs[e],r=Lt.programInfos[e]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1},n=r.uniforms,o=fa.getProgramParameter(t,35718),i=0;i>2],o=Lt.buffers[n];o&&(fa.deleteBuffer(o),o.name=0,Lt.buffers[n]=null)}}function Tr(e,t){for(var r=0;r>2],o=Lt.framebuffers[n];o&&(fa.deleteFramebuffer(o),o.name=0,Lt.framebuffers[n]=null)}}function hr(e){if(e){var t=Lt.programs[e];t?(fa.deleteProgram(t),t.name=0,Lt.programs[e]=null,Lt.programInfos[e]=null):Lt.recordError(1281)}}function Or(e,t){for(var r=0;r>2],o=Lt.timerQueriesEXT[n];o&&(fa.disjointTimerQueryExt.deleteQueryEXT(o),Lt.timerQueriesEXT[n]=null)}}function wr(e,t){for(var r=0;r>2],o=Lt.renderbuffers[n];o&&(fa.deleteRenderbuffer(o),o.name=0,Lt.renderbuffers[n]=null)}}function yr(e){if(e){var t=Lt.shaders[e];t?(fa.deleteShader(t),Lt.shaders[e]=null):Lt.recordError(1281)}}function Dr(e,t){for(var r=0;r>2],o=Lt.textures[n];o&&(fa.deleteTexture(o),o.name=0,Lt.textures[n]=null)}}function vr(e,t){for(var r=0;r>2];fa.deleteVertexArray(Lt.vaos[n]),Lt.vaos[n]=null}}function br(e){fa.depthFunc(e)}function Rr(e){fa.depthMask(!!e)}function Ar(e,t){fa.depthRange(e,t)}function Sr(e,t){fa.detachShader(Lt.programs[e],Lt.shaders[t])}function Pr(e){fa.disable(e)}function Mr(e){fa.disableVertexAttribArray(e)}function Fr(e,t,r){fa.drawArrays(e,t,r)}function xr(e,t,r,n){fa.drawArraysInstanced(e,t,r,n)}r.GL=Lt,r._emscripten_glActiveTexture=Ht,r._emscripten_glAttachShader=Qt,r._emscripten_glBeginQueryEXT=Gt,r._emscripten_glBindAttribLocation=Bt,r._emscripten_glBindBuffer=Wt,r._emscripten_glBindFramebuffer=zt,r._emscripten_glBindRenderbuffer=Vt,r._emscripten_glBindTexture=Yt,r._emscripten_glBindVertexArrayOES=qt,r._emscripten_glBlendColor=Kt,r._emscripten_glBlendEquation=Jt,r._emscripten_glBlendEquationSeparate=Zt,r._emscripten_glBlendFunc=$t,r._emscripten_glBlendFuncSeparate=er,r._emscripten_glBufferData=tr,r._emscripten_glBufferSubData=rr,r._emscripten_glCheckFramebufferStatus=nr,r._emscripten_glClear=or,r._emscripten_glClearColor=ir,r._emscripten_glClearDepthf=ar,r._emscripten_glClearStencil=sr,r._emscripten_glColorMask=cr,r._emscripten_glCompileShader=ur,r._emscripten_glCompressedTexImage2D=lr,r._emscripten_glCompressedTexSubImage2D=dr,r._emscripten_glCopyTexImage2D=fr,r._emscripten_glCopyTexSubImage2D=pr,r._emscripten_glCreateProgram=Er,r._emscripten_glCreateShader=_r,r._emscripten_glCullFace=mr,r._emscripten_glDeleteBuffers=gr,r._emscripten_glDeleteFramebuffers=Tr,r._emscripten_glDeleteProgram=hr,r._emscripten_glDeleteQueriesEXT=Or,r._emscripten_glDeleteRenderbuffers=wr,r._emscripten_glDeleteShader=yr,r._emscripten_glDeleteTextures=Dr,r._emscripten_glDeleteVertexArraysOES=vr,r._emscripten_glDepthFunc=br,r._emscripten_glDepthMask=Rr,r._emscripten_glDepthRangef=Ar,r._emscripten_glDetachShader=Sr,r._emscripten_glDisable=Pr,r._emscripten_glDisableVertexAttribArray=Mr,r._emscripten_glDrawArrays=Fr,r._emscripten_glDrawArraysInstancedANGLE=xr;var Ir=[];function kr(e,t){for(var r=Ir[e],n=0;n>2];fa.drawBuffers(r)}function Nr(e,t,r,n){fa.drawElements(e,t,r,n)}function Xr(e,t,r,n,o){fa.drawElementsInstanced(e,t,r,n,o)}function Ur(e){fa.enable(e)}function Cr(e){fa.enableVertexAttribArray(e)}function jr(e){fa.disjointTimerQueryExt.endQueryEXT(e)}function Lr(){fa.finish()}function Hr(){fa.flush()}function Qr(e,t,r,n){fa.framebufferRenderbuffer(e,t,r,Lt.renderbuffers[n])}function Gr(e,t,r,n,o){fa.framebufferTexture2D(e,t,r,Lt.textures[n],o)}function Br(e){fa.frontFace(e)}function Wr(e,t,r,n){for(var o=0;o>2]=a}}function zr(e,t){Wr(e,t,"createBuffer",Lt.buffers)}function Vr(e,t){Wr(e,t,"createFramebuffer",Lt.framebuffers)}function Yr(e,t){for(var r=0;r>2]=0;return}var o=Lt.getNewId(Lt.timerQueriesEXT);n.name=o,Lt.timerQueriesEXT[o]=n,j[t+4*r>>2]=o}}function qr(e,t){Wr(e,t,"createRenderbuffer",Lt.renderbuffers)}function Kr(e,t){Wr(e,t,"createTexture",Lt.textures)}function Jr(e,t){Wr(e,t,"createVertexArray",Lt.vaos)}function Zr(e){fa.generateMipmap(e)}function $r(e,t,r,n,o,i,a,s){t=Lt.programs[t];var c=fa[e](t,r);if(c){var u=s&&V(c.name,s,n);o&&(j[o>>2]=u),i&&(j[i>>2]=c.size),a&&(j[a>>2]=c.type)}}function en(e,t,r,n,o,i,a){$r("getActiveAttrib",e,t,r,n,o,i,a)}function tn(e,t,r,n,o,i,a){$r("getActiveUniform",e,t,r,n,o,i,a)}function rn(e,t,r,n){var o=fa.getAttachedShaders(Lt.programs[e]),i=o.length;i>t&&(i=t),j[r>>2]=i;for(var a=0;a>2]=s}}function nn(e,t){return fa.getAttribLocation(Lt.programs[e],W(t))}function on(e){return L[e>>2]+4294967296*j[e+4>>2]}function an(e){return L[e>>2]+4294967296*L[e+4>>2]}function sn(e,t){L[e>>2]=t,L[e+4>>2]=(t-L[e>>2])/4294967296;var r=t>=0?an(e):on(e);r!=t&&w("writeI53ToI64() out of range: serialized JS Number "+t+" to Wasm heap as bytes lo=0x"+L[e>>2].toString(16)+", hi=0x"+L[e+4>>2].toString(16)+", which deserializes back to "+r+" instead!")}function cn(e,t,r){if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=r&&1!=r&&Lt.recordError(1280));case 36345:n=0;break;case 34466:var o=fa.getParameter(34467);n=o?o.length:0}if(void 0===n){var i=fa.getParameter(e);switch(typeof i){case"number":n=i;break;case"boolean":n=i?1:0;break;case"string":return void Lt.recordError(1280);case"object":if(null===i)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:n=0;break;default:return void Lt.recordError(1280)}else{if(i instanceof Float32Array||i instanceof Uint32Array||i instanceof Int32Array||i instanceof Array){for(var a=0;a>2]=i[a];break;case 2:H[t+4*a>>2]=i[a];break;case 4:N[t+a>>0]=i[a]?1:0}return}try{n=0|i.name}catch(t){return Lt.recordError(1280),void T("GL_INVALID_ENUM in glGet"+r+"v: Unknown object returned from WebGL getParameter("+e+")! (error: "+t+")")}}break;default:return Lt.recordError(1280),void T("GL_INVALID_ENUM in glGet"+r+"v: Native code calling glGet"+r+"v("+e+") and it returns "+i+" of type "+typeof i+"!")}}switch(r){case 1:sn(t,n);break;case 0:j[t>>2]=n;break;case 2:H[t>>2]=n;break;case 4:N[t>>0]=n?1:0}}else Lt.recordError(1281)}function un(e,t){cn(e,t,4)}function ln(e,t,r){r?j[r>>2]=fa.getBufferParameter(e,t):Lt.recordError(1281)}function dn(){var e=fa.getError()||Lt.lastError;return Lt.lastError=0,e}function fn(e,t){cn(e,t,2)}function pn(e,t,r,n){var o=fa.getFramebufferAttachmentParameter(e,t,r);(o instanceof WebGLRenderbuffer||o instanceof WebGLTexture)&&(o=0|o.name),j[n>>2]=o}function En(e,t){cn(e,t,0)}function _n(e,t,r,n){var o=fa.getProgramInfoLog(Lt.programs[e]);null===o&&(o="(unknown error)");var i=t>0&&n?V(o,n,t):0;r&&(j[r>>2]=i)}function mn(e,t,r){if(r)if(e>=Lt.counter)Lt.recordError(1281);else{var n=Lt.programInfos[e];if(n)if(35716==t){var o=fa.getProgramInfoLog(Lt.programs[e]);null===o&&(o="(unknown error)"),j[r>>2]=o.length+1}else if(35719==t)j[r>>2]=n.maxUniformLength;else if(35722==t){if(-1==n.maxAttributeLength){e=Lt.programs[e];var i=fa.getProgramParameter(e,35721);n.maxAttributeLength=0;for(var a=0;a>2]=n.maxAttributeLength}else if(35381==t){if(-1==n.maxUniformBlockNameLength){e=Lt.programs[e];var c=fa.getProgramParameter(e,35382);n.maxUniformBlockNameLength=0;for(a=0;a>2]=n.maxUniformBlockNameLength}else j[r>>2]=fa.getProgramParameter(Lt.programs[e],t);else Lt.recordError(1282)}else Lt.recordError(1281)}function gn(e,t,r){if(r){var n=Lt.timerQueriesEXT[e],o=fa.disjointTimerQueryExt.getQueryObjectEXT(n,t);sn(r,"boolean"==typeof o?o?1:0:o)}else Lt.recordError(1281)}function Tn(e,t,r){if(r){var n,o=Lt.timerQueriesEXT[e],i=fa.disjointTimerQueryExt.getQueryObjectEXT(o,t);n="boolean"==typeof i?i?1:0:i,j[r>>2]=n}else Lt.recordError(1281)}function hn(e,t,r){if(r){var n=Lt.timerQueriesEXT[e],o=fa.disjointTimerQueryExt.getQueryObjectEXT(n,t);sn(r,"boolean"==typeof o?o?1:0:o)}else Lt.recordError(1281)}function On(e,t,r){if(r){var n,o=Lt.timerQueriesEXT[e],i=fa.disjointTimerQueryExt.getQueryObjectEXT(o,t);n="boolean"==typeof i?i?1:0:i,j[r>>2]=n}else Lt.recordError(1281)}function wn(e,t,r){r?j[r>>2]=fa.disjointTimerQueryExt.getQueryEXT(e,t):Lt.recordError(1281)}function yn(e,t,r){r?j[r>>2]=fa.getRenderbufferParameter(e,t):Lt.recordError(1281)}function Dn(e,t,r,n){var o=fa.getShaderInfoLog(Lt.shaders[e]);null===o&&(o="(unknown error)");var i=t>0&&n?V(o,n,t):0;r&&(j[r>>2]=i)}function vn(e,t,r,n){var o=fa.getShaderPrecisionFormat(e,t);j[r>>2]=o.rangeMin,j[r+4>>2]=o.rangeMax,j[n>>2]=o.precision}function bn(e,t,r,n){var o=fa.getShaderSource(Lt.shaders[e]);if(o){var i=t>0&&n?V(o,n,t):0;r&&(j[r>>2]=i)}}function Rn(e,t,r){if(r)if(35716==t){var n=fa.getShaderInfoLog(Lt.shaders[e]);null===n&&(n="(unknown error)");var o=n?n.length+1:0;j[r>>2]=o}else if(35720==t){var i=fa.getShaderSource(Lt.shaders[e]),a=i?i.length+1:0;j[r>>2]=a}else j[r>>2]=fa.getShaderParameter(Lt.shaders[e],t);else Lt.recordError(1281)}function An(e){var t=Y(e)+1,r=Ia(t);return V(e,r,t),r}function Sn(e){if(Lt.stringCache[e])return Lt.stringCache[e];var t;switch(e){case 7939:var r=fa.getSupportedExtensions()||[];t=An((r=r.concat(r.map((function(e){return"GL_"+e})))).join(" "));break;case 7936:case 7937:case 37445:case 37446:var n=fa.getParameter(e);n||Lt.recordError(1280),t=An(n);break;case 7938:var o=fa.getParameter(7938);t=An(o="OpenGL ES 2.0 ("+o+")");break;case 35724:var i=fa.getParameter(35724),a=i.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==a&&(3==a[1].length&&(a[1]=a[1]+"0"),i="OpenGL ES GLSL ES "+a[1]+" ("+i+")"),t=An(i);break;default:return Lt.recordError(1280),0}return Lt.stringCache[e]=t,t}function Pn(e,t,r){r?H[r>>2]=fa.getTexParameter(e,t):Lt.recordError(1281)}function Mn(e,t,r){r?j[r>>2]=fa.getTexParameter(e,t):Lt.recordError(1281)}function Fn(e){return parseInt(e)}function xn(e,t){var r=0;if("]"==(t=W(t))[t.length-1]){var n=t.lastIndexOf("[");r="]"!=t[n+1]?Fn(t.slice(n+1)):0,t=t.slice(0,n)}var o=Lt.programInfos[e]&&Lt.programInfos[e].uniforms[t];return o&&r>=0&&r>2]=o;break;case 2:H[r>>2]=o}else for(var i=0;i>2]=o[i];break;case 2:H[r+4*i>>2]=o[i]}}else Lt.recordError(1281)}function kn(e,t,r){In(e,t,r,2)}function Nn(e,t,r){In(e,t,r,0)}function Xn(e,t,r){r?j[r>>2]=fa.getVertexAttribOffset(e,t):Lt.recordError(1281)}function Un(e,t,r,n){if(r){var o=fa.getVertexAttrib(e,t);if(34975==t)j[r>>2]=o&&o.name;else if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:j[r>>2]=o;break;case 2:H[r>>2]=o;break;case 5:j[r>>2]=Math.fround(o)}else for(var i=0;i>2]=o[i];break;case 2:H[r+4*i>>2]=o[i];break;case 5:j[r+4*i>>2]=Math.fround(o[i])}}else Lt.recordError(1281)}function Cn(e,t,r){Un(e,t,r,2)}function jn(e,t,r){Un(e,t,r,5)}function Ln(e,t){fa.hint(e,t)}function Hn(e){var t=Lt.buffers[e];return t?fa.isBuffer(t):0}function Qn(e){return fa.isEnabled(e)}function Gn(e){var t=Lt.framebuffers[e];return t?fa.isFramebuffer(t):0}function Bn(e){return(e=Lt.programs[e])?fa.isProgram(e):0}function Wn(e){var t=Lt.timerQueriesEXT[e];return t?fa.disjointTimerQueryExt.isQueryEXT(t):0}function zn(e){var t=Lt.renderbuffers[e];return t?fa.isRenderbuffer(t):0}function Vn(e){var t=Lt.shaders[e];return t?fa.isShader(t):0}function Yn(e){var t=Lt.textures[e];return t?fa.isTexture(t):0}function qn(e){var t=Lt.vaos[e];return t?fa.isVertexArray(t):0}function Kn(e){fa.lineWidth(e)}function Jn(e){fa.linkProgram(Lt.programs[e]),Lt.populateUniformTable(e)}function Zn(e,t){3317==e&&(Lt.unpackAlignment=t),fa.pixelStorei(e,t)}function $n(e,t){fa.polygonOffset(e,t)}function eo(e,t){fa.disjointTimerQueryExt.queryCounterEXT(Lt.timerQueriesEXT[e],t)}function to(e,t,r,n){var o;return t*(e*r+(o=n)-1&-o)}function ro(e){return{5:3,6:4,8:2,29502:3,29504:4}[e-6402]||1}function no(e){return 1==(e-=5120)?X:4==e?j:6==e?H:5==e||28922==e?L:C}function oo(e){return 31-Math.clz32(e.BYTES_PER_ELEMENT)}function io(e,t,r,n,o,i){var a=no(e),s=oo(a),c=1<>s,o+u>>s)}function ao(e,t,r,n,o,i,a){var s=io(i,o,r,n,a);s?fa.readPixels(e,t,r,n,o,i,s):Lt.recordError(1280)}function so(){}function co(e,t,r,n){fa.renderbufferStorage(e,t,r,n)}function uo(e,t){fa.sampleCoverage(e,!!t)}function lo(e,t,r,n){fa.scissor(e,t,r,n)}function fo(){Lt.recordError(1280)}function po(e,t,r,n){var o=Lt.getSource(e,t,r,n);fa.shaderSource(Lt.shaders[e],o)}function Eo(e,t,r){fa.stencilFunc(e,t,r)}function _o(e,t,r,n){fa.stencilFuncSeparate(e,t,r,n)}function mo(e){fa.stencilMask(e)}function go(e,t){fa.stencilMaskSeparate(e,t)}function To(e,t,r){fa.stencilOp(e,t,r)}function ho(e,t,r,n){fa.stencilOpSeparate(e,t,r,n)}function Oo(e,t,r,n,o,i,a,s,c){fa.texImage2D(e,t,r,n,o,i,a,s,c?io(s,a,n,o,c):null)}function wo(e,t,r){fa.texParameterf(e,t,r)}function yo(e,t,r){var n=H[r>>2];fa.texParameterf(e,t,n)}function Do(e,t,r){fa.texParameteri(e,t,r)}function vo(e,t,r){var n=j[r>>2];fa.texParameteri(e,t,n)}function bo(e,t,r,n,o,i,a,s,c){var u=null;c&&(u=io(s,a,o,i,c)),fa.texSubImage2D(e,t,r,n,o,i,a,s,u)}function Ro(e,t){fa.uniform1f(Lt.uniforms[e],t)}r.tempFixedLengthArray=Ir,r._emscripten_glDrawBuffersWEBGL=kr,r._emscripten_glDrawElements=Nr,r._emscripten_glDrawElementsInstancedANGLE=Xr,r._emscripten_glEnable=Ur,r._emscripten_glEnableVertexAttribArray=Cr,r._emscripten_glEndQueryEXT=jr,r._emscripten_glFinish=Lr,r._emscripten_glFlush=Hr,r._emscripten_glFramebufferRenderbuffer=Qr,r._emscripten_glFramebufferTexture2D=Gr,r._emscripten_glFrontFace=Br,r.__glGenObject=Wr,r._emscripten_glGenBuffers=zr,r._emscripten_glGenFramebuffers=Vr,r._emscripten_glGenQueriesEXT=Yr,r._emscripten_glGenRenderbuffers=qr,r._emscripten_glGenTextures=Kr,r._emscripten_glGenVertexArraysOES=Jr,r._emscripten_glGenerateMipmap=Zr,r.__glGetActiveAttribOrUniform=$r,r._emscripten_glGetActiveAttrib=en,r._emscripten_glGetActiveUniform=tn,r._emscripten_glGetAttachedShaders=rn,r._emscripten_glGetAttribLocation=nn,r.readI53FromI64=on,r.readI53FromU64=an,r.writeI53ToI64=sn,r.emscriptenWebGLGet=cn,r._emscripten_glGetBooleanv=un,r._emscripten_glGetBufferParameteriv=ln,r._emscripten_glGetError=dn,r._emscripten_glGetFloatv=fn,r._emscripten_glGetFramebufferAttachmentParameteriv=pn,r._emscripten_glGetIntegerv=En,r._emscripten_glGetProgramInfoLog=_n,r._emscripten_glGetProgramiv=mn,r._emscripten_glGetQueryObjecti64vEXT=gn,r._emscripten_glGetQueryObjectivEXT=Tn,r._emscripten_glGetQueryObjectui64vEXT=hn,r._emscripten_glGetQueryObjectuivEXT=On,r._emscripten_glGetQueryivEXT=wn,r._emscripten_glGetRenderbufferParameteriv=yn,r._emscripten_glGetShaderInfoLog=Dn,r._emscripten_glGetShaderPrecisionFormat=vn,r._emscripten_glGetShaderSource=bn,r._emscripten_glGetShaderiv=Rn,r.stringToNewUTF8=An,r._emscripten_glGetString=Sn,r._emscripten_glGetTexParameterfv=Pn,r._emscripten_glGetTexParameteriv=Mn,r.jstoi_q=Fn,r._emscripten_glGetUniformLocation=xn,r.emscriptenWebGLGetUniform=In,r._emscripten_glGetUniformfv=kn,r._emscripten_glGetUniformiv=Nn,r._emscripten_glGetVertexAttribPointerv=Xn,r.emscriptenWebGLGetVertexAttrib=Un,r._emscripten_glGetVertexAttribfv=Cn,r._emscripten_glGetVertexAttribiv=jn,r._emscripten_glHint=Ln,r._emscripten_glIsBuffer=Hn,r._emscripten_glIsEnabled=Qn,r._emscripten_glIsFramebuffer=Gn,r._emscripten_glIsProgram=Bn,r._emscripten_glIsQueryEXT=Wn,r._emscripten_glIsRenderbuffer=zn,r._emscripten_glIsShader=Vn,r._emscripten_glIsTexture=Yn,r._emscripten_glIsVertexArrayOES=qn,r._emscripten_glLineWidth=Kn,r._emscripten_glLinkProgram=Jn,r._emscripten_glPixelStorei=Zn,r._emscripten_glPolygonOffset=$n,r._emscripten_glQueryCounterEXT=eo,r.computeUnpackAlignedImageSize=to,r.__colorChannelsInGlTextureFormat=ro,r.heapObjectForWebGLType=no,r.heapAccessShiftForWebGLHeap=oo,r.emscriptenWebGLGetTexPixelData=io,r._emscripten_glReadPixels=ao,r._emscripten_glReleaseShaderCompiler=so,r._emscripten_glRenderbufferStorage=co,r._emscripten_glSampleCoverage=uo,r._emscripten_glScissor=lo,r._emscripten_glShaderBinary=fo,r._emscripten_glShaderSource=po,r._emscripten_glStencilFunc=Eo,r._emscripten_glStencilFuncSeparate=_o,r._emscripten_glStencilMask=mo,r._emscripten_glStencilMaskSeparate=go,r._emscripten_glStencilOp=To,r._emscripten_glStencilOpSeparate=ho,r._emscripten_glTexImage2D=Oo,r._emscripten_glTexParameterf=wo,r._emscripten_glTexParameterfv=yo,r._emscripten_glTexParameteri=Do,r._emscripten_glTexParameteriv=vo,r._emscripten_glTexSubImage2D=bo,r._emscripten_glUniform1f=Ro;var Ao=[];function So(e,t,r){if(t<=288)for(var n=Ao[t-1],o=0;o>2];else n=H.subarray(r>>2,r+4*t>>2);fa.uniform1fv(Lt.uniforms[e],n)}function Po(e,t){fa.uniform1i(Lt.uniforms[e],t)}r.miniTempWebGLFloatBuffers=Ao,r._emscripten_glUniform1fv=So,r._emscripten_glUniform1i=Po;var Mo=[];function Fo(e,t,r){if(t<=288)for(var n=Mo[t-1],o=0;o>2];else n=j.subarray(r>>2,r+4*t>>2);fa.uniform1iv(Lt.uniforms[e],n)}function xo(e,t,r){fa.uniform2f(Lt.uniforms[e],t,r)}function Io(e,t,r){if(t<=144)for(var n=Ao[2*t-1],o=0;o<2*t;o+=2)n[o]=H[r+4*o>>2],n[o+1]=H[r+(4*o+4)>>2];else n=H.subarray(r>>2,r+8*t>>2);fa.uniform2fv(Lt.uniforms[e],n)}function ko(e,t,r){fa.uniform2i(Lt.uniforms[e],t,r)}function No(e,t,r){if(t<=144)for(var n=Mo[2*t-1],o=0;o<2*t;o+=2)n[o]=j[r+4*o>>2],n[o+1]=j[r+(4*o+4)>>2];else n=j.subarray(r>>2,r+8*t>>2);fa.uniform2iv(Lt.uniforms[e],n)}function Xo(e,t,r,n){fa.uniform3f(Lt.uniforms[e],t,r,n)}function Uo(e,t,r){if(t<=96)for(var n=Ao[3*t-1],o=0;o<3*t;o+=3)n[o]=H[r+4*o>>2],n[o+1]=H[r+(4*o+4)>>2],n[o+2]=H[r+(4*o+8)>>2];else n=H.subarray(r>>2,r+12*t>>2);fa.uniform3fv(Lt.uniforms[e],n)}function Co(e,t,r,n){fa.uniform3i(Lt.uniforms[e],t,r,n)}function jo(e,t,r){if(t<=96)for(var n=Mo[3*t-1],o=0;o<3*t;o+=3)n[o]=j[r+4*o>>2],n[o+1]=j[r+(4*o+4)>>2],n[o+2]=j[r+(4*o+8)>>2];else n=j.subarray(r>>2,r+12*t>>2);fa.uniform3iv(Lt.uniforms[e],n)}function Lo(e,t,r,n,o){fa.uniform4f(Lt.uniforms[e],t,r,n,o)}function Ho(e,t,r){if(t<=72){var n=Ao[4*t-1],o=H;r>>=2;for(var i=0;i<4*t;i+=4){var a=r+i;n[i]=o[a],n[i+1]=o[a+1],n[i+2]=o[a+2],n[i+3]=o[a+3]}}else n=H.subarray(r>>2,r+16*t>>2);fa.uniform4fv(Lt.uniforms[e],n)}function Qo(e,t,r,n,o){fa.uniform4i(Lt.uniforms[e],t,r,n,o)}function Go(e,t,r){if(t<=72)for(var n=Mo[4*t-1],o=0;o<4*t;o+=4)n[o]=j[r+4*o>>2],n[o+1]=j[r+(4*o+4)>>2],n[o+2]=j[r+(4*o+8)>>2],n[o+3]=j[r+(4*o+12)>>2];else n=j.subarray(r>>2,r+16*t>>2);fa.uniform4iv(Lt.uniforms[e],n)}function Bo(e,t,r,n){if(t<=72)for(var o=Ao[4*t-1],i=0;i<4*t;i+=4)o[i]=H[n+4*i>>2],o[i+1]=H[n+(4*i+4)>>2],o[i+2]=H[n+(4*i+8)>>2],o[i+3]=H[n+(4*i+12)>>2];else o=H.subarray(n>>2,n+16*t>>2);fa.uniformMatrix2fv(Lt.uniforms[e],!!r,o)}function Wo(e,t,r,n){if(t<=32)for(var o=Ao[9*t-1],i=0;i<9*t;i+=9)o[i]=H[n+4*i>>2],o[i+1]=H[n+(4*i+4)>>2],o[i+2]=H[n+(4*i+8)>>2],o[i+3]=H[n+(4*i+12)>>2],o[i+4]=H[n+(4*i+16)>>2],o[i+5]=H[n+(4*i+20)>>2],o[i+6]=H[n+(4*i+24)>>2],o[i+7]=H[n+(4*i+28)>>2],o[i+8]=H[n+(4*i+32)>>2];else o=H.subarray(n>>2,n+36*t>>2);fa.uniformMatrix3fv(Lt.uniforms[e],!!r,o)}function zo(e,t,r,n){if(t<=18){var o=Ao[16*t-1],i=H;n>>=2;for(var a=0;a<16*t;a+=16){var s=n+a;o[a]=i[s],o[a+1]=i[s+1],o[a+2]=i[s+2],o[a+3]=i[s+3],o[a+4]=i[s+4],o[a+5]=i[s+5],o[a+6]=i[s+6],o[a+7]=i[s+7],o[a+8]=i[s+8],o[a+9]=i[s+9],o[a+10]=i[s+10],o[a+11]=i[s+11],o[a+12]=i[s+12],o[a+13]=i[s+13],o[a+14]=i[s+14],o[a+15]=i[s+15]}}else o=H.subarray(n>>2,n+64*t>>2);fa.uniformMatrix4fv(Lt.uniforms[e],!!r,o)}function Vo(e){fa.useProgram(Lt.programs[e])}function Yo(e){fa.validateProgram(Lt.programs[e])}function qo(e,t){fa.vertexAttrib1f(e,t)}function Ko(e,t){fa.vertexAttrib1f(e,H[t>>2])}function Jo(e,t,r){fa.vertexAttrib2f(e,t,r)}function Zo(e,t){fa.vertexAttrib2f(e,H[t>>2],H[t+4>>2])}function $o(e,t,r,n){fa.vertexAttrib3f(e,t,r,n)}function ei(e,t){fa.vertexAttrib3f(e,H[t>>2],H[t+4>>2],H[t+8>>2])}function ti(e,t,r,n,o){fa.vertexAttrib4f(e,t,r,n,o)}function ri(e,t){fa.vertexAttrib4f(e,H[t>>2],H[t+4>>2],H[t+8>>2],H[t+12>>2])}function ni(e,t){fa.vertexAttribDivisor(e,t)}function oi(e,t,r,n,o,i){fa.vertexAttribPointer(e,t,r,!!n,o,i)}function ii(e,t,r,n){fa.viewport(e,t,r,n)}function ai(e,t){throw xa(e,t||1),"longjmp"}function si(e,t){return ai(e,t)}function ci(e,t,r){X.copyWithin(e,t,t+r)}function ui(){return X.length}function li(e){try{return R.grow(e-k.byteLength+65535>>>16),$(R.buffer),1}catch(t){console.error("emscripten_realloc_buffer: Attempted to grow heap from "+k.byteLength+" bytes to "+e+" bytes, but got error: "+t)}}function di(e){var t=ui();M(e>t);var r=2147483648;if(e>r)return T("Cannot enlarge memory, asked to go up to "+e+" bytes, but the limit is "+"2147483648 bytes!"),!1;for(var n=1;n<=4;n*=2){var o=t*(1+.2/n);o=Math.min(o,e+100663296);var i=Math.min(r,Z(Math.max(e,o),65536));if(li(i))return!0}return T("Failed to grow the heap from "+t+" bytes to "+i+" bytes, not enough memory!"),!1}r.__miniTempWebGLIntBuffers=Mo,r._emscripten_glUniform1iv=Fo,r._emscripten_glUniform2f=xo,r._emscripten_glUniform2fv=Io,r._emscripten_glUniform2i=ko,r._emscripten_glUniform2iv=No,r._emscripten_glUniform3f=Xo,r._emscripten_glUniform3fv=Uo,r._emscripten_glUniform3i=Co,r._emscripten_glUniform3iv=jo,r._emscripten_glUniform4f=Lo,r._emscripten_glUniform4fv=Ho,r._emscripten_glUniform4i=Qo,r._emscripten_glUniform4iv=Go,r._emscripten_glUniformMatrix2fv=Bo,r._emscripten_glUniformMatrix3fv=Wo,r._emscripten_glUniformMatrix4fv=zo,r._emscripten_glUseProgram=Vo,r._emscripten_glValidateProgram=Yo,r._emscripten_glVertexAttrib1f=qo,r._emscripten_glVertexAttrib1fv=Ko,r._emscripten_glVertexAttrib2f=Jo,r._emscripten_glVertexAttrib2fv=Zo,r._emscripten_glVertexAttrib3f=$o,r._emscripten_glVertexAttrib3fv=ei,r._emscripten_glVertexAttrib4f=ti,r._emscripten_glVertexAttrib4fv=ri,r._emscripten_glVertexAttribDivisorANGLE=ni,r._emscripten_glVertexAttribPointer=oi,r._emscripten_glViewport=ii,r._longjmp=ai,r._emscripten_longjmp=si,r._emscripten_memcpy_big=ci,r._emscripten_get_heap_size=ui,r.emscripten_realloc_buffer=li,r._emscripten_resize_heap=di;var fi={};function pi(){return o||"./this.program"}function Ei(){if(!Ei.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:pi()};for(var t in fi)e[t]=fi[t];var r=[];for(var t in e)r.push(t+"="+e[t]);Ei.strings=r}return Ei.strings}function _i(e,t){try{var r=0;return Ei().forEach((function(n,o){var i=t+r;j[e+4*o>>2]=i,J(n,i),r+=n.length+1})),0}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),e.errno}}function mi(e,t){try{var r=Ei();j[e>>2]=r.length;var n=0;return r.forEach((function(e){n+=e.length+1})),j[t>>2]=n,0}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),e.errno}}function gi(e){Wa(e)}function Ti(e){try{var t=mt.getStreamFromFD(e);return _t.close(t),0}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),e.errno}}function hi(e,t){try{var r=mt.getStreamFromFD(e),n=r.tty?2:_t.isDir(r.mode)?3:_t.isLink(r.mode)?7:4;return N[t>>0]=n,0}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),e.errno}}function Oi(e,t,r,n){try{var o=mt.getStreamFromFD(e),i=mt.doReadv(o,t,r);return j[n>>2]=i,0}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),e.errno}}function wi(e,t,r,n,o){try{var i=mt.getStreamFromFD(e),a=4294967296*r+(t>>>0),s=9007199254740992;return a<=-s||a>=s?-61:(_t.llseek(i,a,n),ke=[i.position>>>0,(Ie=i.position,+Math.abs(Ie)>=1?Ie>0?(0|Math.min(+Math.floor(Ie/4294967296),4294967295))>>>0:~~+Math.ceil((Ie-+(~~Ie>>>0))/4294967296)>>>0:0)],j[o>>2]=ke[0],j[o+4>>2]=ke[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0)}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),e.errno}}function yi(e,t,r,n){try{var o=mt.getStreamFromFD(e),i=mt.doWritev(o,t,r);return j[n>>2]=i,0}catch(e){return void 0!==_t&&e instanceof _t.ErrnoError||be(e),e.errno}}function Di(){return 0|b()}function vi(e,t){fa.bindTexture(e,Lt.textures[t])}function bi(e,t){fa.blendFunc(e,t)}function Ri(e,t,r,n){fa.colorMask(!!e,!!t,!!r,!!n)}function Ai(e){fa.cullFace(e)}function Si(e,t){for(var r=0;r>2],o=Lt.textures[n];o&&(fa.deleteTexture(o),o.name=0,Lt.textures[n]=null)}}function Pi(e){fa.depthFunc(e)}function Mi(e){fa.depthMask(!!e)}function Fi(e,t){fa.depthRange(e,t)}function xi(e,t,r){fa.drawArrays(e,t,r)}function Ii(e,t,r,n){fa.drawElements(e,t,r,n)}function ki(e){fa.enable(e)}function Ni(e){fa.frontFace(e)}function Xi(e,t){Wr(e,t,"createTexture",Lt.textures)}function Ui(){var e=fa.getError()||Lt.lastError;return Lt.lastError=0,e}function Ci(e,t){cn(e,t,0)}function ji(e){if(Lt.stringCache[e])return Lt.stringCache[e];var t;switch(e){case 7939:var r=fa.getSupportedExtensions()||[];t=An((r=r.concat(r.map((function(e){return"GL_"+e})))).join(" "));break;case 7936:case 7937:case 37445:case 37446:var n=fa.getParameter(e);n||Lt.recordError(1280),t=An(n);break;case 7938:var o=fa.getParameter(7938);t=An(o="OpenGL ES 2.0 ("+o+")");break;case 35724:var i=fa.getParameter(35724),a=i.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==a&&(3==a[1].length&&(a[1]=a[1]+"0"),i="OpenGL ES GLSL ES "+a[1]+" ("+i+")"),t=An(i);break;default:return Lt.recordError(1280),0}return Lt.stringCache[e]=t,t}function Li(e,t){fa.hint(e,t)}function Hi(e){fa.lineWidth(e)}function Qi(e,t){3317==e&&(Lt.unpackAlignment=t),fa.pixelStorei(e,t)}function Gi(e,t){fa.polygonOffset(e,t)}function Bi(e,t,r,n,o,i,a){var s=io(i,o,r,n,a);s?fa.readPixels(e,t,r,n,o,i,s):Lt.recordError(1280)}function Wi(e,t,r,n){fa.scissor(e,t,r,n)}function zi(){Lt.recordError(1280)}function Vi(e,t,r){fa.stencilFunc(e,t,r)}function Yi(e){fa.stencilMask(e)}function qi(e,t,r){fa.stencilOp(e,t,r)}function Ki(e,t,r,n,o,i,a,s,c){fa.texImage2D(e,t,r,n,o,i,a,s,c?io(s,a,n,o,c):null)}function Ji(e,t,r){fa.texParameterf(e,t,r)}function Zi(e,t,r){var n=H[r>>2];fa.texParameterf(e,t,n)}function $i(e,t,r){fa.texParameteri(e,t,r)}function ea(e,t,r){var n=j[r>>2];fa.texParameteri(e,t,n)}function ta(e,t,r,n,o,i,a,s,c){var u=null;c&&(u=io(s,a,o,i,c)),fa.texSubImage2D(e,t,r,n,o,i,a,s,u)}function ra(e,t,r,n){fa.viewport(e,t,r,n)}function na(e){v(0|e)}function oa(e){return e%4==0&&(e%100!=0||e%400==0)}function ia(e,t){for(var r=0,n=0;n<=t;r+=e[n++]);return r}r.ENV=fi,r.getExecutableName=pi,r.getEnvStrings=Ei,r._environ_get=_i,r._environ_sizes_get=mi,r._exit=gi,r._fd_close=Ti,r._fd_fdstat_get=hi,r._fd_read=Oi,r._fd_seek=wi,r._fd_write=yi,r._getTempRet0=Di,r._glBindTexture=vi,r._glBlendFunc=bi,r._glColorMask=Ri,r._glCullFace=Ai,r._glDeleteTextures=Si,r._glDepthFunc=Pi,r._glDepthMask=Mi,r._glDepthRangef=Fi,r._glDrawArrays=xi,r._glDrawElements=Ii,r._glEnable=ki,r._glFrontFace=Ni,r._glGenTextures=Xi,r._glGetError=Ui,r._glGetIntegerv=Ci,r._glGetString=ji,r._glHint=Li,r._glLineWidth=Hi,r._glPixelStorei=Qi,r._glPolygonOffset=Gi,r._glReadPixels=Bi,r._glScissor=Wi,r._glShaderBinary=zi,r._glStencilFunc=Vi,r._glStencilMask=Yi,r._glStencilOp=qi,r._glTexImage2D=Ki,r._glTexParameterf=Ji,r._glTexParameterfv=Zi,r._glTexParameteri=$i,r._glTexParameteriv=ea,r._glTexSubImage2D=ta,r._glViewport=ra,r._setTempRet0=na,r.__isLeapYear=oa,r.__arraySum=ia;var aa=[31,29,31,30,31,30,31,31,30,31,30,31];r.__MONTH_DAYS_LEAP=aa;var sa=[31,28,31,30,31,30,31,31,30,31,30,31];function ca(e,t){for(var r=new Date(e.getTime());t>0;){var n=oa(r.getFullYear()),o=r.getMonth(),i=(n?aa:sa)[o];if(!(t>i-r.getDate()))return r.setDate(r.getDate()+t),r;t-=i-r.getDate()+1,r.setDate(1),o<11?r.setMonth(o+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r}function ua(e,t,r,n){var o=j[n+40>>2],i={tm_sec:j[n>>2],tm_min:j[n+4>>2],tm_hour:j[n+8>>2],tm_mday:j[n+12>>2],tm_mon:j[n+16>>2],tm_year:j[n+20>>2],tm_wday:j[n+24>>2],tm_yday:j[n+28>>2],tm_isdst:j[n+32>>2],tm_gmtoff:j[n+36>>2],tm_zone:o?W(o):""},a=W(r),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var c in s)a=a.replace(new RegExp(c,"g"),s[c]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],l=["January","February","March","April","May","June","July","August","September","October","November","December"];function d(e,t,r){for(var n="number"==typeof e?e.toString():e||"";n.length0?1:0}var n;return 0===(n=r(e.getFullYear()-t.getFullYear()))&&0===(n=r(e.getMonth()-t.getMonth()))&&(n=r(e.getDate()-t.getDate())),n}function E(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function _(e){var t=ca(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(t.getFullYear(),0,4),n=new Date(t.getFullYear()+1,0,4),o=E(r),i=E(n);return p(o,t)<=0?p(i,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var m={"%a":function(e){return u[e.tm_wday].substring(0,3)},"%A":function(e){return u[e.tm_wday]},"%b":function(e){return l[e.tm_mon].substring(0,3)},"%B":function(e){return l[e.tm_mon]},"%C":function(e){return f((e.tm_year+1900)/100|0,2)},"%d":function(e){return f(e.tm_mday,2)},"%e":function(e){return d(e.tm_mday,2," ")},"%g":function(e){return _(e).toString().substring(2)},"%G":function(e){return _(e)},"%H":function(e){return f(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),f(t,2)},"%j":function(e){return f(e.tm_mday+ia(oa(e.tm_year+1900)?aa:sa,e.tm_mon-1),3)},"%m":function(e){return f(e.tm_mon+1,2)},"%M":function(e){return f(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return f(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=new Date(e.tm_year+1900,0,1),r=0===t.getDay()?t:ca(t,7-t.getDay()),n=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(p(r,n)<0){var o=ia(oa(n.getFullYear())?aa:sa,n.getMonth()-1)-31,i=31-r.getDate()+o+n.getDate();return f(Math.ceil(i/7),2)}return 0===p(r,t)?"01":"00"},"%V":function(e){var t,r=new Date(e.tm_year+1900,0,4),n=new Date(e.tm_year+1901,0,4),o=E(r),i=E(n),a=ca(new Date(e.tm_year+1900,0,1),e.tm_yday);return p(a,o)<0?"53":p(i,a)<=0?"01":(t=o.getFullYear()=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(r?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var c in m)a.indexOf(c)>=0&&(a=a.replace(new RegExp(c,"g"),m[c](i)));var g=ha(a,!1);return g.length>t?0:(K(g,e),g.length-1)}function la(e,t,r,n){return ua(e,t,r,n)}function da(e){var t=Date.now()/1e3|0;return e&&(j[e>>2]=t),t}r.__MONTH_DAYS_REGULAR=sa,r.__addDays=ca,r._strftime=ua,r._strftime_l=la,r._time=da;var fa,pa=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=_t.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},Ea=365,_a=146;Object.defineProperties(pa.prototype,{read:{get:function(){return(this.mode&Ea)===Ea},set:function(e){e?this.mode|=Ea:this.mode&=~Ea}},write:{get:function(){return(this.mode&_a)===_a},set:function(e){e?this.mode|=_a:this.mode&=~_a}},isFolder:{get:function(){return _t.isDir(this.mode)}},isDevice:{get:function(){return _t.isChrdev(this.mode)}}}),_t.FSNode=pa,_t.staticInit();for(var ma=0;ma<32;++ma)Ir.push(new Array(ma));var ga=new Float32Array(288);for(ma=0;ma<288;++ma)Ao[ma]=ga.subarray(0,ma+1);var Ta=new Int32Array(288);for(ma=0;ma<288;++ma)Mo[ma]=Ta.subarray(0,ma+1);function ha(e,t,r){var n=r>0?r:Y(e)+1,o=new Array(n),i=z(e,o,0,o.length);return t&&(o.length=i),o}var Oa={__assert_fail:We,__clock_gettime:qe,__cxa_allocate_exception:Je,__cxa_atexit:$e,__cxa_throw:nt,__localtime_r:at,__sys_access:gt,__sys_dup:Tt,__sys_fcntl64:ht,__sys_fstat64:Ot,__sys_getcwd:wt,__sys_getdents64:yt,__sys_ioctl:Dt,__sys_lstat64:vt,__sys_mkdir:bt,__sys_open:Rt,__sys_readlink:At,__sys_rename:St,__sys_rmdir:Pt,__sys_stat64:Mt,__sys_unlink:Ft,abort:xt,clock_gettime:Ye,dlclose:It,dlerror:kt,dlopen:Nt,emscripten_glActiveTexture:Ht,emscripten_glAttachShader:Qt,emscripten_glBeginQueryEXT:Gt,emscripten_glBindAttribLocation:Bt,emscripten_glBindBuffer:Wt,emscripten_glBindFramebuffer:zt,emscripten_glBindRenderbuffer:Vt,emscripten_glBindTexture:Yt,emscripten_glBindVertexArrayOES:qt,emscripten_glBlendColor:Kt,emscripten_glBlendEquation:Jt,emscripten_glBlendEquationSeparate:Zt,emscripten_glBlendFunc:$t,emscripten_glBlendFuncSeparate:er,emscripten_glBufferData:tr,emscripten_glBufferSubData:rr,emscripten_glCheckFramebufferStatus:nr,emscripten_glClear:or,emscripten_glClearColor:ir,emscripten_glClearDepthf:ar,emscripten_glClearStencil:sr,emscripten_glColorMask:cr,emscripten_glCompileShader:ur,emscripten_glCompressedTexImage2D:lr,emscripten_glCompressedTexSubImage2D:dr,emscripten_glCopyTexImage2D:fr,emscripten_glCopyTexSubImage2D:pr,emscripten_glCreateProgram:Er,emscripten_glCreateShader:_r,emscripten_glCullFace:mr,emscripten_glDeleteBuffers:gr,emscripten_glDeleteFramebuffers:Tr,emscripten_glDeleteProgram:hr,emscripten_glDeleteQueriesEXT:Or,emscripten_glDeleteRenderbuffers:wr,emscripten_glDeleteShader:yr,emscripten_glDeleteTextures:Dr,emscripten_glDeleteVertexArraysOES:vr,emscripten_glDepthFunc:br,emscripten_glDepthMask:Rr,emscripten_glDepthRangef:Ar,emscripten_glDetachShader:Sr,emscripten_glDisable:Pr,emscripten_glDisableVertexAttribArray:Mr,emscripten_glDrawArrays:Fr,emscripten_glDrawArraysInstancedANGLE:xr,emscripten_glDrawBuffersWEBGL:kr,emscripten_glDrawElements:Nr,emscripten_glDrawElementsInstancedANGLE:Xr,emscripten_glEnable:Ur,emscripten_glEnableVertexAttribArray:Cr,emscripten_glEndQueryEXT:jr,emscripten_glFinish:Lr,emscripten_glFlush:Hr,emscripten_glFramebufferRenderbuffer:Qr,emscripten_glFramebufferTexture2D:Gr,emscripten_glFrontFace:Br,emscripten_glGenBuffers:zr,emscripten_glGenFramebuffers:Vr,emscripten_glGenQueriesEXT:Yr,emscripten_glGenRenderbuffers:qr,emscripten_glGenTextures:Kr,emscripten_glGenVertexArraysOES:Jr,emscripten_glGenerateMipmap:Zr,emscripten_glGetActiveAttrib:en,emscripten_glGetActiveUniform:tn,emscripten_glGetAttachedShaders:rn,emscripten_glGetAttribLocation:nn,emscripten_glGetBooleanv:un,emscripten_glGetBufferParameteriv:ln,emscripten_glGetError:dn,emscripten_glGetFloatv:fn,emscripten_glGetFramebufferAttachmentParameteriv:pn,emscripten_glGetIntegerv:En,emscripten_glGetProgramInfoLog:_n,emscripten_glGetProgramiv:mn,emscripten_glGetQueryObjecti64vEXT:gn,emscripten_glGetQueryObjectivEXT:Tn,emscripten_glGetQueryObjectui64vEXT:hn,emscripten_glGetQueryObjectuivEXT:On,emscripten_glGetQueryivEXT:wn,emscripten_glGetRenderbufferParameteriv:yn,emscripten_glGetShaderInfoLog:Dn,emscripten_glGetShaderPrecisionFormat:vn,emscripten_glGetShaderSource:bn,emscripten_glGetShaderiv:Rn,emscripten_glGetString:Sn,emscripten_glGetTexParameterfv:Pn,emscripten_glGetTexParameteriv:Mn,emscripten_glGetUniformLocation:xn,emscripten_glGetUniformfv:kn,emscripten_glGetUniformiv:Nn,emscripten_glGetVertexAttribPointerv:Xn,emscripten_glGetVertexAttribfv:Cn,emscripten_glGetVertexAttribiv:jn,emscripten_glHint:Ln,emscripten_glIsBuffer:Hn,emscripten_glIsEnabled:Qn,emscripten_glIsFramebuffer:Gn,emscripten_glIsProgram:Bn,emscripten_glIsQueryEXT:Wn,emscripten_glIsRenderbuffer:zn,emscripten_glIsShader:Vn,emscripten_glIsTexture:Yn,emscripten_glIsVertexArrayOES:qn,emscripten_glLineWidth:Kn,emscripten_glLinkProgram:Jn,emscripten_glPixelStorei:Zn,emscripten_glPolygonOffset:$n,emscripten_glQueryCounterEXT:eo,emscripten_glReadPixels:ao,emscripten_glReleaseShaderCompiler:so,emscripten_glRenderbufferStorage:co,emscripten_glSampleCoverage:uo,emscripten_glScissor:lo,emscripten_glShaderBinary:fo,emscripten_glShaderSource:po,emscripten_glStencilFunc:Eo,emscripten_glStencilFuncSeparate:_o,emscripten_glStencilMask:mo,emscripten_glStencilMaskSeparate:go,emscripten_glStencilOp:To,emscripten_glStencilOpSeparate:ho,emscripten_glTexImage2D:Oo,emscripten_glTexParameterf:wo,emscripten_glTexParameterfv:yo,emscripten_glTexParameteri:Do,emscripten_glTexParameteriv:vo,emscripten_glTexSubImage2D:bo,emscripten_glUniform1f:Ro,emscripten_glUniform1fv:So,emscripten_glUniform1i:Po,emscripten_glUniform1iv:Fo,emscripten_glUniform2f:xo,emscripten_glUniform2fv:Io,emscripten_glUniform2i:ko,emscripten_glUniform2iv:No,emscripten_glUniform3f:Xo,emscripten_glUniform3fv:Uo,emscripten_glUniform3i:Co,emscripten_glUniform3iv:jo,emscripten_glUniform4f:Lo,emscripten_glUniform4fv:Ho,emscripten_glUniform4i:Qo,emscripten_glUniform4iv:Go,emscripten_glUniformMatrix2fv:Bo,emscripten_glUniformMatrix3fv:Wo,emscripten_glUniformMatrix4fv:zo,emscripten_glUseProgram:Vo,emscripten_glValidateProgram:Yo,emscripten_glVertexAttrib1f:qo,emscripten_glVertexAttrib1fv:Ko,emscripten_glVertexAttrib2f:Jo,emscripten_glVertexAttrib2fv:Zo,emscripten_glVertexAttrib3f:$o,emscripten_glVertexAttrib3fv:ei,emscripten_glVertexAttrib4f:ti,emscripten_glVertexAttrib4fv:ri,emscripten_glVertexAttribDivisorANGLE:ni,emscripten_glVertexAttribPointer:oi,emscripten_glViewport:ii,emscripten_longjmp:si,emscripten_memcpy_big:ci,emscripten_resize_heap:di,environ_get:_i,environ_sizes_get:mi,exit:gi,fd_close:Ti,fd_fdstat_get:hi,fd_read:Oi,fd_seek:wi,fd_write:yi,getTempRet0:Di,glBindTexture:vi,glBlendFunc:bi,glColorMask:Ri,glCullFace:Ai,glDeleteTextures:Si,glDepthFunc:Pi,glDepthMask:Mi,glDepthRangef:Fi,glDrawArrays:xi,glDrawElements:Ii,glEnable:ki,glFrontFace:Ni,glGenTextures:Xi,glGetError:Ui,glGetIntegerv:Ci,glGetString:ji,glHint:Li,glLineWidth:Hi,glPixelStorei:Qi,glPolygonOffset:Gi,glReadPixels:Bi,glScissor:Wi,glShaderBinary:zi,glStencilFunc:Vi,glStencilMask:Yi,glStencilOp:qi,glTexImage2D:Ki,glTexParameterf:Ji,glTexParameterfv:Zi,glTexParameteri:$i,glTexParameteriv:ea,glTexSubImage2D:ta,glViewport:ra,invoke_ii:ka,invoke_iii:Ca,invoke_iiii:La,invoke_iiiii:ja,invoke_vi:Na,invoke_vii:Ua,invoke_viii:Xa,setTempRet0:na,strftime:ua,strftime_l:la,time:da};je();var wa=r.___wasm_call_ctors=xe("__wasm_call_ctors");r._FreeMemory=xe("FreeMemory"),r._OSGBToS3MB=xe("OSGBToS3MB");var ya=r.___errno_location=xe("__errno_location");r._fflush=xe("fflush");var Da=r.__get_tzname=xe("_get_tzname"),va=r.__get_daylight=xe("_get_daylight"),ba=r.__get_timezone=xe("_get_timezone");r._emscripten_main_thread_process_queued_calls=xe("emscripten_main_thread_process_queued_calls");var Ra=r.stackSave=xe("stackSave"),Aa=r.stackRestore=xe("stackRestore"),Sa=r.stackAlloc=xe("stackAlloc"),Pa=r._emscripten_stack_init=function(){return(Pa=r._emscripten_stack_init=r.asm.emscripten_stack_init).apply(null,arguments)};r._emscripten_stack_get_free=function(){return(r._emscripten_stack_get_free=r.asm.emscripten_stack_get_free).apply(null,arguments)};var Ma,Fa=r._emscripten_stack_get_end=function(){return(Fa=r._emscripten_stack_get_end=r.asm.emscripten_stack_get_end).apply(null,arguments)},xa=r._setThrew=xe("setThrew"),Ia=r._malloc=xe("malloc");function ka(e,t){var r=Ra();try{return te.get(e)(t)}catch(e){if(Aa(r),e!==e+0&&"longjmp"!==e)throw e;xa(1,0)}}function Na(e,t){var r=Ra();try{te.get(e)(t)}catch(e){if(Aa(r),e!==e+0&&"longjmp"!==e)throw e;xa(1,0)}}function Xa(e,t,r,n){var o=Ra();try{te.get(e)(t,r,n)}catch(e){if(Aa(o),e!==e+0&&"longjmp"!==e)throw e;xa(1,0)}}function Ua(e,t,r){var n=Ra();try{te.get(e)(t,r)}catch(e){if(Aa(n),e!==e+0&&"longjmp"!==e)throw e;xa(1,0)}}function Ca(e,t,r){var n=Ra();try{return te.get(e)(t,r)}catch(e){if(Aa(n),e!==e+0&&"longjmp"!==e)throw e;xa(1,0)}}function ja(e,t,r,n,o){var i=Ra();try{return te.get(e)(t,r,n,o)}catch(e){if(Aa(i),e!==e+0&&"longjmp"!==e)throw e;xa(1,0)}}function La(e,t,r,n){var o=Ra();try{return te.get(e)(t,r,n)}catch(e){if(Aa(o),e!==e+0&&"longjmp"!==e)throw e;xa(1,0)}}function Ha(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Qa(){Pa(),ne()}function Ga(e){function t(){Ma||(Ma=!0,r.calledRun=!0,P||(fe(),pe(),r.onRuntimeInitialized&&r.onRuntimeInitialized(),M(!r._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),_e()))}Te>0||(Qa(),de(),Te>0||(r.setStatus?(r.setStatus("Running..."),setTimeout((function(){setTimeout((function(){r.setStatus("")}),1),t()}),1)):t(),oe()))}function Ba(){var e=g,t=T,n=!1;g=T=function(e){n=!0};try{var o=r._fflush;o&&o(0),["stdout","stderr"].forEach((function(e){var t=_t.analyzePath("/dev/"+e);if(t){var r=t.object.rdev,o=lt.ttys[r];o&&o.output&&o.output.length&&(n=!0)}}))}catch(e){}g=e,T=t,n&&w("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.")}function Wa(e,t){if(Ba(),!t||!A||0!==e){if(A){if(!t)T("program exited (with status: "+e+"), but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)")}else Ee(),r.onExit&&r.onExit(e),P=!0;i(e,new Ha(e))}}if(r._free=xe("free"),r.dynCall_jiji=xe("dynCall_jiji"),r.dynCall_iiiiij=xe("dynCall_iiiiij"),r.dynCall_iiiiijj=xe("dynCall_iiiiijj"),r.dynCall_iiiiiijj=xe("dynCall_iiiiiijj"),r.dynCall_viijii=xe("dynCall_viijii"),r.dynCall_vij=xe("dynCall_vij"),r.dynCall_jii=xe("dynCall_jii"),r.dynCall_iiiji=xe("dynCall_iiiji"),r.dynCall_ij=xe("dynCall_ij"),r.dynCall_ji=xe("dynCall_ji"),r.dynCall_iiiij=xe("dynCall_iiiij"),Object.getOwnPropertyDescriptor(r,"intArrayFromString")||(r.intArrayFromString=function(){be("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"intArrayToString")||(r.intArrayToString=function(){be("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),r.ccall=x,r.cwrap=I,Object.getOwnPropertyDescriptor(r,"setValue")||(r.setValue=function(){be("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),r.getValue=S,Object.getOwnPropertyDescriptor(r,"allocate")||(r.allocate=function(){be("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"UTF8ArrayToString")||(r.UTF8ArrayToString=function(){be("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"UTF8ToString")||(r.UTF8ToString=function(){be("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"stringToUTF8Array")||(r.stringToUTF8Array=function(){be("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"stringToUTF8")||(r.stringToUTF8=function(){be("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"lengthBytesUTF8")||(r.lengthBytesUTF8=function(){be("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"stackTrace")||(r.stackTrace=function(){be("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"addOnPreRun")||(r.addOnPreRun=function(){be("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"addOnInit")||(r.addOnInit=function(){be("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"addOnPreMain")||(r.addOnPreMain=function(){be("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"addOnExit")||(r.addOnExit=function(){be("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"addOnPostRun")||(r.addOnPostRun=function(){be("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"writeStringToMemory")||(r.writeStringToMemory=function(){be("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"writeArrayToMemory")||(r.writeArrayToMemory=function(){be("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"writeAsciiToMemory")||(r.writeAsciiToMemory=function(){be("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"addRunDependency")||(r.addRunDependency=function(){be("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(r,"removeRunDependency")||(r.removeRunDependency=function(){be("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(r,"FS_createFolder")||(r.FS_createFolder=function(){be("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"FS_createPath")||(r.FS_createPath=function(){be("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(r,"FS_createDataFile")||(r.FS_createDataFile=function(){be("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(r,"FS_createPreloadedFile")||(r.FS_createPreloadedFile=function(){be("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(r,"FS_createLazyFile")||(r.FS_createLazyFile=function(){be("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(r,"FS_createLink")||(r.FS_createLink=function(){be("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"FS_createDevice")||(r.FS_createDevice=function(){be("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(r,"FS_unlink")||(r.FS_unlink=function(){be("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")}),Object.getOwnPropertyDescriptor(r,"getLEB")||(r.getLEB=function(){be("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"getFunctionTables")||(r.getFunctionTables=function(){be("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"alignFunctionTables")||(r.alignFunctionTables=function(){be("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerFunctions")||(r.registerFunctions=function(){be("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"addFunction")||(r.addFunction=function(){be("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"removeFunction")||(r.removeFunction=function(){be("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"getFuncWrapper")||(r.getFuncWrapper=function(){be("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"prettyPrint")||(r.prettyPrint=function(){be("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"makeBigInt")||(r.makeBigInt=function(){be("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"dynCall")||(r.dynCall=function(){be("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"getCompilerSetting")||(r.getCompilerSetting=function(){be("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"print")||(r.print=function(){be("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"printErr")||(r.printErr=function(){be("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"getTempRet0")||(r.getTempRet0=function(){be("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"setTempRet0")||(r.setTempRet0=function(){be("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"callMain")||(r.callMain=function(){be("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"abort")||(r.abort=function(){be("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"stringToNewUTF8")||(r.stringToNewUTF8=function(){be("'stringToNewUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"setFileTime")||(r.setFileTime=function(){be("'setFileTime' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"emscripten_realloc_buffer")||(r.emscripten_realloc_buffer=function(){be("'emscripten_realloc_buffer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"ENV")||(r.ENV=function(){be("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"ERRNO_CODES")||(r.ERRNO_CODES=function(){be("'ERRNO_CODES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"ERRNO_MESSAGES")||(r.ERRNO_MESSAGES=function(){be("'ERRNO_MESSAGES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"setErrNo")||(r.setErrNo=function(){be("'setErrNo' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"inetPton4")||(r.inetPton4=function(){be("'inetPton4' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"inetNtop4")||(r.inetNtop4=function(){be("'inetNtop4' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"inetPton6")||(r.inetPton6=function(){be("'inetPton6' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"inetNtop6")||(r.inetNtop6=function(){be("'inetNtop6' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"readSockaddr")||(r.readSockaddr=function(){be("'readSockaddr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"writeSockaddr")||(r.writeSockaddr=function(){be("'writeSockaddr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"DNS")||(r.DNS=function(){be("'DNS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"getHostByName")||(r.getHostByName=function(){be("'getHostByName' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"GAI_ERRNO_MESSAGES")||(r.GAI_ERRNO_MESSAGES=function(){be("'GAI_ERRNO_MESSAGES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"Protocols")||(r.Protocols=function(){be("'Protocols' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"Sockets")||(r.Sockets=function(){be("'Sockets' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"getRandomDevice")||(r.getRandomDevice=function(){be("'getRandomDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"traverseStack")||(r.traverseStack=function(){be("'traverseStack' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"UNWIND_CACHE")||(r.UNWIND_CACHE=function(){be("'UNWIND_CACHE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"withBuiltinMalloc")||(r.withBuiltinMalloc=function(){be("'withBuiltinMalloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"readAsmConstArgsArray")||(r.readAsmConstArgsArray=function(){be("'readAsmConstArgsArray' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"readAsmConstArgs")||(r.readAsmConstArgs=function(){be("'readAsmConstArgs' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"mainThreadEM_ASM")||(r.mainThreadEM_ASM=function(){be("'mainThreadEM_ASM' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"jstoi_q")||(r.jstoi_q=function(){be("'jstoi_q' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"jstoi_s")||(r.jstoi_s=function(){be("'jstoi_s' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"getExecutableName")||(r.getExecutableName=function(){be("'getExecutableName' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"listenOnce")||(r.listenOnce=function(){be("'listenOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"autoResumeAudioContext")||(r.autoResumeAudioContext=function(){be("'autoResumeAudioContext' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"dynCallLegacy")||(r.dynCallLegacy=function(){be("'dynCallLegacy' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"getDynCaller")||(r.getDynCaller=function(){be("'getDynCaller' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"dynCall")||(r.dynCall=function(){be("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"callRuntimeCallbacks")||(r.callRuntimeCallbacks=function(){be("'callRuntimeCallbacks' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"reallyNegative")||(r.reallyNegative=function(){be("'reallyNegative' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"unSign")||(r.unSign=function(){be("'unSign' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"reSign")||(r.reSign=function(){be("'reSign' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"formatString")||(r.formatString=function(){be("'formatString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"PATH")||(r.PATH=function(){be("'PATH' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"PATH_FS")||(r.PATH_FS=function(){be("'PATH_FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"SYSCALLS")||(r.SYSCALLS=function(){be("'SYSCALLS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"syscallMmap2")||(r.syscallMmap2=function(){be("'syscallMmap2' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"syscallMunmap")||(r.syscallMunmap=function(){be("'syscallMunmap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"getSocketFromFD")||(r.getSocketFromFD=function(){be("'getSocketFromFD' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"getSocketAddress")||(r.getSocketAddress=function(){be("'getSocketAddress' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"JSEvents")||(r.JSEvents=function(){be("'JSEvents' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerKeyEventCallback")||(r.registerKeyEventCallback=function(){be("'registerKeyEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"specialHTMLTargets")||(r.specialHTMLTargets=function(){be("'specialHTMLTargets' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"maybeCStringToJsString")||(r.maybeCStringToJsString=function(){be("'maybeCStringToJsString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"findEventTarget")||(r.findEventTarget=function(){be("'findEventTarget' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"findCanvasEventTarget")||(r.findCanvasEventTarget=function(){be("'findCanvasEventTarget' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"getBoundingClientRect")||(r.getBoundingClientRect=function(){be("'getBoundingClientRect' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"fillMouseEventData")||(r.fillMouseEventData=function(){be("'fillMouseEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerMouseEventCallback")||(r.registerMouseEventCallback=function(){be("'registerMouseEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerWheelEventCallback")||(r.registerWheelEventCallback=function(){be("'registerWheelEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerUiEventCallback")||(r.registerUiEventCallback=function(){be("'registerUiEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerFocusEventCallback")||(r.registerFocusEventCallback=function(){be("'registerFocusEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"fillDeviceOrientationEventData")||(r.fillDeviceOrientationEventData=function(){be("'fillDeviceOrientationEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerDeviceOrientationEventCallback")||(r.registerDeviceOrientationEventCallback=function(){be("'registerDeviceOrientationEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"fillDeviceMotionEventData")||(r.fillDeviceMotionEventData=function(){be("'fillDeviceMotionEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerDeviceMotionEventCallback")||(r.registerDeviceMotionEventCallback=function(){be("'registerDeviceMotionEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"screenOrientation")||(r.screenOrientation=function(){be("'screenOrientation' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"fillOrientationChangeEventData")||(r.fillOrientationChangeEventData=function(){be("'fillOrientationChangeEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerOrientationChangeEventCallback")||(r.registerOrientationChangeEventCallback=function(){be("'registerOrientationChangeEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"fillFullscreenChangeEventData")||(r.fillFullscreenChangeEventData=function(){be("'fillFullscreenChangeEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerFullscreenChangeEventCallback")||(r.registerFullscreenChangeEventCallback=function(){be("'registerFullscreenChangeEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerRestoreOldStyle")||(r.registerRestoreOldStyle=function(){be("'registerRestoreOldStyle' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"hideEverythingExceptGivenElement")||(r.hideEverythingExceptGivenElement=function(){be("'hideEverythingExceptGivenElement' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"restoreHiddenElements")||(r.restoreHiddenElements=function(){be("'restoreHiddenElements' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"setLetterbox")||(r.setLetterbox=function(){be("'setLetterbox' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"currentFullscreenStrategy")||(r.currentFullscreenStrategy=function(){be("'currentFullscreenStrategy' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"restoreOldWindowedStyle")||(r.restoreOldWindowedStyle=function(){be("'restoreOldWindowedStyle' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"softFullscreenResizeWebGLRenderTarget")||(r.softFullscreenResizeWebGLRenderTarget=function(){be("'softFullscreenResizeWebGLRenderTarget' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"doRequestFullscreen")||(r.doRequestFullscreen=function(){be("'doRequestFullscreen' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"fillPointerlockChangeEventData")||(r.fillPointerlockChangeEventData=function(){be("'fillPointerlockChangeEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerPointerlockChangeEventCallback")||(r.registerPointerlockChangeEventCallback=function(){be("'registerPointerlockChangeEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerPointerlockErrorEventCallback")||(r.registerPointerlockErrorEventCallback=function(){be("'registerPointerlockErrorEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"requestPointerLock")||(r.requestPointerLock=function(){be("'requestPointerLock' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"fillVisibilityChangeEventData")||(r.fillVisibilityChangeEventData=function(){be("'fillVisibilityChangeEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerVisibilityChangeEventCallback")||(r.registerVisibilityChangeEventCallback=function(){be("'registerVisibilityChangeEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerTouchEventCallback")||(r.registerTouchEventCallback=function(){be("'registerTouchEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"fillGamepadEventData")||(r.fillGamepadEventData=function(){be("'fillGamepadEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerGamepadEventCallback")||(r.registerGamepadEventCallback=function(){be("'registerGamepadEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerBeforeUnloadEventCallback")||(r.registerBeforeUnloadEventCallback=function(){be("'registerBeforeUnloadEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"fillBatteryEventData")||(r.fillBatteryEventData=function(){be("'fillBatteryEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"battery")||(r.battery=function(){be("'battery' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"registerBatteryEventCallback")||(r.registerBatteryEventCallback=function(){be("'registerBatteryEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"setCanvasElementSize")||(r.setCanvasElementSize=function(){be("'setCanvasElementSize' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"getCanvasElementSize")||(r.getCanvasElementSize=function(){be("'getCanvasElementSize' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"polyfillSetImmediate")||(r.polyfillSetImmediate=function(){be("'polyfillSetImmediate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"demangle")||(r.demangle=function(){be("'demangle' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"demangleAll")||(r.demangleAll=function(){be("'demangleAll' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"jsStackTrace")||(r.jsStackTrace=function(){be("'jsStackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"stackTrace")||(r.stackTrace=function(){be("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"getEnvStrings")||(r.getEnvStrings=function(){be("'getEnvStrings' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"checkWasiClock")||(r.checkWasiClock=function(){be("'checkWasiClock' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"writeI53ToI64")||(r.writeI53ToI64=function(){be("'writeI53ToI64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"writeI53ToI64Clamped")||(r.writeI53ToI64Clamped=function(){be("'writeI53ToI64Clamped' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"writeI53ToI64Signaling")||(r.writeI53ToI64Signaling=function(){be("'writeI53ToI64Signaling' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"writeI53ToU64Clamped")||(r.writeI53ToU64Clamped=function(){be("'writeI53ToU64Clamped' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"writeI53ToU64Signaling")||(r.writeI53ToU64Signaling=function(){be("'writeI53ToU64Signaling' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"readI53FromI64")||(r.readI53FromI64=function(){be("'readI53FromI64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"readI53FromU64")||(r.readI53FromU64=function(){be("'readI53FromU64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"convertI32PairToI53")||(r.convertI32PairToI53=function(){be("'convertI32PairToI53' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"convertU32PairToI53")||(r.convertU32PairToI53=function(){be("'convertU32PairToI53' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"uncaughtExceptionCount")||(r.uncaughtExceptionCount=function(){be("'uncaughtExceptionCount' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"exceptionLast")||(r.exceptionLast=function(){be("'exceptionLast' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"exceptionCaught")||(r.exceptionCaught=function(){be("'exceptionCaught' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"ExceptionInfoAttrs")||(r.ExceptionInfoAttrs=function(){be("'ExceptionInfoAttrs' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"ExceptionInfo")||(r.ExceptionInfo=function(){be("'ExceptionInfo' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"CatchInfo")||(r.CatchInfo=function(){be("'CatchInfo' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"exception_addRef")||(r.exception_addRef=function(){be("'exception_addRef' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"exception_decRef")||(r.exception_decRef=function(){be("'exception_decRef' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"Browser")||(r.Browser=function(){be("'Browser' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"funcWrappers")||(r.funcWrappers=function(){be("'funcWrappers' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"getFuncWrapper")||(r.getFuncWrapper=function(){be("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"setMainLoop")||(r.setMainLoop=function(){be("'setMainLoop' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"FS")||(r.FS=function(){be("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"mmapAlloc")||(r.mmapAlloc=function(){be("'mmapAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"MEMFS")||(r.MEMFS=function(){be("'MEMFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"TTY")||(r.TTY=function(){be("'TTY' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"PIPEFS")||(r.PIPEFS=function(){be("'PIPEFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"SOCKFS")||(r.SOCKFS=function(){be("'SOCKFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"_setNetworkCallback")||(r._setNetworkCallback=function(){be("'_setNetworkCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"tempFixedLengthArray")||(r.tempFixedLengthArray=function(){be("'tempFixedLengthArray' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"miniTempWebGLFloatBuffers")||(r.miniTempWebGLFloatBuffers=function(){be("'miniTempWebGLFloatBuffers' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"heapObjectForWebGLType")||(r.heapObjectForWebGLType=function(){be("'heapObjectForWebGLType' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"heapAccessShiftForWebGLHeap")||(r.heapAccessShiftForWebGLHeap=function(){be("'heapAccessShiftForWebGLHeap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"GL")||(r.GL=function(){be("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"emscriptenWebGLGet")||(r.emscriptenWebGLGet=function(){be("'emscriptenWebGLGet' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"computeUnpackAlignedImageSize")||(r.computeUnpackAlignedImageSize=function(){be("'computeUnpackAlignedImageSize' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"emscriptenWebGLGetTexPixelData")||(r.emscriptenWebGLGetTexPixelData=function(){be("'emscriptenWebGLGetTexPixelData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"emscriptenWebGLGetUniform")||(r.emscriptenWebGLGetUniform=function(){be("'emscriptenWebGLGetUniform' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"emscriptenWebGLGetVertexAttrib")||(r.emscriptenWebGLGetVertexAttrib=function(){be("'emscriptenWebGLGetVertexAttrib' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"writeGLArray")||(r.writeGLArray=function(){be("'writeGLArray' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"AL")||(r.AL=function(){be("'AL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"SDL_unicode")||(r.SDL_unicode=function(){be("'SDL_unicode' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"SDL_ttfContext")||(r.SDL_ttfContext=function(){be("'SDL_ttfContext' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"SDL_audio")||(r.SDL_audio=function(){be("'SDL_audio' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"SDL")||(r.SDL=function(){be("'SDL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"SDL_gfx")||(r.SDL_gfx=function(){be("'SDL_gfx' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"GLUT")||(r.GLUT=function(){be("'GLUT' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"EGL")||(r.EGL=function(){be("'EGL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"GLFW_Window")||(r.GLFW_Window=function(){be("'GLFW_Window' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"GLFW")||(r.GLFW=function(){be("'GLFW' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"GLEW")||(r.GLEW=function(){be("'GLEW' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"IDBStore")||(r.IDBStore=function(){be("'IDBStore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"runAndAbortIfError")||(r.runAndAbortIfError=function(){be("'runAndAbortIfError' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"warnOnce")||(r.warnOnce=function(){be("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"stackSave")||(r.stackSave=function(){be("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"stackRestore")||(r.stackRestore=function(){be("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"stackAlloc")||(r.stackAlloc=function(){be("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"AsciiToString")||(r.AsciiToString=function(){be("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"stringToAscii")||(r.stringToAscii=function(){be("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"UTF16ToString")||(r.UTF16ToString=function(){be("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"stringToUTF16")||(r.stringToUTF16=function(){be("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"lengthBytesUTF16")||(r.lengthBytesUTF16=function(){be("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"UTF32ToString")||(r.UTF32ToString=function(){be("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"stringToUTF32")||(r.stringToUTF32=function(){be("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"lengthBytesUTF32")||(r.lengthBytesUTF32=function(){be("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"allocateUTF8")||(r.allocateUTF8=function(){be("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(r,"allocateUTF8OnStack")||(r.allocateUTF8OnStack=function(){be("'allocateUTF8OnStack' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}),r.writeStackCookie=ne,r.checkStackCookie=oe,Object.getOwnPropertyDescriptor(r,"ALLOC_NORMAL")||Object.defineProperty(r,"ALLOC_NORMAL",{configurable:!0,get:function(){be("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Object.getOwnPropertyDescriptor(r,"ALLOC_STACK")||Object.defineProperty(r,"ALLOC_STACK",{configurable:!0,get:function(){be("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Oe=function e(){Ma||Ga(),Ma||(Oe=e)},r.run=Ga,r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();Ga(),e.default=r}));