-
Notifications
You must be signed in to change notification settings - Fork 0
/
module.js
118 lines (118 loc) · 51.6 KB
/
module.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
var e;e||(e=typeof Module !== 'undefined' ? Module : {});var aa=Object.assign({},e),ba="./this.program",ca=(a,b)=>{throw b;},da="object"==typeof window,l="function"==typeof importScripts,m="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,r="",ea,fa,ha;
if(m){var fs=require("fs"),ia=require("path");r=l?ia.dirname(r)+"/":__dirname+"/";ea=(a,b)=>{a=a.startsWith("file://")?new URL(a):ia.normalize(a);return fs.readFileSync(a,b?void 0:"utf8")};ha=a=>{a=ea(a,!0);a.buffer||(a=new Uint8Array(a));return a};fa=(a,b,c,d=!0)=>{a=a.startsWith("file://")?new URL(a):ia.normalize(a);fs.readFile(a,d?void 0:"utf8",(f,g)=>{f?c(f):b(d?g.buffer:g)})};!e.thisProgram&&1<process.argv.length&&(ba=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);"undefined"!=typeof module&&
(module.exports=e);process.on("uncaughtException",a=>{if(!("unwind"===a||a instanceof ja||a.context instanceof ja))throw a;});if(15>process.versions.node.split(".")[0])process.on("unhandledRejection",a=>{throw a;});ca=(a,b)=>{process.exitCode=a;throw b;};e.inspect=()=>"[Emscripten Module object]"}else if(da||l)l?r=self.location.href:"undefined"!=typeof document&&document.currentScript&&(r=document.currentScript.src),r=0!==r.indexOf("blob:")?r.substr(0,r.replace(/[?#].*/,"").lastIndexOf("/")+1):"",
ea=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},l&&(ha=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),fa=(a,b,c)=>{var d=new XMLHttpRequest;d.open("GET",a,!0);d.responseType="arraybuffer";d.onload=()=>{200==d.status||0==d.status&&d.response?b(d.response):c()};d.onerror=c;d.send(null)};var u=e.print||console.log.bind(console),x=e.printErr||console.warn.bind(console);
Object.assign(e,aa);aa=null;e.thisProgram&&(ba=e.thisProgram);e.quit&&(ca=e.quit);var ka;e.wasmBinary&&(ka=e.wasmBinary);var noExitRuntime=e.noExitRuntime||!0;"object"!=typeof WebAssembly&&y("no native wasm support detected");var la,B=!1,ma,C,D,na,oa,E,F,pa,qa;
function ra(){var a=la.buffer;e.HEAP8=C=new Int8Array(a);e.HEAP16=na=new Int16Array(a);e.HEAP32=E=new Int32Array(a);e.HEAPU8=D=new Uint8Array(a);e.HEAPU16=oa=new Uint16Array(a);e.HEAPU32=F=new Uint32Array(a);e.HEAPF32=pa=new Float32Array(a);e.HEAPF64=qa=new Float64Array(a)}var sa,ta=[],ua=[],va=[],wa=[];function xa(){var a=e.preRun.shift();ta.unshift(a)}var G=0,ya=null,za=null;
function y(a){if(e.onAbort)e.onAbort(a);a="Aborted("+a+")";x(a);B=!0;ma=1;throw new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");}function Aa(a){return a.startsWith("data:application/octet-stream;base64,")}var H;H="module.wasm";if(!Aa(H)){var Ba=H;H=e.locateFile?e.locateFile(Ba,r):r+Ba}function Ca(a){try{if(a==H&&ka)return new Uint8Array(ka);if(ha)return ha(a);throw"both async and sync fetching of the wasm failed";}catch(b){y(b)}}
function Da(a){if(!ka&&(da||l)){if("function"==typeof fetch&&!a.startsWith("file://"))return fetch(a,{credentials:"same-origin"}).then(b=>{if(!b.ok)throw"failed to load wasm binary file at '"+a+"'";return b.arrayBuffer()}).catch(()=>Ca(a));if(fa)return new Promise((b,c)=>{fa(a,d=>b(new Uint8Array(d)),c)})}return Promise.resolve().then(()=>Ca(a))}function Ea(a,b,c){return Da(a).then(d=>WebAssembly.instantiate(d,b)).then(d=>d).then(c,d=>{x("failed to asynchronously prepare wasm: "+d);y(d)})}
function Fa(a,b){var c=H;ka||"function"!=typeof WebAssembly.instantiateStreaming||Aa(c)||c.startsWith("file://")||m||"function"!=typeof fetch?Ea(c,a,b):fetch(c,{credentials:"same-origin"}).then(d=>WebAssembly.instantiateStreaming(d,a).then(b,function(f){x("wasm streaming compile failed: "+f);x("falling back to ArrayBuffer instantiation");return Ea(c,a,b)}))}function ja(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}
function Ga(a){for(;0<a.length;)a.shift()(e)}e.getValue=function(a,b="i8"){b.endsWith("*")&&(b="*");switch(b){case "i1":return C[a>>0];case "i8":return C[a>>0];case "i16":return na[a>>1];case "i32":return E[a>>2];case "i64":return E[a>>2];case "float":return pa[a>>2];case "double":return qa[a>>3];case "*":return F[a>>2];default:y("invalid type for getValue: "+b)}};var Ha="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;
function I(a,b,c){var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.buffer&&Ha)return Ha.decode(a.subarray(b,c));for(d="";b<c;){var f=a[b++];if(f&128){var g=a[b++]&63;if(192==(f&224))d+=String.fromCharCode((f&31)<<6|g);else{var k=a[b++]&63;f=224==(f&240)?(f&15)<<12|g<<6|k:(f&7)<<18|g<<12|k<<6|a[b++]&63;65536>f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d}function J(a,b){return a?I(D,a,b):""}
function Ia(a){this.Ua=a-24;this.ec=function(b){F[this.Ua+4>>2]=b};this.dc=function(b){F[this.Ua+8>>2]=b};this.Ra=function(b,c){this.cc();this.ec(b);this.dc(c)};this.cc=function(){F[this.Ua+16>>2]=0}}var Ja=0,Ka=0,La;La=m?()=>{var a=process.hrtime();return 1E3*a[0]+a[1]/1E6}:()=>performance.now();function Ma(a){a instanceof ja||"unwind"==a||ca(1,a)}function Na(a){ma=ma=a;if(!noExitRuntime){if(e.onExit)e.onExit(a);B=!0}ca(a,new ja(a))}
function Oa(a){if(!B)try{if(a(),!noExitRuntime)try{Na(ma)}catch(b){Ma(b)}}catch(b){Ma(b)}}function Pa(a){setTimeout(()=>{Oa(a)},1E4)}function Qa(a){Ra||(Ra={});Ra[a]||(Ra[a]=1,m&&(a="warning: "+a),x(a))}var Ra,Sa=!1,K=null,Ta=0,Ua=null,Va=0,Wa=0,Xa=0,Ya=0,Za=[],$a={},ab,bb,cb,db=!1,eb=!1,fb=[];
function gb(){function a(){eb=document.pointerLockElement===e.canvas||document.mozPointerLockElement===e.canvas||document.webkitPointerLockElement===e.canvas||document.msPointerLockElement===e.canvas}e.preloadPlugins||(e.preloadPlugins=[]);if(!hb){hb=!0;try{ib=!0}catch(c){ib=!1,x("warning: no blob constructor, cannot create blobs with mimetypes")}jb="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:ib?null:x("warning: no BlobBuilder");kb="undefined"!=
typeof window?window.URL?window.URL:window.webkitURL:void 0;e.Sb||"undefined"!=typeof kb||(x("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),e.Sb=!0);e.preloadPlugins.push({canHandle:function(c){return!e.Sb&&/\.(jpg|jpeg|png|bmp)$/i.test(c)},handle:function(c,d,f,g){var k=null;if(ib)try{k=new Blob([c],{type:lb(d)}),k.size!==c.length&&(k=new Blob([(new Uint8Array(c)).buffer],{type:lb(d)}))}catch(n){Qa("Blob constructor present but fails: "+
n+"; falling back to blob builder")}k||(k=new jb,k.append((new Uint8Array(c)).buffer),k=k.getBlob());var p=kb.createObjectURL(k),q=new Image;q.onload=()=>{q.complete||y("Image "+d+" could not be decoded");var n=document.createElement("canvas");n.width=q.width;n.height=q.height;n.getContext("2d").drawImage(q,0,0);kb.revokeObjectURL(p);f&&f(c)};q.onerror=()=>{u("Image "+p+" could not be decoded");g&&g()};q.src=p}});e.preloadPlugins.push({canHandle:function(c){return!e.Pc&&c.substr(-4)in{".ogg":1,".wav":1,
".mp3":1}},handle:function(c,d,f,g){function k(){q||(q=!0,f&&f(c))}function p(){q||(q=!0,new Audio,g&&g())}var q=!1;if(ib){try{var n=new Blob([c],{type:lb(d)})}catch(w){return p()}n=kb.createObjectURL(n);var t=new Audio;t.addEventListener("canplaythrough",()=>k(t),!1);t.onerror=function(){if(!q){x("warning: browser could not fully decode audio "+d+", trying slower base64 approach");for(var w="",A=0,h=0,v=0;v<c.length;v++)for(A=A<<8|c[v],h+=8;6<=h;){var z=A>>h-6&63;h-=6;w+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[z]}2==
h?(w+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(A&3)<<4],w+="=="):4==h&&(w+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(A&15)<<2],w+="=");t.src="data:audio/x-"+d.substr(-3)+";base64,"+w;k(t)}};t.src=n;Pa(()=>{k(t)})}else return p()}});var b=e.canvas;b&&(b.requestPointerLock=b.requestPointerLock||b.mozRequestPointerLock||b.webkitRequestPointerLock||b.msRequestPointerLock||(()=>{}),b.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||
document.webkitExitPointerLock||document.msExitPointerLock||(()=>{}),b.exitPointerLock=b.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",a,!1),document.addEventListener("mozpointerlockchange",a,!1),document.addEventListener("webkitpointerlockchange",a,!1),document.addEventListener("mspointerlockchange",a,!1),e.elementPointerLock&&b.addEventListener("click",c=>{!eb&&e.canvas.requestPointerLock&&(e.canvas.requestPointerLock(),c.preventDefault())},!1))}}
function mb(a,b,c,d){if(b&&e.cb&&a==e.canvas)return e.cb;var f;if(b){var g={antialias:!1,alpha:!1,oc:2};if(d)for(var k in d)g[k]=d[k];if("undefined"!=typeof nb&&(f=ob(a,g)))var p=pb[f].gb}else p=a.getContext("2d");if(!p)return null;c&&(b||"undefined"==typeof L||y("cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),e.cb=p,b&&(M=pb[f],e.cb=L=M&&M.gb),e.Sc=b,fb.forEach(q=>q()),gb());return p}var qb=!1,rb=void 0,sb=void 0;
function tb(a,b){function c(){db=!1;var g=d.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===g?(d.exitFullscreen=ub,rb&&d.requestPointerLock(),db=!0,sb?("undefined"!=typeof SDL&&(E[SDL.screen>>2]=F[SDL.screen>>2]|8388608),vb(e.canvas),wb()):vb(d)):(g.parentNode.insertBefore(d,g),g.parentNode.removeChild(g),sb?("undefined"!=typeof SDL&&(E[SDL.screen>>2]=F[SDL.screen>>2]&
-8388609),vb(e.canvas),wb()):vb(d));if(e.onFullScreen)e.onFullScreen(db);if(e.onFullscreen)e.onFullscreen(db)}rb=a;sb=b;"undefined"==typeof rb&&(rb=!0);"undefined"==typeof sb&&(sb=!1);var d=e.canvas;qb||(qb=!0,document.addEventListener("fullscreenchange",c,!1),document.addEventListener("mozfullscreenchange",c,!1),document.addEventListener("webkitfullscreenchange",c,!1),document.addEventListener("MSFullscreenChange",c,!1));var f=document.createElement("div");d.parentNode.insertBefore(f,d);f.appendChild(d);
f.requestFullscreen=f.requestFullscreen||f.mozRequestFullScreen||f.msRequestFullscreen||(f.webkitRequestFullscreen?()=>f.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(f.webkitRequestFullScreen?()=>f.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null);f.requestFullscreen()}
function ub(){if(!db)return!1;(document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{})).apply(document,[]);return!0}var xb=0;function yb(a){if("function"==typeof requestAnimationFrame)requestAnimationFrame(a);else{var b=Date.now();if(0===xb)xb=b+1E3/60;else for(;b+2>=xb;)xb+=1E3/60;setTimeout(a,Math.max(xb-b,0))}}
function lb(a){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[a.substr(a.lastIndexOf(".")+1)]}var zb=0,Ab=0,Bb=0,Cb=0;
function Db(a){if(eb)"mousemove"!=a.type&&"mozMovementX"in a?Bb=Cb=0:(Bb=a.movementX||a.mozMovementX||a.webkitMovementX||0,Cb=a.movementY||a.mozMovementY||a.webkitMovementY||0),"undefined"!=typeof SDL?(zb=SDL.Mc+Bb,Ab=SDL.Nc+Cb):(zb+=Bb,Ab+=Cb);else{var b=e.canvas.getBoundingClientRect(),c=e.canvas.width,d=e.canvas.height,f="undefined"!=typeof window.scrollX?window.scrollX:window.pageXOffset,g="undefined"!=typeof window.scrollY?window.scrollY:window.pageYOffset;"touchstart"!==a.type&&"touchend"!==
a.type&&"touchmove"!==a.type&&(f=a.pageX-(f+b.left),a=a.pageY-(g+b.top),f*=c/b.width,a*=d/b.height,Bb=f-zb,Cb=a-Ab,zb=f,Ab=a)}}var Eb=[];function wb(){var a=e.canvas;Eb.forEach(b=>b(a.width,a.height))}function Fb(a,b,c){vb(e.canvas,a,b);c||wb()}
function vb(a,b,c){b&&c?(a.yc=b,a.mc=c):(b=a.yc,c=a.mc);var d=b,f=c;e.forcedAspectRatio&&0<e.forcedAspectRatio&&(d/f<e.forcedAspectRatio?d=Math.round(f*e.forcedAspectRatio):f=Math.round(d/e.forcedAspectRatio));if((document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===a.parentNode&&"undefined"!=typeof screen){var g=Math.min(screen.width/d,screen.height/f);d=Math.round(d*g);f=Math.round(f*
g)}sb?(a.width!=d&&(a.width=d),a.height!=f&&(a.height=f),"undefined"!=typeof a.style&&(a.style.removeProperty("width"),a.style.removeProperty("height"))):(a.width!=b&&(a.width=b),a.height!=c&&(a.height=c),"undefined"!=typeof a.style&&(d!=b||f!=c?(a.style.setProperty("width",d+"px","important"),a.style.setProperty("height",f+"px","important")):(a.style.removeProperty("width"),a.style.removeProperty("height"))))}var hb,ib,jb,kb;
function Gb(a,b){Wa=a;Xa=b;if(Ua)if(Sa||(Sa=!0),0==a)K=function(){var d=Math.max(0,bb+b-La())|0;setTimeout(cb,d)};else if(1==a)K=function(){yb(cb)};else if(2==a){if("undefined"==typeof setImmediate){var c=[];addEventListener("message",d=>{if("setimmediate"===d.data||"setimmediate"===d.data.target)d.stopPropagation(),c.shift()()},!0);setImmediate=function(d){c.push(d);l?(void 0===e.setImmediates&&(e.setImmediates=[]),e.setImmediates.push(d),postMessage({target:"setimmediate"})):postMessage("setimmediate",
"*")}}K=function(){setImmediate(cb)}}}
function Hb(a,b,c,d,f){!Ua||y("emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Ua=a;Va=d;var g=Ta;Sa=!1;cb=function(){if(!B)if(0<Za.length){var k=Date.now(),p=Za.shift();p.Ic(p.Bc);if(ab){var q=ab,n=0==q%1?q-1:Math.floor(q);ab=p.Ec?n:(8*q+(n+.5))/9}u('main loop blocker "'+p.name+'" took '+(Date.now()-k)+" ms");e.setStatus&&(k=e.statusMessage||"Please wait...",
p=ab,q=$a.Hc,p?p<q?e.setStatus(k+" ("+(q-p)+"/"+q+")"):e.setStatus(k):e.setStatus(""));g<Ta||setTimeout(cb,0)}else if(!(g<Ta))if(Ya=Ya+1|0,1==Wa&&1<Xa&&0!=Ya%Xa)K();else{0==Wa&&(bb=La());if(M)for(k=M.ab,M.ab=M.eb,M.eb=k,k=M.Va,M.Va=M.ob,M.ob=k,k=Ib(2097152),p=0;p<=k;++p)M.Va[p]=0;B||e.preMainLoop&&!1===e.preMainLoop()||(Oa(a),e.postMainLoop&&e.postMainLoop());g<Ta||("object"==typeof SDL&&SDL.audio&&SDL.audio.rc&&SDL.audio.rc(),K())}};f||(b&&0<b?Gb(0,1E3/b):Gb(1,1),K());if(c)throw"unwind";}
var Jb=[];function N(a){var b=Jb[a];b||(a>=Jb.length&&(Jb.length=a+1),Jb[a]=b=sa.get(a));return b}var Kb={};function Lb(){if(!Mb){var a={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",_:ba||"./this.program"},b;for(b in Kb)void 0===Kb[b]?delete a[b]:a[b]=Kb[b];var c=[];for(b in a)c.push(b+"="+a[b]);Mb=c}return Mb}
var Mb,Nb=[null,[],[]],Ob=1,Pb=[],O=[],Qb=[],P=[],Rb=[],pb=[],Sb=[1,1,2,2,4,4,4,2,3,4,8];function Q(a){Tb||(Tb=a)}function Ub(a){for(var b=Ob++,c=a.length;c<b;c++)a[c]=null;return b}function Ib(a){return 32-Math.clz32(0===a?0:a-1)}function ob(a,b){a.Ra||(a.Ra=a.getContext,a.getContext=function(d,f){f=a.Ra(d,f);return"webgl"==d==f instanceof WebGLRenderingContext?f:null});var c=a.getContext("webgl2",b);return c?Vb(c,b):0}
function Vb(a,b){var c=Ub(pb),d={Kc:c,attributes:b,version:b.oc,gb:a};a.canvas&&(a.canvas.zc=d);pb[c]=d;("undefined"==typeof b.kc||b.kc)&&Wb(d);d.Nb=d.gb.getParameter(34921);d.bb=[];for(a=0;a<d.Nb;a++)d.bb[a]={enabled:!1,rb:!1,size:0,type:0,Tb:0,zb:0,Ua:0,$b:null};a=Ib(2097152);d.Va=[];d.ob=[];d.Va.length=d.ob.length=a+1;d.ab=[];d.eb=[];d.ab.length=d.eb.length=a+1;d.$a=[];d.$a.length=a+1;for(b=0;b<=a;++b){d.$a[b]=null;d.Va[b]=d.ob[b]=0;d.ab[b]=[];d.eb[b]=[];var f=d.ab[b],g=d.eb[b];f.length=g.length=
64;for(var k=0;64>k;++k)f[k]=g[k]=null}return c}
function Wb(a){a||(a=M);if(!a.nc){a.nc=!0;var b=a.gb;b.Gc=b.getExtension("WEBGL_draw_instanced_base_vertex_base_instance");b.Lc=b.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance");2<=a.version&&(b.Gb=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.Gb)b.Gb=b.getExtension("EXT_disjoint_timer_query");b.Oc=b.getExtension("WEBGL_multi_draw");(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}}
var nb={},Tb,M,Xb;function Yb(a,b,c,d){for(var f=0;f<a;f++){var g=L[c](),k=g&&Ub(d);g?(g.name=k,d[k]=g):Q(1282);E[b+4*f>>2]=k}}
function Zb(a,b,c,d){if(!(0<d))return 0;var f=c;d=c+d-1;for(var g=0;g<a.length;++g){var k=a.charCodeAt(g);if(55296<=k&&57343>=k){var p=a.charCodeAt(++g);k=65536+((k&1023)<<10)|p&1023}if(127>=k){if(c>=d)break;b[c++]=k}else{if(2047>=k){if(c+1>=d)break;b[c++]=192|k>>6}else{if(65535>=k){if(c+2>=d)break;b[c++]=224|k>>12}else{if(c+3>=d)break;b[c++]=240|k>>18;b[c++]=128|k>>12&63}b[c++]=128|k>>6&63}b[c++]=128|k&63}}b[c]=0;return c-f}function $b(a){return"]"==a.slice(-1)&&a.lastIndexOf("[")}
function ac(a){var b=L.jc;if(b){var c=b.fb[a];"number"==typeof c&&(b.fb[a]=c=L.getUniformLocation(b,b.Yb[a]+(0<c?"["+c+"]":"")));return c}Q(1282)}function bc(a,b,c,d){this.id=a;this.y=this.x=0;this.wb=!1;this.Xb=this.Wb=0;this.width=b;this.height=c;this.Vb=b;this.Ub=c;this.title=d;this.attributes=R;this.buttons=0;this.keys=[];this.ub=[];this.Db=this.Mb=this.vb=this.nb=this.hb=this.tb=this.Qb=this.ac=this.Kb=this.bc=this.title=null}
function cc(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b}function dc(a){var b=cc(a)+1,c=ec(b);c&&Zb(a,D,c,b);return c}function fc(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return c=>crypto.getRandomValues(c);if(m)try{var a=require("crypto");if(a.randomFillSync)return c=>a.randomFillSync(c);var b=a.randomBytes;return c=>(c.set(b(c.byteLength)),c)}catch(c){}y("initRandomDevice")}
function gc(a){return(gc=fc())(a)}
var hc=(a,b)=>{for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a},ic=a=>{var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=hc(a.split("/").filter(d=>!!d),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},jc=a=>{var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b},kc=a=>
{if("/"===a)return"/";a=ic(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)};function lc(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!=typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=hc(a.split("/").filter(d=>!!d),!b).join("/");return(b?"/":"")+a||"."}function mc(a,b){var c=Array(cc(a)+1);a=Zb(a,c,0,c.length);b&&(c.length=a);return c}var nc=[];
function oc(a,b){nc[a]={input:[],output:[],Za:b};pc(a,qc)}
var qc={open:function(a){var b=nc[a.node.rdev];if(!b)throw new S(43);a.tty=b;a.seekable=!1},close:function(a){a.tty.Za.fsync(a.tty)},fsync:function(a){a.tty.Za.fsync(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.Za.Lb)throw new S(60);for(var f=0,g=0;g<d;g++){try{var k=a.tty.Za.Lb(a.tty)}catch(p){throw new S(29);}if(void 0===k&&0===f)throw new S(6);if(null===k||void 0===k)break;f++;b[c+g]=k}f&&(a.node.timestamp=Date.now());return f},write:function(a,b,c,d){if(!a.tty||!a.tty.Za.xb)throw new S(60);
try{for(var f=0;f<d;f++)a.tty.Za.xb(a.tty,b[c+f])}catch(g){throw new S(29);}d&&(a.node.timestamp=Date.now());return f}},rc={Lb:function(a){if(!a.input.length){var b=null;if(m){var c=Buffer.alloc(256),d=0;try{d=fs.readSync(process.stdin.fd,c,0,256,-1)}catch(f){if(f.toString().includes("EOF"))d=0;else throw f;}0<d?b=c.slice(0,d).toString("utf-8"):b=null}else"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),null!==b&&(b+="\n")):"function"==typeof readline&&(b=readline(),
null!==b&&(b+="\n"));if(!b)return null;a.input=mc(b,!0)}return a.input.shift()},xb:function(a,b){null===b||10===b?(u(I(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},fsync:function(a){a.output&&0<a.output.length&&(u(I(a.output,0)),a.output=[])}},sc={xb:function(a,b){null===b||10===b?(x(I(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},fsync:function(a){a.output&&0<a.output.length&&(x(I(a.output,0)),a.output=[])}},T={Oa:null,Sa:function(){return T.createNode(null,"/",16895,0)},createNode:function(a,
b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new S(63);T.Oa||(T.Oa={dir:{node:{Ta:T.La.Ta,Pa:T.La.Pa,lookup:T.La.lookup,lb:T.La.lb,rename:T.La.rename,unlink:T.La.unlink,rmdir:T.La.rmdir,readdir:T.La.readdir,symlink:T.La.symlink},stream:{Wa:T.Ma.Wa}},file:{node:{Ta:T.La.Ta,Pa:T.La.Pa},stream:{Wa:T.Ma.Wa,read:T.Ma.read,write:T.Ma.write,Cb:T.Ma.Cb,Ob:T.Ma.Ob,Rb:T.Ma.Rb}},link:{node:{Ta:T.La.Ta,Pa:T.La.Pa,readlink:T.La.readlink},stream:{}},Eb:{node:{Ta:T.La.Ta,Pa:T.La.Pa},stream:tc}});c=uc(a,b,
c,d);16384===(c.mode&61440)?(c.La=T.Oa.dir.node,c.Ma=T.Oa.dir.stream,c.Ka={}):32768===(c.mode&61440)?(c.La=T.Oa.file.node,c.Ma=T.Oa.file.stream,c.Na=0,c.Ka=null):40960===(c.mode&61440)?(c.La=T.Oa.link.node,c.Ma=T.Oa.link.stream):8192===(c.mode&61440)&&(c.La=T.Oa.Eb.node,c.Ma=T.Oa.Eb.stream);c.timestamp=Date.now();a&&(a.Ka[b]=c,a.timestamp=c.timestamp);return c},Jc:function(a){return a.Ka?a.Ka.subarray?a.Ka.subarray(0,a.Na):new Uint8Array(a.Ka):new Uint8Array(0)},Hb:function(a,b){var c=a.Ka?a.Ka.length:
0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.Ka,a.Ka=new Uint8Array(b),0<a.Na&&a.Ka.set(c.subarray(0,a.Na),0))},sc:function(a,b){if(a.Na!=b)if(0==b)a.Ka=null,a.Na=0;else{var c=a.Ka;a.Ka=new Uint8Array(b);c&&a.Ka.set(c.subarray(0,Math.min(b,a.Na)));a.Na=b}},La:{Ta:function(a){var b={};b.dev=8192===(a.mode&61440)?a.id:1;b.ino=a.id;b.mode=a.mode;b.nlink=1;b.uid=0;b.gid=0;b.rdev=a.rdev;16384===(a.mode&61440)?b.size=4096:32768===(a.mode&61440)?b.size=a.Na:40960===(a.mode&
61440)?b.size=a.link.length:b.size=0;b.atime=new Date(a.timestamp);b.mtime=new Date(a.timestamp);b.ctime=new Date(a.timestamp);b.fc=4096;b.blocks=Math.ceil(b.size/b.fc);return b},Pa:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&(a.timestamp=b.timestamp);void 0!==b.size&&T.sc(a,b.size)},lookup:function(){throw vc[44];},lb:function(a,b,c,d){return T.createNode(a,b,c,d)},rename:function(a,b,c){if(16384===(a.mode&61440)){try{var d=wc(b,c)}catch(g){}if(d)for(var f in d.Ka)throw new S(55);
}delete a.parent.Ka[a.name];a.parent.timestamp=Date.now();a.name=c;b.Ka[c]=a;b.timestamp=a.parent.timestamp;a.parent=b},unlink:function(a,b){delete a.Ka[b];a.timestamp=Date.now()},rmdir:function(a,b){var c=wc(a,b),d;for(d in c.Ka)throw new S(55);delete a.Ka[b];a.timestamp=Date.now()},readdir:function(a){var b=[".",".."],c;for(c in a.Ka)a.Ka.hasOwnProperty(c)&&b.push(c);return b},symlink:function(a,b,c){a=T.createNode(a,b,41471,0);a.link=c;return a},readlink:function(a){if(40960!==(a.mode&61440))throw new S(28);
return a.link}},Ma:{read:function(a,b,c,d,f){var g=a.node.Ka;if(f>=a.node.Na)return 0;a=Math.min(a.node.Na-f,d);if(8<a&&g.subarray)b.set(g.subarray(f,f+a),c);else for(d=0;d<a;d++)b[c+d]=g[f+d];return a},write:function(a,b,c,d,f,g){b.buffer===C.buffer&&(g=!1);if(!d)return 0;a=a.node;a.timestamp=Date.now();if(b.subarray&&(!a.Ka||a.Ka.subarray)){if(g)return a.Ka=b.subarray(c,c+d),a.Na=d;if(0===a.Na&&0===f)return a.Ka=b.slice(c,c+d),a.Na=d;if(f+d<=a.Na)return a.Ka.set(b.subarray(c,c+d),f),d}T.Hb(a,f+
d);if(a.Ka.subarray&&b.subarray)a.Ka.set(b.subarray(c,c+d),f);else for(g=0;g<d;g++)a.Ka[f+g]=b[c+g];a.Na=Math.max(a.Na,f+d);return d},Wa:function(a,b,c){1===c?b+=a.position:2===c&&32768===(a.node.mode&61440)&&(b+=a.node.Na);if(0>b)throw new S(28);return b},Cb:function(a,b,c){T.Hb(a.node,b+c);a.node.Na=Math.max(a.node.Na,b+c)},Ob:function(a,b,c,d,f){if(32768!==(a.node.mode&61440))throw new S(43);a=a.node.Ka;if(f&2||a.buffer!==C.buffer){if(0<c||c+b<a.length)a.subarray?a=a.subarray(c,c+b):a=Array.prototype.slice.call(a,
c,c+b);c=!0;y();b=void 0;if(!b)throw new S(48);C.set(a,b)}else c=!1,b=a.byteOffset;return{Ua:b,Ac:c}},Rb:function(a,b,c,d){T.Ma.write(a,b,0,d,c,!1);return 0}}},xc=null,yc={},zc=[],Ac=1,Bc=null,Cc=!0,S=null,vc={},V=(a,b={})=>{a=lc(a);if(!a)return{path:"",node:null};b=Object.assign({Jb:!0,yb:0},b);if(8<b.yb)throw new S(32);a=a.split("/").filter(k=>!!k);for(var c=xc,d="/",f=0;f<a.length;f++){var g=f===a.length-1;if(g&&b.parent)break;c=wc(c,a[f]);d=ic(d+"/"+a[f]);c.mb&&(!g||g&&b.Jb)&&(c=c.mb.root);if(!g||
b.Ib)for(g=0;40960===(c.mode&61440);)if(c=Dc(d),d=lc(jc(d),c),c=V(d,{yb:b.yb+1}).node,40<g++)throw new S(32);}return{path:d,node:c}},Ec=a=>{for(var b;;){if(a===a.parent)return a=a.Sa.Pb,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}},Fc=(a,b)=>{for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%Bc.length},wc=(a,b)=>{var c;if(c=(c=Gc(a,"x"))?c:a.La.lookup?0:2)throw new S(c,a);for(c=Bc[Fc(a.id,b)];c;c=c.qc){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.La.lookup(a,
b)},uc=(a,b,c,d)=>{a=new Hc(a,b,c,d);b=Fc(a.parent.id,a.name);a.qc=Bc[b];return Bc[b]=a},Ic={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},Jc=a=>{var b=["r","w","rw"][a&3];a&512&&(b+="w");return b},Gc=(a,b)=>{if(Cc)return 0;if(!b.includes("r")||a.mode&292){if(b.includes("w")&&!(a.mode&146)||b.includes("x")&&!(a.mode&73))return 2}else return 2;return 0},Kc=(a,b)=>{try{return wc(a,b),20}catch(c){}return Gc(a,"wx")},Lc=()=>{for(var a=0;4096>=a;a++)if(!zc[a])return a;throw new S(33);},Nc=a=>{Mc||(Mc=function(){this.Ra=
{}},Mc.prototype={},Object.defineProperties(Mc.prototype,{object:{get:function(){return this.node},set:function(c){this.node=c}},flags:{get:function(){return this.Ra.flags},set:function(c){this.Ra.flags=c}},position:{get:function(){return this.Ra.position},set:function(c){this.Ra.position=c}}}));a=Object.assign(new Mc,a);var b=Lc();a.fd=b;return zc[b]=a},tc={open:a=>{a.Ma=yc[a.node.rdev].Ma;a.Ma.open&&a.Ma.open(a)},Wa:()=>{throw new S(70);}},pc=(a,b)=>{yc[a]={Ma:b}},Oc=(a,b)=>{var c="/"===b,d=!b;
if(c&&xc)throw new S(10);if(!c&&!d){var f=V(b,{Jb:!1});b=f.path;f=f.node;if(f.mb)throw new S(10);if(16384!==(f.mode&61440))throw new S(54);}b={type:a,Qc:{},Pb:b,pc:[]};a=a.Sa(b);a.Sa=b;b.root=a;c?xc=a:f&&(f.mb=b,f.Sa&&f.Sa.pc.push(b))},W=(a,b,c)=>{var d=V(a,{parent:!0}).node;a=kc(a);if(!a||"."===a||".."===a)throw new S(28);var f=Kc(d,a);if(f)throw new S(f);if(!d.La.lb)throw new S(63);return d.La.lb(d,a,b,c)},Pc=(a,b,c)=>{"undefined"==typeof c&&(c=b,b=438);W(a,b|8192,c)},Qc=(a,b)=>{if(!lc(a))throw new S(44);
var c=V(b,{parent:!0}).node;if(!c)throw new S(44);b=kc(b);var d=Kc(c,b);if(d)throw new S(d);if(!c.La.symlink)throw new S(63);c.La.symlink(c,b,a)},Dc=a=>{a=V(a).node;if(!a)throw new S(44);if(!a.La.readlink)throw new S(28);return lc(Ec(a.parent),a.La.readlink(a))},Sc=(a,b,c)=>{if(""===a)throw new S(44);if("string"==typeof b){var d=Ic[b];if("undefined"==typeof d)throw Error("Unknown file open mode: "+b);b=d}c=b&64?("undefined"==typeof c?438:c)&4095|32768:0;if("object"==typeof a)var f=a;else{a=ic(a);
try{f=V(a,{Ib:!(b&131072)}).node}catch(g){}}d=!1;if(b&64)if(f){if(b&128)throw new S(20);}else f=W(a,c,0),d=!0;if(!f)throw new S(44);8192===(f.mode&61440)&&(b&=-513);if(b&65536&&16384!==(f.mode&61440))throw new S(54);if(!d&&(c=f?40960===(f.mode&61440)?32:16384===(f.mode&61440)&&("r"!==Jc(b)||b&512)?31:Gc(f,Jc(b)):44))throw new S(c);if(b&512&&!d){c=f;c="string"==typeof c?V(c,{Ib:!0}).node:c;if(!c.La.Pa)throw new S(63);if(16384===(c.mode&61440))throw new S(31);if(32768!==(c.mode&61440))throw new S(28);
if(d=Gc(c,"w"))throw new S(d);c.La.Pa(c,{size:0,timestamp:Date.now()})}b&=-131713;f=Nc({node:f,path:Ec(f),flags:b,seekable:!0,position:0,Ma:f.Ma,xc:[],error:!1});f.Ma.open&&f.Ma.open(f);!e.logReadFiles||b&1||(Rc||(Rc={}),a in Rc||(Rc[a]=1));return f},Tc=(a,b,c,d)=>{var f=void 0;if(0>c||0>f)throw new S(28);if(null===a.fd)throw new S(8);if(0===(a.flags&2097155))throw new S(8);if(16384===(a.node.mode&61440))throw new S(31);if(!a.Ma.write)throw new S(28);if(a.seekable&&a.flags&1024){if(null===a.fd)throw new S(8);
if(!a.seekable||!a.Ma.Wa)throw new S(70);a.position=a.Ma.Wa(a,0,2);a.xc=[]}var g="undefined"!=typeof f;if(!g)f=a.position;else if(!a.seekable)throw new S(70);b=a.Ma.write(a,b,0,c,f,d);g||(a.position+=b)},Uc=()=>{S||(S=function(a,b){this.name="ErrnoError";this.node=b;this.message="FS error"},S.prototype=Error(),S.prototype.constructor=S,[44].forEach(a=>{vc[a]=new S(a);vc[a].stack="<generic error, no stack>"}))},Vc,Wc=(a,b)=>{var c=0;a&&(c|=365);b&&(c|=146);return c},Yc=()=>{var a="/";a="string"==typeof a?
a:Ec(a);for(var b=[".glfw_dropped_files"].reverse();b.length;){var c=b.pop();if(c){a=ic(a+"/"+c);try{W(a,16895,0)}catch(d){}}}},$c=(a,b,c)=>{a=ic("/dev/"+a);var d=Wc(!!b,!!c);Zc||(Zc=64);var f=Zc++<<8|0;pc(f,{open:g=>{g.seekable=!1},close:()=>{c&&c.buffer&&c.buffer.length&&c(10)},read:(g,k,p,q)=>{for(var n=0,t=0;t<q;t++){try{var w=b()}catch(A){throw new S(29);}if(void 0===w&&0===n)throw new S(6);if(null===w||void 0===w)break;n++;k[p+t]=w}n&&(g.node.timestamp=Date.now());return n},write:(g,k,p,q)=>
{for(var n=0;n<q;n++)try{c(k[p+n])}catch(t){throw new S(29);}q&&(g.node.timestamp=Date.now());return n}});Pc(a,d,f)},Zc,Mc,Rc,X=null,ad=null,Y=null,R=null,bd={131073:0,131074:0,131075:1,131076:1,131077:1,131082:0,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0,139276:0};
function cd(a){switch(a){case 32:return 32;case 222:return 39;case 188:return 44;case 173:return 45;case 189:return 45;case 190:return 46;case 191:return 47;case 48:return 48;case 49:return 49;case 50:return 50;case 51:return 51;case 52:return 52;case 53:return 53;case 54:return 54;case 55:return 55;case 56:return 56;case 57:return 57;case 59:return 59;case 61:return 61;case 187:return 61;case 65:return 65;case 66:return 66;case 67:return 67;case 68:return 68;case 69:return 69;case 70:return 70;case 71:return 71;
case 72:return 72;case 73:return 73;case 74:return 74;case 75:return 75;case 76:return 76;case 77:return 77;case 78:return 78;case 79:return 79;case 80:return 80;case 81:return 81;case 82:return 82;case 83:return 83;case 84:return 84;case 85:return 85;case 86:return 86;case 87:return 87;case 88:return 88;case 89:return 89;case 90:return 90;case 219:return 91;case 220:return 92;case 221:return 93;case 192:return 96;case 27:return 256;case 13:return 257;case 9:return 258;case 8:return 259;case 45:return 260;
case 46:return 261;case 39:return 262;case 37:return 263;case 40:return 264;case 38:return 265;case 33:return 266;case 34:return 267;case 36:return 268;case 35:return 269;case 20:return 280;case 145:return 281;case 144:return 282;case 44:return 283;case 19:return 284;case 112:return 290;case 113:return 291;case 114:return 292;case 115:return 293;case 116:return 294;case 117:return 295;case 118:return 296;case 119:return 297;case 120:return 298;case 121:return 299;case 122:return 300;case 123:return 301;
case 124:return 302;case 125:return 303;case 126:return 304;case 127:return 305;case 128:return 306;case 129:return 307;case 130:return 308;case 131:return 309;case 132:return 310;case 133:return 311;case 134:return 312;case 135:return 313;case 136:return 314;case 96:return 320;case 97:return 321;case 98:return 322;case 99:return 323;case 100:return 324;case 101:return 325;case 102:return 326;case 103:return 327;case 104:return 328;case 105:return 329;case 110:return 330;case 111:return 331;case 106:return 332;
case 109:return 333;case 107:return 334;case 16:return 340;case 17:return 341;case 18:return 342;case 91:return 343;case 93:return 348;default:return-1}}function dd(){var a=X,b=0;a.keys[340]&&(b|=1);a.keys[341]&&(b|=2);a.keys[342]&&(b|=4);a.keys[343]&&(b|=8);return b}function ed(a){X&&X.Db&&!a.ctrlKey&&!a.metaKey&&(a=a.charCode,0==a||0<=a&&31>=a||N(X.Db)(X.id,a))}function fd(a,b){if(X){var c=cd(a);if(-1!=c){var d=b&&X.keys[c];X.keys[c]=b;X.ub[a]=b;X.Mb&&(d&&(b=2),N(X.Mb)(X.id,c,a,b,dd()))}}}
function gd(){hd()}function jd(){hd()}function kd(a){fd(a.keyCode,1);8!==a.keyCode&&9!==a.keyCode||a.preventDefault()}function ld(a){fd(a.keyCode,0)}function md(){if(X)for(var a=0;a<X.ub.length;++a)X.ub[a]&&fd(a,0)}function nd(a){X&&(Db(a),a.target==e.canvas&&X.tb&&X.tb&&N(X.tb)(X.id,zb,Ab))}function od(a){X&&a.target==e.canvas&&X.hb&&N(X.hb)(X.id,1)}function pd(a){X&&a.target==e.canvas&&X.hb&&N(X.hb)(X.id,0)}
function qd(a,b){if(X&&(Db(a),a.target==e.canvas)){var c=a.button;0<c&&(c=1==c?2:1);if(1==b){X.buttons|=1<<c;try{a.target.setCapture()}catch(d){}}else X.buttons&=~(1<<c);X.Qb&&N(X.Qb)(X.id,c,b,dd())}}function rd(a){X&&qd(a,1)}function sd(a){X&&qd(a,0)}
function td(a){switch(a.type){case "DOMMouseScroll":var b=a.detail/3;break;case "mousewheel":b=a.wheelDelta/120;break;case "wheel":b=a.deltaY;switch(a.deltaMode){case 0:b/=100;break;case 1:b/=3;break;case 2:b*=80;break;default:throw"unrecognized mouse wheel delta mode: "+a.deltaMode;}break;default:throw"unrecognized mouse wheel event: "+a.type;}b=-b;b=0==b?0:0<b?Math.max(b,1):Math.min(b,-1);if(X&&X.nb&&a.target==e.canvas){var c=b;b="mousewheel"==a.type?a.wheelDeltaX:a.deltaX;N(X.nb)(X.id,b,c);a.preventDefault()}}
var Z={},ud=[],vd=null;
function hd(){if(Ya!==vd||!Ya){ud=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[];vd=Ya;for(var a=0;a<ud.length;++a){var b=ud[a];if(b){Z[a]||(u("glfw joystick connected:",a),Z[a]={id:dc(b.id),Dc:b.buttons.length,Cc:b.axes.length,buttons:ec(b.buttons.length),axes:ec(4*b.axes.length)});for(var c=Z[a],d=0;d<b.buttons.length;++d)C[c.buttons+d>>0]=b.buttons[d].pressed;for(d=0;d<b.axes.length;++d)pa[c.axes+4*d>>2]=b.axes[d]}else Z[a]&&(u("glfw joystick disconnected",
a),wd(Z[a].id),wd(Z[a].buttons),wd(Z[a].axes),delete Z[a])}}}
function xd(a){function b(p){var q="/.glfw_dropped_files/"+p.name.replace(/\//g,"_"),n=new FileReader;n.onloadend=w=>{if(2!=n.readyState)++g,u("failed to read dropped file: "+p.name+": "+n.error);else{var A=new Uint8Array(w.target.result);w={};w.flags=w.flags||577;var h=Sc(q,w.flags,w.mode);if("string"==typeof A){var v=new Uint8Array(cc(A)+1);A=Zb(A,v,0,v.length);Tc(h,v,A,w.hc)}else if(ArrayBuffer.isView(A))Tc(h,A,A.byteLength,w.hc);else throw Error("Unsupported data type");if(null===h.fd)throw new S(8);
h.lc&&(h.lc=null);try{h.Ma.close&&h.Ma.close(h)}catch(z){throw z;}finally{zc[h.fd]=null}h.fd=null;if(++g===f){N(X.vb)(X.id,f,c);for(w=0;w<d.length;++w)wd(d[w]);wd(c)}}};n.readAsArrayBuffer(p);var t=dc(q);d.push(t);F[c+4*k>>2]=t}if(X&&X.vb&&a.dataTransfer&&a.dataTransfer.files&&0!=a.dataTransfer.files.length){a.preventDefault();var c=ec(4*a.dataTransfer.files.length),d=[],f=a.dataTransfer.files.length,g=0;Yc();for(var k=0;k<f;++k)b(a.dataTransfer.files[k]);return!1}}
function yd(a){if(X&&X.vb)return a.preventDefault(),!1}function zd(a){return 0===a%4&&(0!==a%100||0===a%400)}var Ad=[31,29,31,30,31,30,31,31,30,31,30,31],Bd=[31,28,31,30,31,30,31,31,30,31,30,31];
function Cd(a,b,c,d){function f(h,v,z){for(h="number"==typeof h?h.toString():h||"";h.length<v;)h=z[0]+h;return h}function g(h,v){return f(h,v,"0")}function k(h,v){function z(Xc){return 0>Xc?-1:0<Xc?1:0}var U;0===(U=z(h.getFullYear()-v.getFullYear()))&&0===(U=z(h.getMonth()-v.getMonth()))&&(U=z(h.getDate()-v.getDate()));return U}function p(h){switch(h.getDay()){case 0:return new Date(h.getFullYear()-1,11,29);case 1:return h;case 2:return new Date(h.getFullYear(),0,3);case 3:return new Date(h.getFullYear(),
0,2);case 4:return new Date(h.getFullYear(),0,1);case 5:return new Date(h.getFullYear()-1,11,31);case 6:return new Date(h.getFullYear()-1,11,30)}}function q(h){var v=h.Xa;for(h=new Date((new Date(h.Ya+1900,0,1)).getTime());0<v;){var z=h.getMonth(),U=(zd(h.getFullYear())?Ad:Bd)[z];if(v>U-h.getDate())v-=U-h.getDate()+1,h.setDate(1),11>z?h.setMonth(z+1):(h.setMonth(0),h.setFullYear(h.getFullYear()+1));else{h.setDate(h.getDate()+v);break}}z=new Date(h.getFullYear()+1,0,4);v=p(new Date(h.getFullYear(),
0,4));z=p(z);return 0>=k(v,h)?0>=k(z,h)?h.getFullYear()+1:h.getFullYear():h.getFullYear()-1}var n=E[d+40>>2];d={vc:E[d>>2],uc:E[d+4>>2],pb:E[d+8>>2],Ab:E[d+12>>2],qb:E[d+16>>2],Ya:E[d+20>>2],Qa:E[d+24>>2],Xa:E[d+28>>2],Rc:E[d+32>>2],tc:E[d+36>>2],wc:n?J(n):""};c=J(c);n={"%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 t in n)c=c.replace(new RegExp(t,"g"),n[t]);var w="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),A="January February March April May June July August September October November December".split(" ");n={"%a":function(h){return w[h.Qa].substring(0,3)},"%A":function(h){return w[h.Qa]},"%b":function(h){return A[h.qb].substring(0,3)},"%B":function(h){return A[h.qb]},
"%C":function(h){return g((h.Ya+1900)/100|0,2)},"%d":function(h){return g(h.Ab,2)},"%e":function(h){return f(h.Ab,2," ")},"%g":function(h){return q(h).toString().substring(2)},"%G":function(h){return q(h)},"%H":function(h){return g(h.pb,2)},"%I":function(h){h=h.pb;0==h?h=12:12<h&&(h-=12);return g(h,2)},"%j":function(h){for(var v=0,z=0;z<=h.qb-1;v+=(zd(h.Ya+1900)?Ad:Bd)[z++]);return g(h.Ab+v,3)},"%m":function(h){return g(h.qb+1,2)},"%M":function(h){return g(h.uc,2)},"%n":function(){return"\n"},"%p":function(h){return 0<=
h.pb&&12>h.pb?"AM":"PM"},"%S":function(h){return g(h.vc,2)},"%t":function(){return"\t"},"%u":function(h){return h.Qa||7},"%U":function(h){return g(Math.floor((h.Xa+7-h.Qa)/7),2)},"%V":function(h){var v=Math.floor((h.Xa+7-(h.Qa+6)%7)/7);2>=(h.Qa+371-h.Xa-2)%7&&v++;if(v)53==v&&(z=(h.Qa+371-h.Xa)%7,4==z||3==z&&zd(h.Ya)||(v=1));else{v=52;var z=(h.Qa+7-h.Xa-1)%7;(4==z||5==z&&zd(h.Ya%400-1))&&v++}return g(v,2)},"%w":function(h){return h.Qa},"%W":function(h){return g(Math.floor((h.Xa+7-(h.Qa+6)%7)/7),2)},
"%y":function(h){return(h.Ya+1900).toString().substring(2)},"%Y":function(h){return h.Ya+1900},"%z":function(h){h=h.tc;var v=0<=h;h=Math.abs(h)/60;return(v?"+":"-")+String("0000"+(h/60*100+h%60)).slice(-4)},"%Z":function(h){return h.wc},"%%":function(){return"%"}};c=c.replace(/%%/g,"\x00\x00");for(t in n)c.includes(t)&&(c=c.replace(new RegExp(t,"g"),n[t](d)));c=c.replace(/\0\0/g,"%");t=mc(c,!1);if(t.length>b)return 0;C.set(t,a);return t.length-1}e.requestFullscreen=function(a,b){tb(a,b)};
e.requestAnimationFrame=function(a){yb(a)};e.setCanvasSize=function(a,b,c){Fb(a,b,c)};e.pauseMainLoop=function(){K=null;Ta++};e.resumeMainLoop=function(){Ta++;var a=Wa,b=Xa,c=Ua;Ua=null;Hb(c,0,!1,Va,!0);Gb(a,b);K()};e.getUserMedia=function(){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia);window.getUserMedia(void 0)};e.createContext=function(a,b,c,d){return mb(a,b,c,d)};var L;
function Hc(a,b,c,d){a||(a=this);this.parent=a;this.Sa=a.Sa;this.mb=null;this.id=Ac++;this.name=b;this.mode=c;this.La={};this.Ma={};this.rdev=d}Object.defineProperties(Hc.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}}});Uc();Bc=Array(4096);Oc(T,"/");W("/tmp",16895,0);W("/home",16895,0);W("/home/web_user",16895,0);
(()=>{W("/dev",16895,0);pc(259,{read:()=>0,write:(d,f,g,k)=>k});Pc("/dev/null",259);oc(1280,rc);oc(1536,sc);Pc("/dev/tty",1280);Pc("/dev/tty1",1536);var a=new Uint8Array(1024),b=0,c=()=>{0===b&&(b=gc(a).byteLength);return a[--b]};$c("random",c);$c("urandom",c);W("/dev/shm",16895,0);W("/dev/shm/tmp",16895,0)})();
(()=>{W("/proc",16895,0);var a=W("/proc/self",16895,0);W("/proc/self/fd",16895,0);Oc({Sa:()=>{var b=uc(a,"fd",16895,73);b.La={lookup:(c,d)=>{var f=zc[+d];if(!f)throw new S(8);c={parent:null,Sa:{Pb:"fake"},La:{readlink:()=>f.path}};return c.parent=c}};return b}},"/proc/self/fd")})();
var Dd={h:function(a,b,c,d){y("Assertion failed: "+J(a)+", at: "+[b?J(b):"unknown filename",c,d?J(d):"unknown function"])},k:function(a,b,c){(new Ia(a)).Ra(b,c);Ja=a;Ka++;throw Ja;},P:function(){return!0},m:function(){y("")},Q:function(){return Date.now()},O:La,R:function(a,b,c){D.copyWithin(a,b,b+c)},M:function(a){var b=D.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);var f=Math,g=f.min;d=Math.max(a,d);d+=(65536-d%65536)%65536;a:{var k=la.buffer;
try{la.grow(g.call(f,2147483648,d)-k.byteLength+65535>>>16);ra();var p=1;break a}catch(q){}p=void 0}if(p)return!0}return!1},o:function(a){eval(J(a))},$:function(a,b,c){a=N(a);Hb(a,b,c)},J:function(a,b){var c=0;Lb().forEach(function(d,f){var g=b+c;f=F[a+4*f>>2]=g;for(g=0;g<d.length;++g)C[f++>>0]=d.charCodeAt(g);C[f>>0]=0;c+=d.length+1});return 0},L:function(a,b){var c=Lb();F[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});F[b>>2]=d;return 0},c:Na,N:function(){return 52},H:function(){return 70},
t:function(a,b,c,d){for(var f=0,g=0;g<c;g++){var k=F[b>>2],p=F[b+4>>2];b+=8;for(var q=0;q<p;q++){var n=D[k+q],t=Nb[a];0===n||10===n?((1===a?u:x)(I(t,0)),t.length=0):t.push(n)}f+=p}F[d>>2]=f;return 0},x:function(a){L.activeTexture(a)},s:function(a,b){L.attachShader(O[a],P[b])},b:function(a,b){34962==a?L.Fb=b:34963==a&&(L.sb=b);35051==a?L.Fc=b:35052==a&&(L.ic=b);L.bindBuffer(a,Pb[b])},r:function(a,b){L.bindTexture(a,Qb[b])},ba:function(a){L.bindVertexArray(Rb[a]);a=L.getParameter(34965);L.sb=a?a.name|
0:0},a:function(a,b,c,d){c&&b?L.bufferData(a,D,d,c,b):L.bufferData(a,b,d)},S:function(a){L.clear(a)},T:function(a,b,c,d){L.clearColor(a,b,c,d)},A:function(a){L.compileShader(P[a])},K:function(){var a=Ub(O),b=L.createProgram();b.name=a;b.kb=b.ib=b.jb=0;b.Bb=1;O[a]=b;return a},E:function(a){var b=Ub(P);P[b]=L.createShader(a);return b},C:function(a){if(a){var b=P[a];b?(L.deleteShader(b),P[a]=null):Q(1281)}},U:function(a){L.depthFunc(a)},D:function(a,b){L.detachShader(O[a],P[b])},d:function(a){M.bb[a].enabled=
!1;L.disableVertexAttribArray(a)},v:function(a,b,c,d){if(!L.sb){var f=1*Sb[c-5120]*b;var g=Ib(f);var k=M.$a[g];k?g=k:(k=L.getParameter(34965),M.$a[g]=L.createBuffer(),L.bindBuffer(34963,M.$a[g]),L.bufferData(34963,1<<g,35048),L.bindBuffer(34963,k),g=M.$a[g]);L.bindBuffer(34963,g);L.bufferSubData(34963,0,D.subarray(d,d+f));d=0}Xb=!1;for(f=0;f<M.Nb;++f)if(g=M.bb[f],g.rb&&g.enabled){Xb=!0;k=g.zb;k=0<k?b*k:g.size*Sb[g.type-5120]*b;var p=Ib(k);var q=M.ab[p],n=M.Va[p];M.Va[p]=M.Va[p]+1&63;var t=q[n];t?
p=t:(t=L.getParameter(34964),q[n]=L.createBuffer(),L.bindBuffer(34962,q[n]),L.bufferData(34962,1<<p,35048),L.bindBuffer(34962,t),p=q[n]);L.bindBuffer(34962,p);L.bufferSubData(34962,0,D.subarray(g.Ua,g.Ua+k));g.$b.call(L,f,g.size,g.type,g.Tb,g.zb,0)}L.drawElements(a,b,c,d);Xb&&L.bindBuffer(34962,Pb[L.Fb]);L.sb||L.bindBuffer(34963,null)},V:function(a){L.enable(a)},f:function(a){M.bb[a].enabled=!0;L.enableVertexAttribArray(a)},i:function(a,b){Yb(a,b,"createBuffer",Pb)},ha:function(a,b){Yb(a,b,"createTexture",
Qb)},ca:function(a,b){Yb(a,b,"createVertexArray",Rb)},g:function(a,b){return L.getAttribLocation(O[a],J(b))},ia:function(a,b,c,d){a=L.getProgramInfoLog(O[a]);null===a&&(a="(unknown error)");b=0<b&&d?Zb(a,D,d,b):0;c&&(E[c>>2]=b)},F:function(a,b,c){if(c)if(a>=Ob)Q(1281);else if(a=O[a],35716==b)a=L.getProgramInfoLog(a),null===a&&(a="(unknown error)"),E[c>>2]=a.length+1;else if(35719==b){if(!a.kb)for(b=0;b<L.getProgramParameter(a,35718);++b)a.kb=Math.max(a.kb,L.getActiveUniform(a,b).name.length+1);E[c>>
2]=a.kb}else if(35722==b){if(!a.ib)for(b=0;b<L.getProgramParameter(a,35721);++b)a.ib=Math.max(a.ib,L.getActiveAttrib(a,b).name.length+1);E[c>>2]=a.ib}else if(35381==b){if(!a.jb)for(b=0;b<L.getProgramParameter(a,35382);++b)a.jb=Math.max(a.jb,L.getActiveUniformBlockName(a,b).length+1);E[c>>2]=a.jb}else E[c>>2]=L.getProgramParameter(a,b);else Q(1281)},u:function(a,b,c,d){a=L.getShaderInfoLog(P[a]);null===a&&(a="(unknown error)");b=0<b&&d?Zb(a,D,d,b):0;c&&(E[c>>2]=b)},z:function(a,b,c){c?35716==b?(a=
L.getShaderInfoLog(P[a]),null===a&&(a="(unknown error)"),E[c>>2]=a?a.length+1:0):35720==b?(a=L.getShaderSource(P[a]),E[c>>2]=a?a.length+1:0):E[c>>2]=L.getShaderParameter(P[a],b):Q(1281)},j:function(a,b){b=J(b);if(a=O[a]){var c=a,d=c.fb,f=c.Zb,g;if(!d)for(c.fb=d={},c.Yb={},g=0;g<L.getProgramParameter(c,35718);++g){var k=L.getActiveUniform(c,g);var p=k.name;k=k.size;var q=$b(p);q=0<q?p.slice(0,q):p;var n=c.Bb;c.Bb+=k;f[q]=[k,n];for(p=0;p<k;++p)d[n]=p,c.Yb[n++]=q}c=a.fb;d=0;f=b;g=$b(b);0<g&&(d=parseInt(b.slice(g+
1))>>>0,f=b.slice(0,g));if((f=a.Zb[f])&&d<f[0]&&(d+=f[1],c[d]=c[d]||L.getUniformLocation(a,b)))return d}else Q(1281);return-1},G:function(a){a=O[a];L.linkProgram(a);a.fb=0;a.Zb={}},B:function(a,b,c,d){for(var f="",g=0;g<b;++g){var k=d?E[d+4*g>>2]:-1;f+=J(E[c+4*g>>2],0>k?void 0:k)}L.shaderSource(P[a],f)},q:function(a,b,c,d,f,g,k,p,q){if(L.ic)L.texImage2D(a,b,c,d,f,g,k,p,q);else if(q){var n=p-5120;n=0==n?C:1==n?D:2==n?na:4==n?E:6==n?pa:5==n||28922==n||28520==n||30779==n||30782==n?F:oa;L.texImage2D(a,
b,c,d,f,g,k,p,n,q>>31-Math.clz32(n.BYTES_PER_ELEMENT))}else L.texImage2D(a,b,c,d,f,g,k,p,null)},l:function(a,b,c){L.texParameteri(a,b,c)},w:function(a,b){L.uniform1i(ac(a),b)},y:function(a,b,c,d){b&&L.uniformMatrix4fv(ac(a),!!c,pa,d>>2,16*b)},n:function(a){a=O[a];L.useProgram(a);L.jc=a},e:function(a,b,c,d,f,g){var k=M.bb[a];L.Fb?(k.rb=!1,L.vertexAttribPointer(a,b,c,!!d,f,g)):(k.size=b,k.type=c,k.Tb=d,k.zb=f,k.Ua=g,k.rb=!0,k.$b=function(p,q,n,t,w,A){this.vertexAttribPointer(p,q,n,t,w,A)})},Y:function(a,
b,c,d){L.viewport(a,b,c,d)},fa:function(a,b,c,d){var f;for(f=0;f<Y.length&&null!==Y[f];f++);if(0<f)throw"glfwCreateWindow only supports one window at time currently";var g=f+1;if(0>=a||0>=b)g=0;else{d?tb():Fb(a,b);for(f=0;f<Y.length&&null==Y[f];f++);d=0<R[139265];f==Y.length&&(d?e.cb=mb(e.canvas,!0,!0,{antialias:1<R[135181],depth:0<R[135173],stencil:0<R[135174],alpha:0<R[135172]}):gb());!e.cb&&d?g=0:(a=new bc(g,a,b,c),g-1==Y.length?Y.push(a):Y[g-1]=a,X=a,g=a.id)}return g},_:function(a,b,c){qa[b>>
3]=zb;qa[c>>3]=Ab},Z:function(a,b){return(a=0>=a||!Y?null:Y[a-1])?0<(a.buttons&1<<b):0},ga:function(){if(Y)return 1;La();R=bd;Y=[];X=null;ad="number"==typeof devicePixelRatio&&devicePixelRatio||1;window.addEventListener("gamepadconnected",gd,!0);window.addEventListener("gamepaddisconnected",jd,!0);window.addEventListener("keydown",kd,!0);window.addEventListener("keypress",ed,!0);window.addEventListener("keyup",ld,!0);window.addEventListener("blur",md,!0);(function b(){window.matchMedia("(resolution: "+
window.devicePixelRatio+"dppx)").addEventListener("change",b,{once:!0});ad="number"==typeof devicePixelRatio&&devicePixelRatio||1;X&&X.ac&&N(X.ac)(X.id,ad,ad)})();e.canvas.addEventListener("touchmove",nd,!0);e.canvas.addEventListener("touchstart",rd,!0);e.canvas.addEventListener("touchcancel",sd,!0);e.canvas.addEventListener("touchend",sd,!0);e.canvas.addEventListener("mousemove",nd,!0);e.canvas.addEventListener("mousedown",rd,!0);e.canvas.addEventListener("mouseup",sd,!0);e.canvas.addEventListener("wheel",
td,!0);e.canvas.addEventListener("mousewheel",td,!0);e.canvas.addEventListener("mouseenter",od,!0);e.canvas.addEventListener("mouseleave",pd,!0);e.canvas.addEventListener("drop",xd,!0);e.canvas.addEventListener("dragover",yd,!0);Eb.push((b,c)=>{if(X){var d=!0;document.fullscreen||document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen?(X.Wb=X.x,X.Xb=X.y,X.Vb=X.width,X.Ub=X.height,X.x=X.y=0,X.width=screen.width,X.height=screen.height,X.wb=!0):1==X.wb?(X.x=X.Wb,X.y=X.Xb,X.width=X.Vb,
X.height=X.Ub,X.wb=!1):X.width!=b||X.height!=c?(X.width=b,X.height=c):d=!1;d&&(Fb(X.width,X.height,!0),X&&X.bc&&N(X.bc)(X.id,X.width,X.height),X&&X.Kb&&N(X.Kb)(X.id,X.width,X.height))}});return 1},da:function(){},W:function(){},aa:function(a,b){if(a=0>=a||!Y?null:Y[a-1]){var c=a.nb;a.nb=b;b=c}else b=null;return b},X:function(){},ea:function(){window.removeEventListener("gamepadconnected",gd,!0);window.removeEventListener("gamepaddisconnected",jd,!0);window.removeEventListener("keydown",kd,!0);window.removeEventListener("keypress",
ed,!0);window.removeEventListener("keyup",ld,!0);window.removeEventListener("blur",md,!0);e.canvas.removeEventListener("touchmove",nd,!0);e.canvas.removeEventListener("touchstart",rd,!0);e.canvas.removeEventListener("touchcancel",sd,!0);e.canvas.removeEventListener("touchend",sd,!0);e.canvas.removeEventListener("mousemove",nd,!0);e.canvas.removeEventListener("mousedown",rd,!0);e.canvas.removeEventListener("mouseup",sd,!0);e.canvas.removeEventListener("wheel",td,!0);e.canvas.removeEventListener("mousewheel",
td,!0);e.canvas.removeEventListener("mouseenter",od,!0);e.canvas.removeEventListener("mouseleave",pd,!0);e.canvas.removeEventListener("drop",xd,!0);e.canvas.removeEventListener("dragover",yd,!0);e.canvas.width=e.canvas.height=1;X=Y=null},p:function(a,b){R[a]=b},I:function(a,b,c,d){return Cd(a,b,c,d)}};
(function(){function a(c){c=c.exports;e.asm=c;la=e.asm.ja;ra();sa=e.asm.Ga;ua.unshift(e.asm.ka);G--;e.monitorRunDependencies&&e.monitorRunDependencies(G);if(0==G&&(null!==ya&&(clearInterval(ya),ya=null),za)){var d=za;za=null;d()}return c}var b={a:Dd};G++;e.monitorRunDependencies&&e.monitorRunDependencies(G);if(e.instantiateWasm)try{return e.instantiateWasm(b,a)}catch(c){return x("Module.instantiateWasm callback failed with error: "+c),!1}Fa(b,function(c){a(c.instance)});return{}})();
var ec=e._malloc=function(){return(ec=e._malloc=e.asm.la).apply(null,arguments)},wd=e._free=function(){return(wd=e._free=e.asm.ma).apply(null,arguments)};e._setChannel=function(){return(e._setChannel=e.asm.na).apply(null,arguments)};e._setThreshold=function(){return(e._setThreshold=e.asm.oa).apply(null,arguments)};e._setAlphaReverse=function(){return(e._setAlphaReverse=e.asm.pa).apply(null,arguments)};e._setResampleBoundary=function(){return(e._setResampleBoundary=e.asm.qa).apply(null,arguments)};
e._setMeshEdge=function(){return(e._setMeshEdge=e.asm.ra).apply(null,arguments)};e._setMeshNormal=function(){return(e._setMeshNormal=e.asm.sa).apply(null,arguments)};e._setMeshDoubleSided=function(){return(e._setMeshDoubleSided=e.asm.ta).apply(null,arguments)};e._setMeshTexture=function(){return(e._setMeshTexture=e.asm.ua).apply(null,arguments)};e._setZScale=function(){return(e._setZScale=e.asm.va).apply(null,arguments)};e._setZClip=function(){return(e._setZClip=e.asm.wa).apply(null,arguments)};
e._resizeWindow=function(){return(e._resizeWindow=e.asm.xa).apply(null,arguments)};e._updateImage=function(){return(e._updateImage=e.asm.ya).apply(null,arguments)};e._isModelEmpty=function(){return(e._isModelEmpty=e.asm.za).apply(null,arguments)};e._getFileSize=function(){return(e._getFileSize=e.asm.Aa).apply(null,arguments)};e._generateSTL=function(){return(e._generateSTL=e.asm.Ba).apply(null,arguments)};e._generatePLY=function(){return(e._generatePLY=e.asm.Ca).apply(null,arguments)};
e._generateOBJ=function(){return(e._generateOBJ=e.asm.Da).apply(null,arguments)};e._generateGLB=function(){return(e._generateGLB=e.asm.Ea).apply(null,arguments)};var Ed=e._main=function(){return(Ed=e._main=e.asm.Fa).apply(null,arguments)};function Fd(){return(Fd=e.asm.Ha).apply(null,arguments)}function Gd(){return(Gd=e.asm.Ia).apply(null,arguments)}function Hd(){return(Hd=e.asm.Ja).apply(null,arguments)}
e.ccall=function(a,b,c,d){var f={string:n=>{var t=0;if(null!==n&&void 0!==n&&0!==n){t=cc(n)+1;var w=Hd(t);Zb(n,D,w,t);t=w}return t},array:n=>{var t=Hd(n.length);C.set(n,t);return t}};a=e["_"+a];var g=[],k=0;if(d)for(var p=0;p<d.length;p++){var q=f[c[p]];q?(0===k&&(k=Fd()),g[p]=q(d[p])):g[p]=d[p]}c=a.apply(null,g);return c=function(n){0!==k&&Gd(k);return"string"===b?J(n):"boolean"===b?!!n:n}(c)};var Id;za=function Jd(){Id||Kd();Id||(za=Jd)};
function Kd(){function a(){if(!Id&&(Id=!0,e.calledRun=!0,!B)){e.noFSInit||Vc||(Vc=!0,Uc(),e.stdin=e.stdin,e.stdout=e.stdout,e.stderr=e.stderr,e.stdin?$c("stdin",e.stdin):Qc("/dev/tty","/dev/stdin"),e.stdout?$c("stdout",null,e.stdout):Qc("/dev/tty","/dev/stdout"),e.stderr?$c("stderr",null,e.stderr):Qc("/dev/tty1","/dev/stderr"),Sc("/dev/stdin",0),Sc("/dev/stdout",1),Sc("/dev/stderr",1));Cc=!1;Ga(ua);Ga(va);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(Ld){var b=Ed;try{var c=b(0,0);Na(c,!0)}catch(d){Ma(d)}}if(e.postRun)for("function"==
typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;)b=e.postRun.shift(),wa.unshift(b);Ga(wa)}}if(!(0<G)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)xa();Ga(ta);0<G||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1);a()},1)):a())}}if(e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();var Ld=!0;e.noInitialRun&&(Ld=!1);Kd();