x_ite 11.5.8 → 11.5.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -8
- package/dist/assets/components/AnnotationComponent.js +2 -2
- package/dist/assets/components/AnnotationComponent.min.js +2 -2
- package/dist/assets/components/CADGeometryComponent.js +2 -2
- package/dist/assets/components/CADGeometryComponent.min.js +2 -2
- package/dist/assets/components/CubeMapTexturingComponent.js +2 -2
- package/dist/assets/components/CubeMapTexturingComponent.min.js +2 -2
- package/dist/assets/components/DISComponent.js +2 -2
- package/dist/assets/components/DISComponent.min.js +2 -2
- package/dist/assets/components/EventUtilitiesComponent.js +2 -2
- package/dist/assets/components/EventUtilitiesComponent.min.js +2 -2
- package/dist/assets/components/Geometry2DComponent.js +8 -8
- package/dist/assets/components/Geometry2DComponent.min.js +2 -2
- package/dist/assets/components/GeospatialComponent.js +4 -4
- package/dist/assets/components/GeospatialComponent.min.js +2 -2
- package/dist/assets/components/HAnimComponent.js +2 -2
- package/dist/assets/components/HAnimComponent.min.js +2 -2
- package/dist/assets/components/KeyDeviceSensorComponent.js +2 -2
- package/dist/assets/components/KeyDeviceSensorComponent.min.js +2 -2
- package/dist/assets/components/LayoutComponent.js +6 -6
- package/dist/assets/components/LayoutComponent.min.js +2 -2
- package/dist/assets/components/NURBSComponent.js +2 -2
- package/dist/assets/components/NURBSComponent.min.js +2 -2
- package/dist/assets/components/ParticleSystemsComponent.js +5 -42
- package/dist/assets/components/ParticleSystemsComponent.min.js +2 -2
- package/dist/assets/components/PickingComponent.js +4 -4
- package/dist/assets/components/PickingComponent.min.js +2 -2
- package/dist/assets/components/RigidBodyPhysicsComponent.js +18 -8
- package/dist/assets/components/RigidBodyPhysicsComponent.min.js +2 -2
- package/dist/assets/components/ScriptingComponent.js +2 -2
- package/dist/assets/components/ScriptingComponent.min.js +2 -2
- package/dist/assets/components/TextComponent.js +229 -117
- package/dist/assets/components/TextComponent.min.js +2 -2
- package/dist/assets/components/TextureProjectionComponent.js +2 -2
- package/dist/assets/components/TextureProjectionComponent.min.js +2 -2
- package/dist/assets/components/Texturing3DComponent.js +192 -156
- package/dist/assets/components/Texturing3DComponent.min.js +2 -2
- package/dist/assets/components/VolumeRenderingComponent.js +145 -69
- package/dist/assets/components/VolumeRenderingComponent.min.js +2 -2
- package/dist/assets/components/WebXRComponent.js +3 -3
- package/dist/assets/components/WebXRComponent.min.js +2 -2
- package/dist/assets/components/X_ITEComponent.js +7 -11
- package/dist/assets/components/X_ITEComponent.min.js +2 -2
- package/dist/assets/lib/draco_decoder_gltf.js +1 -1
- package/dist/assets/lib/libktx.js +1 -1
- package/dist/example.html +1 -1
- package/dist/x_ite.css +1 -1
- package/dist/x_ite.js +55386 -55338
- package/dist/x_ite.min.js +2 -2
- package/dist/x_ite.min.mjs +2 -2
- package/dist/x_ite.mjs +55464 -55416
- package/dist/x_ite.zip +0 -0
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
return function(r,e){var t,n,o=void 0,a=void 0!==(r=r||{})?r:{};a.ready=new Promise(((r,e)=>{t=r,n=e}));var i,s,u,f=Object.assign({},a),c="./this.program",l=(r,e)=>{throw e},d="object"==typeof window,m="function"==typeof importScripts,v="object"==typeof o&&"object"==typeof o.versions&&"string"==typeof o.versions.node,p="";if(v){var h=require("fs"),g=require("path");p=m?g.dirname(p)+"/":__dirname+"/",i=(r,e)=>(r=X(r)?new URL(r):g.normalize(r),h.readFileSync(r,e?void 0:"utf8")),u=r=>{var e=i(r,!0);return e.buffer||(e=new Uint8Array(e)),e},s=(r,e,t,n=!0)=>{r=X(r)?new URL(r):g.normalize(r),h.readFile(r,n?void 0:"utf8",((r,o)=>{r?t(r):e(n?o.buffer:o)}))},!a.thisProgram&&o.argv.length>1&&(c=o.argv[1].replace(/\\/g,"/")),o.argv.slice(2),l=(r,e)=>{throw o.exitCode=r,e},a.inspect=()=>"[Emscripten Module object]"}else(d||m)&&(m?p=self.location.href:"undefined"!=typeof document&&document.currentScript&&(p=document.currentScript.src),e&&(p=e),p=0!==p.indexOf("blob:")?p.substr(0,p.replace(/[?#].*/,"").lastIndexOf("/")+1):"",i=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.send(null),e.responseText},m&&(u=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),s=(r,e,t)=>{var n=new XMLHttpRequest;n.open("GET",r,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?e(n.response):t()},n.onerror=t,n.send(null)},r=>document.title=r);var y,b=a.print||console.log.bind(console),w=a.printErr||console.error.bind(console);Object.assign(a,f),f=null,a.arguments&&a.arguments,a.thisProgram&&(c=a.thisProgram),a.quit&&(l=a.quit),a.wasmBinary&&(y=a.wasmBinary);var E,x=a.noExitRuntime||!0;"object"!=typeof WebAssembly&&W("no native wasm support detected");var _,k,P,C,A,T,B,S,$,D=!1;function F(r,e){r||W(e)}function M(){var r=E.buffer;a.HEAP8=_=new Int8Array(r),a.HEAP16=P=new Int16Array(r),a.HEAP32=A=new Int32Array(r),a.HEAPU8=k=new Uint8Array(r),a.HEAPU16=C=new Uint16Array(r),a.HEAPU32=T=new Uint32Array(r),a.HEAPF32=B=new Float32Array(r),a.HEAPF64=S=new Float64Array(r)}var I=[],L=[],j=[];var R=0,V=null,O=null;function U(r){R++,a.monitorRunDependencies&&a.monitorRunDependencies(R)}function N(r){if(R--,a.monitorRunDependencies&&a.monitorRunDependencies(R),0==R&&(null!==V&&(clearInterval(V),V=null),O)){var e=O;O=null,e()}}function W(r){a.onAbort&&a.onAbort(r),w(r="Aborted("+r+")"),D=!0,r+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(r);throw n(e),e}var z,G,H,q;function Q(r){return r.startsWith("data:application/octet-stream;base64,")}function X(r){return r.startsWith("file://")}function Y(r){try{if(r==z&&y)return new Uint8Array(y);if(u)return u(r);throw"both async and sync fetching of the wasm failed"}catch(r){W(r)}}function Z(r,e,t){return function(r){if(!y&&(d||m)){if("function"==typeof fetch&&!X(r))return fetch(r,{credentials:"same-origin"}).then((e=>{if(!e.ok)throw"failed to load wasm binary file at '"+r+"'";return e.arrayBuffer()})).catch((()=>Y(r)));if(s)return new Promise(((e,t)=>{s(r,(r=>e(new Uint8Array(r))),t)}))}return Promise.resolve().then((()=>Y(r)))}(r).then((r=>WebAssembly.instantiate(r,e))).then((r=>r)).then(t,(r=>{w("failed to asynchronously prepare wasm: "+r),W(r)}))}function J(r){this.name="ExitStatus",this.message=`Program terminated with exit(${r})`,this.status=r}function K(r){for(;r.length>0;)r.shift()(a)}function rr(r){this.excPtr=r,this.ptr=r-24,this.set_type=function(r){T[this.ptr+4>>2]=r},this.get_type=function(){return T[this.ptr+4>>2]},this.set_destructor=function(r){T[this.ptr+8>>2]=r},this.get_destructor=function(){return T[this.ptr+8>>2]},this.set_caught=function(r){r=r?1:0,_[this.ptr+12|0]=r},this.get_caught=function(){return 0!=_[this.ptr+12|0]},this.set_rethrown=function(r){r=r?1:0,_[this.ptr+13|0]=r},this.get_rethrown=function(){return 0!=_[this.ptr+13|0]},this.init=function(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e)},this.set_adjusted_ptr=function(r){T[this.ptr+16>>2]=r},this.get_adjusted_ptr=function(){return T[this.ptr+16>>2]},this.get_exception_ptr=function(){if(eu(this.get_type()))return T[this.excPtr>>2];var r=this.get_adjusted_ptr();return 0!==r?r:this.excPtr}}Q(z="libktx.wasm")||(G=z,z=a.locateFile?a.locateFile(G,p):p+G);var er={};function tr(r){for(;r.length;){var e=r.pop();r.pop()(e)}}function nr(r){return this.fromWireType(A[r>>2])}var or={},ar={},ir={};function sr(r){if(void 0===r)return"_unknown";var e=(r=r.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return e>=48&&e<=57?`_${r}`:r}function ur(r,e){return r=sr(r),{[r]:function(){return e.apply(this,arguments)}}[r]}function fr(r,e){var t=ur(e,(function(r){this.name=e,this.message=r;var t=new Error(r).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}));return t.prototype=Object.create(r.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},t}var cr=void 0;function lr(r){throw new cr(r)}function dr(r,e,t){function n(e){var n=t(e);n.length!==r.length&&lr("Mismatched type converter count");for(var o=0;o<r.length;++o)yr(r[o],n[o])}r.forEach((function(r){ir[r]=e}));var o=new Array(e.length),a=[],i=0;e.forEach(((r,e)=>{ar.hasOwnProperty(r)?o[e]=ar[r]:(a.push(r),or.hasOwnProperty(r)||(or[r]=[]),or[r].push((()=>{o[e]=ar[r],++i===a.length&&n(o)})))})),0===a.length&&n(o)}function mr(r){switch(r){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${r}`)}}var vr=void 0;function pr(r){for(var e="",t=r;k[t];)e+=vr[k[t++]];return e}var hr=void 0;function gr(r){throw new hr(r)}function yr(r,e,t={}){if(!("argPackAdvance"in e))throw new TypeError("registerType registeredInstance requires argPackAdvance");var n=e.name;if(r||gr(`type "${n}" must have a positive integer typeid pointer`),ar.hasOwnProperty(r)){if(t.ignoreDuplicateRegistrations)return;gr(`Cannot register type '${n}' twice`)}if(ar[r]=e,delete ir[r],or.hasOwnProperty(r)){var o=or[r];delete or[r],o.forEach((r=>r()))}}function br(r){if(!(this instanceof Ur))return!1;if(!(r instanceof Ur))return!1;for(var e=this.$$.ptrType.registeredClass,t=this.$$.ptr,n=r.$$.ptrType.registeredClass,o=r.$$.ptr;e.baseClass;)t=e.upcast(t),e=e.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return e===n&&t===o}function wr(r){gr(r.$$.ptrType.registeredClass.name+" instance already deleted")}var Er=!1;function xr(r){}function _r(r){r.count.value-=1,0===r.count.value&&function(r){r.smartPtr?r.smartPtrType.rawDestructor(r.smartPtr):r.ptrType.registeredClass.rawDestructor(r.ptr)}(r)}function kr(r,e,t){if(e===t)return r;if(void 0===t.baseClass)return null;var n=kr(r,e,t.baseClass);return null===n?null:t.downcast(n)}var Pr={};function Cr(){return Object.keys(Dr).length}function Ar(){var r=[];for(var e in Dr)Dr.hasOwnProperty(e)&&r.push(Dr[e]);return r}var Tr=[];function Br(){for(;Tr.length;){var r=Tr.pop();r.$$.deleteScheduled=!1,r.delete()}}var Sr=void 0;function $r(r){Sr=r,Tr.length&&Sr&&Sr(Br)}var Dr={};function Fr(r,e){return e=function(r,e){for(void 0===e&&gr("ptr should not be undefined");r.baseClass;)e=r.upcast(e),r=r.baseClass;return e}(r,e),Dr[e]}function Mr(r,e){return e.ptrType&&e.ptr||lr("makeClassHandle requires ptr and ptrType"),!!e.smartPtrType!==!!e.smartPtr&&lr("Both smartPtrType and smartPtr must be specified"),e.count={value:1},Lr(Object.create(r,{$$:{value:e}}))}function Ir(r){var e=this.getPointee(r);if(!e)return this.destructor(r),null;var t=Fr(this.registeredClass,e);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=e,t.$$.smartPtr=r,t.clone();var n=t.clone();return this.destructor(r),n}function o(){return this.isSmartPointer?Mr(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:e,smartPtrType:this,smartPtr:r}):Mr(this.registeredClass.instancePrototype,{ptrType:this,ptr:r})}var a,i=this.registeredClass.getActualType(e),s=Pr[i];if(!s)return o.call(this);a=this.isConst?s.constPointerType:s.pointerType;var u=kr(e,this.registeredClass,a.registeredClass);return null===u?o.call(this):this.isSmartPointer?Mr(a.registeredClass.instancePrototype,{ptrType:a,ptr:u,smartPtrType:this,smartPtr:r}):Mr(a.registeredClass.instancePrototype,{ptrType:a,ptr:u})}function Lr(r){return"undefined"==typeof FinalizationRegistry?(Lr=r=>r,r):(Er=new FinalizationRegistry((r=>{_r(r.$$)})),Lr=r=>{var e=r.$$;if(!!e.smartPtr){var t={$$:e};Er.register(r,t,r)}return r},xr=r=>Er.unregister(r),Lr(r))}function jr(){if(this.$$.ptr||wr(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var r,e=Lr(Object.create(Object.getPrototypeOf(this),{$$:{value:(r=this.$$,{count:r.count,deleteScheduled:r.deleteScheduled,preservePointerOnDelete:r.preservePointerOnDelete,ptr:r.ptr,ptrType:r.ptrType,smartPtr:r.smartPtr,smartPtrType:r.smartPtrType})}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function Rr(){this.$$.ptr||wr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&gr("Object already scheduled for deletion"),xr(this),_r(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function Vr(){return!this.$$.ptr}function Or(){return this.$$.ptr||wr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&gr("Object already scheduled for deletion"),Tr.push(this),1===Tr.length&&Sr&&Sr(Br),this.$$.deleteScheduled=!0,this}function Ur(){}function Nr(r,e,t){if(void 0===r[e].overloadTable){var n=r[e];r[e]=function(){return r[e].overloadTable.hasOwnProperty(arguments.length)||gr(`Function '${t}' called with an invalid number of arguments (${arguments.length}) - expects one of (${r[e].overloadTable})!`),r[e].overloadTable[arguments.length].apply(this,arguments)},r[e].overloadTable=[],r[e].overloadTable[n.argCount]=n}}function Wr(r,e,t){a.hasOwnProperty(r)?((void 0===t||void 0!==a[r].overloadTable&&void 0!==a[r].overloadTable[t])&&gr(`Cannot register public name '${r}' twice`),Nr(a,r,r),a.hasOwnProperty(t)&&gr(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),a[r].overloadTable[t]=e):(a[r]=e,void 0!==t&&(a[r].numArguments=t))}function zr(r,e,t,n,o,a,i,s){this.name=r,this.constructor=e,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=o,this.getActualType=a,this.upcast=i,this.downcast=s,this.pureVirtualFunctions=[]}function Gr(r,e,t){for(;e!==t;)e.upcast||gr(`Expected null or instance of ${t.name}, got an instance of ${e.name}`),r=e.upcast(r),e=e.baseClass;return r}function Hr(r,e){if(null===e)return this.isReference&&gr(`null is not a valid ${this.name}`),0;e.$$||gr(`Cannot pass "${he(e)}" as a ${this.name}`),e.$$.ptr||gr(`Cannot pass deleted object as a pointer of type ${this.name}`);var t=e.$$.ptrType.registeredClass;return Gr(e.$$.ptr,t,this.registeredClass)}function qr(r,e){var t;if(null===e)return this.isReference&&gr(`null is not a valid ${this.name}`),this.isSmartPointer?(t=this.rawConstructor(),null!==r&&r.push(this.rawDestructor,t),t):0;e.$$||gr(`Cannot pass "${he(e)}" as a ${this.name}`),e.$$.ptr||gr(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&e.$$.ptrType.isConst&&gr(`Cannot convert argument of type ${e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name} to parameter type ${this.name}`);var n=e.$$.ptrType.registeredClass;if(t=Gr(e.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===e.$$.smartPtr&&gr("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:e.$$.smartPtrType===this?t=e.$$.smartPtr:gr(`Cannot convert argument of type ${e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:t=e.$$.smartPtr;break;case 2:if(e.$$.smartPtrType===this)t=e.$$.smartPtr;else{var o=e.clone();t=this.rawShare(t,me.toHandle((function(){o.delete()}))),null!==r&&r.push(this.rawDestructor,t)}break;default:gr("Unsupporting sharing policy")}return t}function Qr(r,e){if(null===e)return this.isReference&&gr(`null is not a valid ${this.name}`),0;e.$$||gr(`Cannot pass "${he(e)}" as a ${this.name}`),e.$$.ptr||gr(`Cannot pass deleted object as a pointer of type ${this.name}`),e.$$.ptrType.isConst&&gr(`Cannot convert argument of type ${e.$$.ptrType.name} to parameter type ${this.name}`);var t=e.$$.ptrType.registeredClass;return Gr(e.$$.ptr,t,this.registeredClass)}function Xr(r){return this.rawGetPointee&&(r=this.rawGetPointee(r)),r}function Yr(r){this.rawDestructor&&this.rawDestructor(r)}function Zr(r){null!==r&&r.delete()}function Jr(r,e,t,n,o,a,i,s,u,f,c){this.name=r,this.registeredClass=e,this.isReference=t,this.isConst=n,this.isSmartPointer=o,this.pointeeType=a,this.sharingPolicy=i,this.rawGetPointee=s,this.rawConstructor=u,this.rawShare=f,this.rawDestructor=c,o||void 0!==e.baseClass?this.toWireType=qr:n?(this.toWireType=Hr,this.destructorFunction=null):(this.toWireType=Qr,this.destructorFunction=null)}var Kr=[];function re(r){var e=Kr[r];return e||(r>=Kr.length&&(Kr.length=r+1),Kr[r]=e=$.get(r)),e}function ee(r,e,t){return r.includes("j")?function(r,e,t){var n=a["dynCall_"+r];return t&&t.length?n.apply(null,[e].concat(t)):n.call(null,e)}(r,e,t):re(e).apply(null,t)}function te(r,e){var t,n,o,a=(r=pr(r)).includes("j")?(t=r,n=e,o=[],function(){return o.length=0,Object.assign(o,arguments),ee(t,n,o)}):re(e);return"function"!=typeof a&&gr(`unknown function pointer with signature ${r}: ${e}`),a}var ne=void 0;function oe(r){var e=ru(r),t=pr(e);return Js(e),t}function ae(r,e){var t=[],n={};throw e.forEach((function r(e){n[e]||ar[e]||(ir[e]?ir[e].forEach(r):(t.push(e),n[e]=!0))})),new ne(`${r}: `+t.map(oe).join([", "]))}function ie(r,e){for(var t=[],n=0;n<r;n++)t.push(T[e+4*n>>2]);return t}function se(r,e){if(!(r instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof r} which is not a function`);var t=ur(r.name||"unknownFunctionName",(function(){}));t.prototype=r.prototype;var n=new t,o=r.apply(n,e);return o instanceof Object?o:n}function ue(r,e,t,n,o,a){var i=e.length;i<2&&gr("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==e[1]&&null!==t,u=!1,f=1;f<e.length;++f)if(null!==e[f]&&void 0===e[f].destructorFunction){u=!0;break}var c="void"!==e[0].name,l="",d="";for(f=0;f<i-2;++f)l+=(0!==f?", ":"")+"arg"+f,d+=(0!==f?", ":"")+"arg"+f+"Wired";var m=`\n return function ${sr(r)}(${l}) {\n if (arguments.length !== ${i-2}) {\n throwBindingError('function ${r} called with ${arguments.length} arguments, expected ${i-2} args!');\n }`;u&&(m+="var destructors = [];\n");var v=u?"destructors":"null",p=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],h=[gr,n,o,tr,e[0],e[1]];s&&(m+="var thisWired = classParam.toWireType("+v+", this);\n");for(f=0;f<i-2;++f)m+="var arg"+f+"Wired = argType"+f+".toWireType("+v+", arg"+f+"); // "+e[f+2].name+"\n",p.push("argType"+f),h.push(e[f+2]);if(s&&(d="thisWired"+(d.length>0?", ":"")+d),m+=(c||a?"var rv = ":"")+"invoker(fn"+(d.length>0?", ":"")+d+");\n",u)m+="runDestructors(destructors);\n";else for(f=s?1:2;f<e.length;++f){var g=1===f?"thisWired":"arg"+(f-2)+"Wired";null!==e[f].destructorFunction&&(m+=g+"_dtor("+g+"); // "+e[f].name+"\n",p.push(g+"_dtor"),h.push(e[f].destructorFunction))}return c&&(m+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),m+="}\n",p.push(m),se(Function,p).apply(null,h)}function fe(r,e,t){return r instanceof Object||gr(`${t} with invalid "this": ${r}`),r instanceof e.registeredClass.constructor||gr(`${t} incompatible with "this" of type ${r.constructor.name}`),r.$$.ptr||gr(`cannot call emscripten binding method ${t} on deleted object`),Gr(r.$$.ptr,r.$$.ptrType.registeredClass,e.registeredClass)}var ce=new function(){this.allocated=[void 0],this.freelist=[],this.get=function(r){return this.allocated[r]},this.has=function(r){return void 0!==this.allocated[r]},this.allocate=function(r){var e=this.freelist.pop()||this.allocated.length;return this.allocated[e]=r,e},this.free=function(r){this.allocated[r]=void 0,this.freelist.push(r)}};function le(r){r>=ce.reserved&&0==--ce.get(r).refcount&&ce.free(r)}function de(){for(var r=0,e=ce.reserved;e<ce.allocated.length;++e)void 0!==ce.allocated[e]&&++r;return r}var me={toValue:r=>(r||gr("Cannot use deleted val. handle = "+r),ce.get(r).value),toHandle:r=>{switch(r){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return ce.allocate({refcount:1,value:r})}}};function ve(r,e,t){switch(e){case 0:return function(r){var e=t?_:k;return this.fromWireType(e[r])};case 1:return function(r){var e=t?P:C;return this.fromWireType(e[r>>1])};case 2:return function(r){var e=t?A:T;return this.fromWireType(e[r>>2])};default:throw new TypeError("Unknown integer type: "+r)}}function pe(r,e){var t=ar[r];return void 0===t&&gr(e+" has unknown type "+oe(r)),t}function he(r){if(null===r)return"null";var e=typeof r;return"object"===e||"array"===e||"function"===e?r.toString():""+r}function ge(r,e){switch(e){case 2:return function(r){return this.fromWireType(B[r>>2])};case 3:return function(r){return this.fromWireType(S[r>>3])};default:throw new TypeError("Unknown float type: "+r)}}function ye(r,e,t){switch(e){case 0:return t?function(r){return _[r]}:function(r){return k[r]};case 1:return t?function(r){return P[r>>1]}:function(r){return C[r>>1]};case 2:return t?function(r){return A[r>>2]}:function(r){return T[r>>2]};default:throw new TypeError("Unknown integer type: "+r)}}function be(r,e,t,n){if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i<r.length;++i){var s=r.charCodeAt(i);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&r.charCodeAt(++i);if(s<=127){if(t>=a)break;e[t++]=s}else if(s<=2047){if(t+1>=a)break;e[t++]=192|s>>6,e[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;e[t++]=224|s>>12,e[t++]=128|s>>6&63,e[t++]=128|63&s}else{if(t+3>=a)break;e[t++]=240|s>>18,e[t++]=128|s>>12&63,e[t++]=128|s>>6&63,e[t++]=128|63&s}}return e[t]=0,t-o}function we(r,e,t){return be(r,k,e,t)}function Ee(r){for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++t):e+=3}return e}var xe="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function _e(r,e,t){for(var n=e+t,o=e;r[o]&&!(o>=n);)++o;if(o-e>16&&r.buffer&&xe)return xe.decode(r.subarray(e,o));for(var a="";e<o;){var i=r[e++];if(128&i){var s=63&r[e++];if(192!=(224&i)){var u=63&r[e++];if((i=224==(240&i)?(15&i)<<12|s<<6|u:(7&i)<<18|s<<12|u<<6|63&r[e++])<65536)a+=String.fromCharCode(i);else{var f=i-65536;a+=String.fromCharCode(55296|f>>10,56320|1023&f)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a}function ke(r,e){return r?_e(k,r,e):""}var Pe="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Ce(r,e){for(var t=r,n=t>>1,o=n+e/2;!(n>=o)&&C[n];)++n;if((t=n<<1)-r>32&&Pe)return Pe.decode(k.subarray(r,t));for(var a="",i=0;!(i>=e/2);++i){var s=P[r+2*i>>1];if(0==s)break;a+=String.fromCharCode(s)}return a}function Ae(r,e,t){if(void 0===t&&(t=2147483647),t<2)return 0;for(var n=e,o=(t-=2)<2*r.length?t/2:r.length,a=0;a<o;++a){var i=r.charCodeAt(a);P[e>>1]=i,e+=2}return P[e>>1]=0,e-n}function Te(r){return 2*r.length}function Be(r,e){for(var t=0,n="";!(t>=e/4);){var o=A[r+4*t>>2];if(0==o)break;if(++t,o>=65536){var a=o-65536;n+=String.fromCharCode(55296|a>>10,56320|1023&a)}else n+=String.fromCharCode(o)}return n}function Se(r,e,t){if(void 0===t&&(t=2147483647),t<4)return 0;for(var n=e,o=n+t-4,a=0;a<r.length;++a){var i=r.charCodeAt(a);if(i>=55296&&i<=57343)i=65536+((1023&i)<<10)|1023&r.charCodeAt(++a);if(A[e>>2]=i,(e+=4)+4>o)break}return A[e>>2]=0,e-n}function $e(r){for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n>=55296&&n<=57343&&++t,e+=4}return e}var De={};function Fe(r){var e=De[r];return void 0===e?pr(r):e}var Me=[];var Ie=[];var Le={};var je={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function(r){je.lastError||(je.lastError=r)},getNewId:function(r){for(var e=je.counter++,t=r.length;t<e;t++)r[t]=null;return e},MAX_TEMP_BUFFER_SIZE:2097152,numTempVertexBuffersPerSize:64,log2ceilLookup:function(r){return 32-Math.clz32(0===r?0:r-1)},generateTempBuffers:function(r,e){var t=je.log2ceilLookup(je.MAX_TEMP_BUFFER_SIZE);e.tempVertexBufferCounters1=[],e.tempVertexBufferCounters2=[],e.tempVertexBufferCounters1.length=e.tempVertexBufferCounters2.length=t+1,e.tempVertexBuffers1=[],e.tempVertexBuffers2=[],e.tempVertexBuffers1.length=e.tempVertexBuffers2.length=t+1,e.tempIndexBuffers=[],e.tempIndexBuffers.length=t+1;for(var n=0;n<=t;++n){e.tempIndexBuffers[n]=null,e.tempVertexBufferCounters1[n]=e.tempVertexBufferCounters2[n]=0;var o=je.numTempVertexBuffersPerSize;e.tempVertexBuffers1[n]=[],e.tempVertexBuffers2[n]=[];var a=e.tempVertexBuffers1[n],i=e.tempVertexBuffers2[n];a.length=i.length=o;for(var s=0;s<o;++s)a[s]=i[s]=null}if(r){e.tempQuadIndexBuffer=Os.createBuffer(),e.GLctx.bindBuffer(34963,e.tempQuadIndexBuffer);for(var u=je.MAX_TEMP_BUFFER_SIZE>>1,f=new Uint16Array(u),c=(n=0,0);!(f[n++]=c,n>=u||(f[n++]=c+1,n>=u)||(f[n++]=c+2,n>=u)||(f[n++]=c,n>=u)||(f[n++]=c+2,n>=u)||(f[n++]=c+3,n>=u));)c+=4;e.GLctx.bufferData(34963,f,35044),e.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:function(r){var e=je.log2ceilLookup(r),t=je.currentContext.tempVertexBuffers1[e],n=je.currentContext.tempVertexBufferCounters1[e];je.currentContext.tempVertexBufferCounters1[e]=je.currentContext.tempVertexBufferCounters1[e]+1&je.numTempVertexBuffersPerSize-1;var o=t[n];if(o)return o;var a=Os.getParameter(34964);return t[n]=Os.createBuffer(),Os.bindBuffer(34962,t[n]),Os.bufferData(34962,1<<e,35048),Os.bindBuffer(34962,a),t[n]},getTempIndexBuffer:function(r){var e=je.log2ceilLookup(r),t=je.currentContext.tempIndexBuffers[e];if(t)return t;var n=Os.getParameter(34965);return je.currentContext.tempIndexBuffers[e]=Os.createBuffer(),Os.bindBuffer(34963,je.currentContext.tempIndexBuffers[e]),Os.bufferData(34963,1<<e,35048),Os.bindBuffer(34963,n),je.currentContext.tempIndexBuffers[e]},newRenderingFrameStarted:function(){if(je.currentContext){var r=je.currentContext.tempVertexBuffers1;je.currentContext.tempVertexBuffers1=je.currentContext.tempVertexBuffers2,je.currentContext.tempVertexBuffers2=r,r=je.currentContext.tempVertexBufferCounters1,je.currentContext.tempVertexBufferCounters1=je.currentContext.tempVertexBufferCounters2,je.currentContext.tempVertexBufferCounters2=r;for(var e=je.log2ceilLookup(je.MAX_TEMP_BUFFER_SIZE),t=0;t<=e;++t)je.currentContext.tempVertexBufferCounters1[t]=0}},getSource:function(r,e,t,n){for(var o="",a=0;a<e;++a){var i=n?A[n+4*a>>2]:-1;o+=ke(A[t+4*a>>2],i<0?void 0:i)}return o},calcBufLength:function(r,e,t,n){return t>0?n*t:r*je.byteSizeByType[e-je.byteSizeByTypeRoot]*n},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:function(r){je.resetBufferBinding=!1;for(var e=0;e<je.currentContext.maxVertexAttribs;++e){var t=je.currentContext.clientBuffers[e];if(t.clientside&&t.enabled){je.resetBufferBinding=!0;var n=je.calcBufLength(t.size,t.type,t.stride,r),o=je.getTempVertexBuffer(n);Os.bindBuffer(34962,o),Os.bufferSubData(34962,0,k.subarray(t.ptr,t.ptr+n)),t.vertexAttribPointerAdaptor.call(Os,e,t.size,t.type,t.normalized,t.stride,0)}}},postDrawHandleClientVertexAttribBindings:function(){je.resetBufferBinding&&Os.bindBuffer(34962,je.buffers[Os.currentArrayBufferBinding])},createContext:function(r,e){if(a.preinitializedWebGLContext){var t=a.preinitializedWebGLContext;e.majorVersion=Number(t.getParameter(t.VERSION).match(/^WebGL (\d+).\d+/)[1])}else{if(!r.getContextSafariWebGL2Fixed){r.getContextSafariWebGL2Fixed=r.getContext,r.getContext=function(e,t){var n=r.getContextSafariWebGL2Fixed(e,t);return"webgl"==e==n instanceof WebGLRenderingContext?n:null}}t=e.majorVersion>1?r.getContext("webgl2",e):r.getContext("webgl",e)}return t?je.registerContext(t,e):0},registerContext:function(r,e){var t=je.getNewId(je.contexts),n={handle:t,attributes:e,version:e.majorVersion,GLctx:r};r.canvas&&(r.canvas.GLctxObject=n),je.contexts[t]=n,(void 0===e.enableExtensionsByDefault||e.enableExtensionsByDefault)&&je.initExtensions(n),n.maxVertexAttribs=n.GLctx.getParameter(34921),n.clientBuffers=[];for(var o=0;o<n.maxVertexAttribs;o++)n.clientBuffers[o]={enabled:!1,clientside:!1,size:0,type:0,normalized:0,stride:0,ptr:0,vertexAttribPointerAdaptor:null};return je.generateTempBuffers(!1,n),t},makeContextCurrent:function(r){return je.currentContext=je.contexts[r],a.ctx=Os=je.currentContext&&je.currentContext.GLctx,!(r&&!Os)},getContext:function(r){return je.contexts[r]},deleteContext:function(r){je.currentContext===je.contexts[r]&&(je.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(je.contexts[r].GLctx.canvas),je.contexts[r]&&je.contexts[r].GLctx.canvas&&(je.contexts[r].GLctx.canvas.GLctxObject=void 0),je.contexts[r]=null},initExtensions:function(r){if(r||(r=je.currentContext),!r.initExtensionsDone){r.initExtensionsDone=!0;var e,t=r.GLctx;!function(r){var e=r.getExtension("ANGLE_instanced_arrays");if(e)r.vertexAttribDivisor=function(r,t){e.vertexAttribDivisorANGLE(r,t)},r.drawArraysInstanced=function(r,t,n,o){e.drawArraysInstancedANGLE(r,t,n,o)},r.drawElementsInstanced=function(r,t,n,o,a){e.drawElementsInstancedANGLE(r,t,n,o,a)}}(t),function(r){var e=r.getExtension("OES_vertex_array_object");if(e)r.createVertexArray=function(){return e.createVertexArrayOES()},r.deleteVertexArray=function(r){e.deleteVertexArrayOES(r)},r.bindVertexArray=function(r){e.bindVertexArrayOES(r)},r.isVertexArray=function(r){return e.isVertexArrayOES(r)}}(t),function(r){var e=r.getExtension("WEBGL_draw_buffers");if(e)r.drawBuffers=function(r,t){e.drawBuffersWEBGL(r,t)}}(t),(e=t).dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),function(r){r.mdibvbi=r.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")}(t),r.version>=2&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query_webgl2")),(r.version<2||!t.disjointTimerQueryExt)&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query")),function(r){r.multiDrawWebgl=r.getExtension("WEBGL_multi_draw")}(t),(t.getSupportedExtensions()||[]).forEach((function(r){r.includes("lose_context")||r.includes("debug")||t.getExtension(r)}))}}};var Re=function(r){Os.activeTexture(r)};var Ve=function(r,e){Os.attachShader(je.programs[r],je.shaders[e])};var Oe=function(r,e){Os.beginQuery(r,je.queries[e])};var Ue=function(r,e){Os.disjointTimerQueryExt.beginQueryEXT(r,je.queries[e])};var Ne=function(r){Os.beginTransformFeedback(r)};var We=function(r,e,t){Os.bindAttribLocation(je.programs[r],e,ke(t))};var ze=function(r,e){34962==r?Os.currentArrayBufferBinding=e:34963==r&&(Os.currentElementArrayBufferBinding=e),35051==r?Os.currentPixelPackBufferBinding=e:35052==r&&(Os.currentPixelUnpackBufferBinding=e),Os.bindBuffer(r,je.buffers[e])};var Ge=function(r,e,t){Os.bindBufferBase(r,e,je.buffers[t])};var He=function(r,e,t,n,o){Os.bindBufferRange(r,e,je.buffers[t],n,o)};var qe=function(r,e){Os.bindFramebuffer(r,je.framebuffers[e])};var Qe=function(r,e){Os.bindRenderbuffer(r,je.renderbuffers[e])};var Xe=function(r,e){Os.bindSampler(r,je.samplers[e])};var Ye=function(r,e){Os.bindTexture(r,je.textures[e])};var Ze=function(r,e){Os.bindTransformFeedback(r,je.transformFeedbacks[e])};function Je(r){Os.bindVertexArray(je.vaos[r]);var e=Os.getParameter(34965);Os.currentElementArrayBufferBinding=e?0|e.name:0}var Ke=Je,rt=Je;var et=function(r,e,t,n){Os.blendColor(r,e,t,n)};var tt=function(r){Os.blendEquation(r)};var nt=function(r,e){Os.blendEquationSeparate(r,e)};var ot=function(r,e){Os.blendFunc(r,e)};var at=function(r,e,t,n){Os.blendFuncSeparate(r,e,t,n)};var it=function(r,e,t,n,o,a,i,s,u,f){Os.blitFramebuffer(r,e,t,n,o,a,i,s,u,f)};var st=function(r,e,t,n){je.currentContext.version>=2?t&&e?Os.bufferData(r,k,n,t,e):Os.bufferData(r,e,n):Os.bufferData(r,t?k.subarray(t,t+e):e,n)};var ut=function(r,e,t,n){je.currentContext.version>=2?t&&Os.bufferSubData(r,e,k,n,t):Os.bufferSubData(r,e,k.subarray(n,n+t))};var ft=function(r){return Os.checkFramebufferStatus(r)};var ct=function(r){Os.clear(r)};var lt=function(r,e,t,n){Os.clearBufferfi(r,e,t,n)};var dt=function(r,e,t){Os.clearBufferfv(r,e,B,t>>2)};var mt=function(r,e,t){Os.clearBufferiv(r,e,A,t>>2)};var vt=function(r,e,t){Os.clearBufferuiv(r,e,T,t>>2)};var pt=function(r,e,t,n){Os.clearColor(r,e,t,n)};var ht=function(r){Os.clearDepth(r)};var gt=function(r){Os.clearStencil(r)};function yt(r,e){return(r>>>0)+4294967296*e}var bt=function(r,e,t,n){var o=yt(t,n);return Os.clientWaitSync(je.syncs[r],e,o)};var wt=function(r,e,t,n){Os.colorMask(!!r,!!e,!!t,!!n)};var Et=function(r){Os.compileShader(je.shaders[r])};var xt=function(r,e,t,n,o,a,i,s){je.currentContext.version>=2?Os.currentPixelUnpackBufferBinding||!i?Os.compressedTexImage2D(r,e,t,n,o,a,i,s):Os.compressedTexImage2D(r,e,t,n,o,a,k,s,i):Os.compressedTexImage2D(r,e,t,n,o,a,s?k.subarray(s,s+i):null)};var _t=function(r,e,t,n,o,a,i,s,u){Os.currentPixelUnpackBufferBinding?Os.compressedTexImage3D(r,e,t,n,o,a,i,s,u):Os.compressedTexImage3D(r,e,t,n,o,a,i,k,u,s)};var kt=function(r,e,t,n,o,a,i,s,u){je.currentContext.version>=2?Os.currentPixelUnpackBufferBinding||!s?Os.compressedTexSubImage2D(r,e,t,n,o,a,i,s,u):Os.compressedTexSubImage2D(r,e,t,n,o,a,i,k,u,s):Os.compressedTexSubImage2D(r,e,t,n,o,a,i,u?k.subarray(u,u+s):null)};var Pt=function(r,e,t,n,o,a,i,s,u,f,c){Os.currentPixelUnpackBufferBinding?Os.compressedTexSubImage3D(r,e,t,n,o,a,i,s,u,f,c):Os.compressedTexSubImage3D(r,e,t,n,o,a,i,s,u,k,c,f)};var Ct=function(r,e,t,n,o){Os.copyBufferSubData(r,e,t,n,o)};var At=function(r,e,t,n,o,a,i,s){Os.copyTexImage2D(r,e,t,n,o,a,i,s)};var Tt=function(r,e,t,n,o,a,i,s){Os.copyTexSubImage2D(r,e,t,n,o,a,i,s)};var Bt=function(r,e,t,n,o,a,i,s,u){Os.copyTexSubImage3D(r,e,t,n,o,a,i,s,u)};var St=function(){var r=je.getNewId(je.programs),e=Os.createProgram();return e.name=r,e.maxUniformLength=e.maxAttributeLength=e.maxUniformBlockNameLength=0,e.uniformIdCounter=1,je.programs[r]=e,r};var $t=function(r){var e=je.getNewId(je.shaders);return je.shaders[e]=Os.createShader(r),e};var Dt=function(r){Os.cullFace(r)};var Ft=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.buffers[n];o&&(Os.deleteBuffer(o),o.name=0,je.buffers[n]=null,n==Os.currentArrayBufferBinding&&(Os.currentArrayBufferBinding=0),n==Os.currentElementArrayBufferBinding&&(Os.currentElementArrayBufferBinding=0),n==Os.currentPixelPackBufferBinding&&(Os.currentPixelPackBufferBinding=0),n==Os.currentPixelUnpackBufferBinding&&(Os.currentPixelUnpackBufferBinding=0))}};var Mt=function(r,e){for(var t=0;t<r;++t){var n=A[e+4*t>>2],o=je.framebuffers[n];o&&(Os.deleteFramebuffer(o),o.name=0,je.framebuffers[n]=null)}};var It=function(r){if(r){var e=je.programs[r];e?(Os.deleteProgram(e),e.name=0,je.programs[r]=null):je.recordError(1281)}};var Lt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.queries[n];o&&(Os.deleteQuery(o),je.queries[n]=null)}};var jt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.queries[n];o&&(Os.disjointTimerQueryExt.deleteQueryEXT(o),je.queries[n]=null)}};var Rt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.renderbuffers[n];o&&(Os.deleteRenderbuffer(o),o.name=0,je.renderbuffers[n]=null)}};var Vt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.samplers[n];o&&(Os.deleteSampler(o),o.name=0,je.samplers[n]=null)}};var Ot=function(r){if(r){var e=je.shaders[r];e?(Os.deleteShader(e),je.shaders[r]=null):je.recordError(1281)}};var Ut=function(r){if(r){var e=je.syncs[r];e?(Os.deleteSync(e),e.name=0,je.syncs[r]=null):je.recordError(1281)}};var Nt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.textures[n];o&&(Os.deleteTexture(o),o.name=0,je.textures[n]=null)}};var Wt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.transformFeedbacks[n];o&&(Os.deleteTransformFeedback(o),o.name=0,je.transformFeedbacks[n]=null)}};function zt(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2];Os.deleteVertexArray(je.vaos[n]),je.vaos[n]=null}}var Gt=zt,Ht=zt;var qt=function(r){Os.depthFunc(r)};var Qt=function(r){Os.depthMask(!!r)};var Xt=function(r,e){Os.depthRange(r,e)};var Yt=function(r,e){Os.detachShader(je.programs[r],je.shaders[e])};var Zt=function(r){Os.disable(r)};var Jt=function(r){je.currentContext.clientBuffers[r].enabled=!1,Os.disableVertexAttribArray(r)};var Kt=function(r,e,t){je.preDrawHandleClientVertexAttribBindings(e+t),Os.drawArrays(r,e,t),je.postDrawHandleClientVertexAttribBindings()};function rn(r,e,t,n){Os.drawArraysInstanced(r,e,t,n)}var en=rn,tn=rn,nn=rn,on=rn,an=rn,sn=[];function un(r,e){for(var t=sn[r],n=0;n<r;n++)t[n]=A[e+4*n>>2];Os.drawBuffers(t)}var fn=un,cn=un,ln=un;function dn(r,e,t,n){var o;if(!Os.currentElementArrayBufferBinding){var a=je.calcBufLength(1,t,0,e);o=je.getTempIndexBuffer(a),Os.bindBuffer(34963,o),Os.bufferSubData(34963,0,k.subarray(n,n+a)),n=0}je.preDrawHandleClientVertexAttribBindings(e),Os.drawElements(r,e,t,n),je.postDrawHandleClientVertexAttribBindings(e),Os.currentElementArrayBufferBinding||Os.bindBuffer(34963,null)}var mn=dn;function vn(r,e,t,n,o){Os.drawElementsInstanced(r,e,t,n,o)}var pn=vn,hn=vn,gn=vn,yn=vn,bn=vn;var wn=function(r,e,t,n,o,a){dn(r,n,o,a)};var En=function(r){Os.enable(r)};var xn=function(r){je.currentContext.clientBuffers[r].enabled=!0,Os.enableVertexAttribArray(r)};var _n=function(r){Os.endQuery(r)};var kn=function(r){Os.disjointTimerQueryExt.endQueryEXT(r)};var Pn=function(){Os.endTransformFeedback()};var Cn=function(r,e){var t=Os.fenceSync(r,e);if(t){var n=je.getNewId(je.syncs);return t.name=n,je.syncs[n]=t,n}return 0};var An=function(){Os.finish()};var Tn=function(){Os.flush()};function Bn(r){switch(r){case 34962:r=34964;break;case 34963:r=34965;break;case 35051:r=35053;break;case 35052:r=35055;break;case 35982:r=35983;break;case 36662:r=36662;break;case 36663:r=36663;break;case 35345:r=35368}var e=Os.getParameter(r);return e?0|e.name:0}function Sn(r){switch(r){case 34962:case 34963:case 36662:case 36663:case 35051:case 35052:case 35882:case 35982:case 35345:return!0;default:return!1}}var $n=function(r,e,t){if(!Sn(r))return je.recordError(1280),void w("GL_INVALID_ENUM in glFlushMappedBufferRange");var n=je.mappedBuffers[Bn(r)];return n?16&n.access?e<0||t<0||e+t>n.length?(je.recordError(1281),void w("invalid range in glFlushMappedBufferRange")):void Os.bufferSubData(r,n.offset,k.subarray(n.mem+e,n.mem+e+t)):(je.recordError(1282),void w("buffer was not mapped with GL_MAP_FLUSH_EXPLICIT_BIT in glFlushMappedBufferRange")):(je.recordError(1282),void w("buffer was never mapped in glFlushMappedBufferRange"))};var Dn=function(r,e,t,n){Os.framebufferRenderbuffer(r,e,t,je.renderbuffers[n])};var Fn=function(r,e,t,n,o){Os.framebufferTexture2D(r,e,t,je.textures[n],o)};var Mn=function(r,e,t,n,o){Os.framebufferTextureLayer(r,e,je.textures[t],n,o)};var In=function(r){Os.frontFace(r)};function Ln(r,e,t,n){for(var o=0;o<r;o++){var a=Os[t](),i=a&&je.getNewId(n);a?(a.name=i,n[i]=a):je.recordError(1282),A[e+4*o>>2]=i}}var jn=function(r,e){Ln(r,e,"createBuffer",je.buffers)};var Rn=function(r,e){Ln(r,e,"createFramebuffer",je.framebuffers)};var Vn=function(r,e){Ln(r,e,"createQuery",je.queries)};var On=function(r,e){for(var t=0;t<r;t++){var n=Os.disjointTimerQueryExt.createQueryEXT();if(!n){for(je.recordError(1282);t<r;)A[e+4*t++>>2]=0;return}var o=je.getNewId(je.queries);n.name=o,je.queries[o]=n,A[e+4*t>>2]=o}};var Un=function(r,e){Ln(r,e,"createRenderbuffer",je.renderbuffers)};var Nn=function(r,e){Ln(r,e,"createSampler",je.samplers)};var Wn=function(r,e){Ln(r,e,"createTexture",je.textures)};var zn=function(r,e){Ln(r,e,"createTransformFeedback",je.transformFeedbacks)};function Gn(r,e){Ln(r,e,"createVertexArray",je.vaos)}var Hn=Gn,qn=Gn;var Qn=function(r){Os.generateMipmap(r)};function Xn(r,e,t,n,o,a,i,s){e=je.programs[e];var u=Os[r](e,t);if(u){var f=s&&we(u.name,s,n);o&&(A[o>>2]=f),a&&(A[a>>2]=u.size),i&&(A[i>>2]=u.type)}}var Yn=function(r,e,t,n,o,a,i){Xn("getActiveAttrib",r,e,t,n,o,a,i)};var Zn=function(r,e,t,n,o,a,i){Xn("getActiveUniform",r,e,t,n,o,a,i)};var Jn=function(r,e,t,n,o){r=je.programs[r];var a=Os.getActiveUniformBlockName(r,e);if(a)if(o&&t>0){var i=we(a,o,t);n&&(A[n>>2]=i)}else n&&(A[n>>2]=0)};var Kn=function(r,e,t,n){if(n)if(r=je.programs[r],35393!=t){var o=Os.getActiveUniformBlockParameter(r,e,t);if(null!==o)if(35395==t)for(var a=0;a<o.length;a++)A[n+4*a>>2]=o[a];else A[n>>2]=o}else{var i=Os.getActiveUniformBlockName(r,e);A[n>>2]=i.length+1}else je.recordError(1281)};var ro=function(r,e,t,n,o){if(o)if(e>0&&0==t)je.recordError(1281);else{r=je.programs[r];for(var a=[],i=0;i<e;i++)a.push(A[t+4*i>>2]);var s=Os.getActiveUniforms(r,a,n);if(s){var u=s.length;for(i=0;i<u;i++)A[o+4*i>>2]=s[i]}}else je.recordError(1281)};var eo=function(r,e,t,n){var o=Os.getAttachedShaders(je.programs[r]),a=o.length;a>e&&(a=e),A[t>>2]=a;for(var i=0;i<a;++i){var s=je.shaders.indexOf(o[i]);A[n+4*i>>2]=s}};var to=function(r,e){return Os.getAttribLocation(je.programs[r],ke(e))};function no(r,e){T[r>>2]=e,T[r+4>>2]=(e-T[r>>2])/4294967296}function oo(r,e,t){if(e){var n=void 0;switch(r){case 36346:n=1;break;case 36344:return void(0!=t&&1!=t&&je.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var o=Os.getParameter(34467);n=o?o.length:0;break;case 33309:if(je.currentContext.version<2)return void je.recordError(1282);n=2*(Os.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(je.currentContext.version<2)return void je.recordError(1280);n=33307==r?3:0}if(void 0===n){var a=Os.getParameter(r);switch(typeof a){case"number":n=a;break;case"boolean":n=a?1:0;break;case"string":return void je.recordError(1280);case"object":if(null===a)switch(r){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void je.recordError(1280)}else{if(a instanceof Float32Array||a instanceof Uint32Array||a instanceof Int32Array||a instanceof Array){for(var i=0;i<a.length;++i)switch(t){case 0:A[e+4*i>>2]=a[i];break;case 2:B[e+4*i>>2]=a[i];break;case 4:_[e+i|0]=a[i]?1:0}return}try{n=0|a.name}catch(e){return je.recordError(1280),void w("GL_INVALID_ENUM in glGet"+t+"v: Unknown object returned from WebGL getParameter("+r+")! (error: "+e+")")}}break;default:return je.recordError(1280),void w("GL_INVALID_ENUM in glGet"+t+"v: Native code calling glGet"+t+"v("+r+") and it returns "+a+" of type "+typeof a+"!")}}switch(t){case 1:no(e,n);break;case 0:A[e>>2]=n;break;case 2:B[e>>2]=n;break;case 4:_[e|0]=n?1:0}}else je.recordError(1281)}var ao=function(r,e){oo(r,e,4)};var io=function(r,e,t){t?no(t,Os.getBufferParameter(r,e)):je.recordError(1281)};var so=function(r,e,t){t?A[t>>2]=Os.getBufferParameter(r,e):je.recordError(1281)};var uo=function(r,e,t){if(35005==e){var n=0,o=je.mappedBuffers[Bn(r)];o&&(n=o.mem),A[t>>2]=n}else je.recordError(1280),w("GL_INVALID_ENUM in glGetBufferPointerv")};var fo=function(){var r=Os.getError()||je.lastError;return je.lastError=0,r};var co=function(r,e){oo(r,e,2)};var lo=function(r,e){return Os.getFragDataLocation(je.programs[r],ke(e))};var mo=function(r,e,t,n){var o=Os.getFramebufferAttachmentParameter(r,e,t);(o instanceof WebGLRenderbuffer||o instanceof WebGLTexture)&&(o=0|o.name),A[n>>2]=o};function vo(r,e,t,n){if(t){var o,a=Os.getIndexedParameter(r,e);switch(typeof a){case"boolean":o=a?1:0;break;case"number":o=a;break;case"object":if(null===a)switch(r){case 35983:case 35368:o=0;break;default:return void je.recordError(1280)}else{if(!(a instanceof WebGLBuffer))return void je.recordError(1280);o=0|a.name}break;default:return void je.recordError(1280)}switch(n){case 1:no(t,o);break;case 0:A[t>>2]=o;break;case 2:B[t>>2]=o;break;case 4:_[t|0]=o?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+n}}else je.recordError(1281)}var po=function(r,e,t){vo(r,e,t,1)};var ho=function(r,e){oo(r,e,1)};var go=function(r,e,t){vo(r,e,t,0)};var yo=function(r,e){oo(r,e,0)};var bo=function(r,e,t,n,o){if(n<0)je.recordError(1281);else if(o){var a=Os.getInternalformatParameter(r,e,t);if(null!==a)for(var i=0;i<a.length&&i<n;++i)A[o+4*i>>2]=a[i]}else je.recordError(1281)};var wo=function(r,e,t,n,o){je.recordError(1282)};var Eo=function(r,e,t,n){var o=Os.getProgramInfoLog(je.programs[r]);null===o&&(o="(unknown error)");var a=e>0&&n?we(o,n,e):0;t&&(A[t>>2]=a)};var xo=function(r,e,t){if(t)if(r>=je.counter)je.recordError(1281);else if(r=je.programs[r],35716==e){var n=Os.getProgramInfoLog(r);null===n&&(n="(unknown error)"),A[t>>2]=n.length+1}else if(35719==e){if(!r.maxUniformLength)for(var o=0;o<Os.getProgramParameter(r,35718);++o)r.maxUniformLength=Math.max(r.maxUniformLength,Os.getActiveUniform(r,o).name.length+1);A[t>>2]=r.maxUniformLength}else if(35722==e){if(!r.maxAttributeLength)for(o=0;o<Os.getProgramParameter(r,35721);++o)r.maxAttributeLength=Math.max(r.maxAttributeLength,Os.getActiveAttrib(r,o).name.length+1);A[t>>2]=r.maxAttributeLength}else if(35381==e){if(!r.maxUniformBlockNameLength)for(o=0;o<Os.getProgramParameter(r,35382);++o)r.maxUniformBlockNameLength=Math.max(r.maxUniformBlockNameLength,Os.getActiveUniformBlockName(r,o).length+1);A[t>>2]=r.maxUniformBlockNameLength}else A[t>>2]=Os.getProgramParameter(r,e);else je.recordError(1281)};function _o(r,e,t){if(t){var n,o=je.queries[r];no(t,"boolean"==typeof(n=je.currentContext.version<2?Os.disjointTimerQueryExt.getQueryObjectEXT(o,e):Os.getQueryParameter(o,e))?n?1:0:n)}else je.recordError(1281)}var ko=_o;function Po(r,e,t){if(t){var n,o=je.queries[r],a=Os.disjointTimerQueryExt.getQueryObjectEXT(o,e);n="boolean"==typeof a?a?1:0:a,A[t>>2]=n}else je.recordError(1281)}var Co=Po,Ao=_o;var To=function(r,e,t){if(t){var n,o=je.queries[r],a=Os.getQueryParameter(o,e);n="boolean"==typeof a?a?1:0:a,A[t>>2]=n}else je.recordError(1281)},Bo=Po;var So=function(r,e,t){t?A[t>>2]=Os.getQuery(r,e):je.recordError(1281)};var $o=function(r,e,t){t?A[t>>2]=Os.disjointTimerQueryExt.getQueryEXT(r,e):je.recordError(1281)};var Do=function(r,e,t){t?A[t>>2]=Os.getRenderbufferParameter(r,e):je.recordError(1281)};var Fo=function(r,e,t){t?B[t>>2]=Os.getSamplerParameter(je.samplers[r],e):je.recordError(1281)};var Mo=function(r,e,t){t?A[t>>2]=Os.getSamplerParameter(je.samplers[r],e):je.recordError(1281)};var Io=function(r,e,t,n){var o=Os.getShaderInfoLog(je.shaders[r]);null===o&&(o="(unknown error)");var a=e>0&&n?we(o,n,e):0;t&&(A[t>>2]=a)};var Lo=function(r,e,t,n){var o=Os.getShaderPrecisionFormat(r,e);A[t>>2]=o.rangeMin,A[t+4>>2]=o.rangeMax,A[n>>2]=o.precision};var jo=function(r,e,t,n){var o=Os.getShaderSource(je.shaders[r]);if(o){var a=e>0&&n?we(o,n,e):0;t&&(A[t>>2]=a)}};var Ro=function(r,e,t){if(t)if(35716==e){var n=Os.getShaderInfoLog(je.shaders[r]);null===n&&(n="(unknown error)");var o=n?n.length+1:0;A[t>>2]=o}else if(35720==e){var a=Os.getShaderSource(je.shaders[r]),i=a?a.length+1:0;A[t>>2]=i}else A[t>>2]=Os.getShaderParameter(je.shaders[r],e);else je.recordError(1281)};function Vo(r){var e=Ee(r)+1,t=Ks(e);return t&&we(r,t,e),t}var Oo=function(r){var e=je.stringCache[r];if(!e){switch(r){case 7939:var t=Os.getSupportedExtensions()||[];e=Vo((t=t.concat(t.map((function(r){return"GL_"+r})))).join(" "));break;case 7936:case 7937:case 37445:case 37446:var n=Os.getParameter(r);n||je.recordError(1280),e=n&&Vo(n);break;case 7938:var o=Os.getParameter(7938);e=Vo(o=je.currentContext.version>=2?"OpenGL ES 3.0 ("+o+")":"OpenGL ES 2.0 ("+o+")");break;case 35724:var a=Os.getParameter(35724),i=a.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==i&&(3==i[1].length&&(i[1]=i[1]+"0"),a="OpenGL ES GLSL ES "+i[1]+" ("+a+")"),e=Vo(a);break;default:je.recordError(1280)}je.stringCache[r]=e}return e};var Uo=function(r,e){if(je.currentContext.version<2)return je.recordError(1282),0;var t=je.stringiCache[r];if(t)return e<0||e>=t.length?(je.recordError(1281),0):t[e];if(7939===r){var n=Os.getSupportedExtensions()||[];return n=(n=n.concat(n.map((function(r){return"GL_"+r})))).map((function(r){return Vo(r)})),t=je.stringiCache[r]=n,e<0||e>=t.length?(je.recordError(1281),0):t[e]}return je.recordError(1280),0};var No=function(r,e,t,n,o){if(t<0)je.recordError(1281);else if(o){var a=Os.getSyncParameter(je.syncs[r],e);null!==a&&(A[o>>2]=a,n&&(A[n>>2]=1))}else je.recordError(1281)};var Wo=function(r,e,t){t?B[t>>2]=Os.getTexParameter(r,e):je.recordError(1281)};var zo=function(r,e,t){t?A[t>>2]=Os.getTexParameter(r,e):je.recordError(1281)};var Go=function(r,e,t,n,o,a,i){r=je.programs[r];var s=Os.getTransformFeedbackVarying(r,e);if(s){if(i&&t>0){var u=we(s.name,i,t);n&&(A[n>>2]=u)}else n&&(A[n>>2]=0);o&&(A[o>>2]=s.size),a&&(A[a>>2]=s.type)}};var Ho=function(r,e){return Os.getUniformBlockIndex(je.programs[r],ke(e))};var qo=function(r,e,t,n){if(n)if(e>0&&(0==t||0==n))je.recordError(1281);else{r=je.programs[r];for(var o=[],a=0;a<e;a++)o.push(ke(A[t+4*a>>2]));var i=Os.getUniformIndices(r,o);if(i){var s=i.length;for(a=0;a<s;a++)A[n+4*a>>2]=i[a]}}else je.recordError(1281)};function Qo(r){return"]"==r.slice(-1)&&r.lastIndexOf("[")}function Xo(r){var e,t,n=r.uniformLocsById,o=r.uniformSizeAndIdsByName;if(!n)for(r.uniformLocsById=n={},r.uniformArrayNamesById={},e=0;e<Os.getProgramParameter(r,35718);++e){var a=Os.getActiveUniform(r,e),i=a.name,s=a.size,u=Qo(i),f=u>0?i.slice(0,u):i,c=r.uniformIdCounter;for(r.uniformIdCounter+=s,o[f]=[s,c],t=0;t<s;++t)n[c]=t,r.uniformArrayNamesById[c++]=f}}var Yo=function(r,e){if(e=ke(e),r=je.programs[r]){Xo(r);var t=r.uniformLocsById,n=0,o=e,a=Qo(e);a>0&&(s=e.slice(a+1),n=parseInt(s)>>>0,o=e.slice(0,a));var i=r.uniformSizeAndIdsByName[o];if(i&&n<i[0]&&(t[n+=i[1]]=t[n]||Os.getUniformLocation(r,e)))return n}else je.recordError(1281);var s;return-1};function Zo(r){var e=Os.currentProgram;if(e){var t=e.uniformLocsById[r];return"number"==typeof t&&(e.uniformLocsById[r]=t=Os.getUniformLocation(e,e.uniformArrayNamesById[r]+(t>0?"["+t+"]":""))),t}je.recordError(1282)}function Jo(r,e,t,n){if(t){Xo(r=je.programs[r]);var o=Os.getUniform(r,Zo(e));if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:A[t>>2]=o;break;case 2:B[t>>2]=o}else for(var a=0;a<o.length;a++)switch(n){case 0:A[t+4*a>>2]=o[a];break;case 2:B[t+4*a>>2]=o[a]}}else je.recordError(1281)}var Ko=function(r,e,t){Jo(r,e,t,2)};var ra=function(r,e,t){Jo(r,e,t,0)};var ea=function(r,e,t){Jo(r,e,t,0)};function ta(r,e,t,n){if(t){je.currentContext.clientBuffers[r].enabled&&w("glGetVertexAttrib*v on client-side array: not supported, bad data returned");var o=Os.getVertexAttrib(r,e);if(34975==e)A[t>>2]=o&&o.name;else if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:A[t>>2]=o;break;case 2:B[t>>2]=o;break;case 5:A[t>>2]=Math.fround(o)}else for(var a=0;a<o.length;a++)switch(n){case 0:A[t+4*a>>2]=o[a];break;case 2:B[t+4*a>>2]=o[a];break;case 5:A[t+4*a>>2]=Math.fround(o[a])}}else je.recordError(1281)}function na(r,e,t){ta(r,e,t,0)}var oa=na,aa=na;var ia=function(r,e,t){t?(je.currentContext.clientBuffers[r].enabled&&w("glGetVertexAttribPointer on client-side array: not supported, bad data returned"),A[t>>2]=Os.getVertexAttribOffset(r,e)):je.recordError(1281)};var sa=function(r,e,t){ta(r,e,t,2)};var ua=function(r,e,t){ta(r,e,t,5)};var fa=function(r,e){Os.hint(r,e)};var ca=function(r,e,t){for(var n=sn[e],o=0;o<e;o++)n[o]=A[t+4*o>>2];Os.invalidateFramebuffer(r,n)};var la=function(r,e,t,n,o,a,i){for(var s=sn[e],u=0;u<e;u++)s[u]=A[t+4*u>>2];Os.invalidateSubFramebuffer(r,s,n,o,a,i)};var da=function(r){var e=je.buffers[r];return e?Os.isBuffer(e):0};var ma=function(r){return Os.isEnabled(r)};var va=function(r){var e=je.framebuffers[r];return e?Os.isFramebuffer(e):0};var pa=function(r){return(r=je.programs[r])?Os.isProgram(r):0};var ha=function(r){var e=je.queries[r];return e?Os.isQuery(e):0};var ga=function(r){var e=je.queries[r];return e?Os.disjointTimerQueryExt.isQueryEXT(e):0};var ya=function(r){var e=je.renderbuffers[r];return e?Os.isRenderbuffer(e):0};var ba=function(r){var e=je.samplers[r];return e?Os.isSampler(e):0};var wa=function(r){var e=je.shaders[r];return e?Os.isShader(e):0};var Ea=function(r){return Os.isSync(je.syncs[r])};var xa=function(r){var e=je.textures[r];return e?Os.isTexture(e):0};var _a=function(r){return Os.isTransformFeedback(je.transformFeedbacks[r])};function ka(r){var e=je.vaos[r];return e?Os.isVertexArray(e):0}var Pa=ka,Ca=ka;var Aa=function(r){Os.lineWidth(r)};var Ta=function(r){r=je.programs[r],Os.linkProgram(r),r.uniformLocsById=0,r.uniformSizeAndIdsByName={}};var Ba=function(r,e,t,n){if(33&n)return w("glMapBufferRange access does not support MAP_READ or MAP_UNSYNCHRONIZED"),0;if(!(2&n))return w("glMapBufferRange access must include MAP_WRITE"),0;if(!(12&n))return w("glMapBufferRange access must include INVALIDATE_BUFFER or INVALIDATE_RANGE"),0;if(!Sn(r))return je.recordError(1280),w("GL_INVALID_ENUM in glMapBufferRange"),0;var o=Ks(t);return o?(je.mappedBuffers[Bn(r)]={offset:e,length:t,mem:o,access:n},o):0};var Sa=function(){Os.pauseTransformFeedback()};var $a=function(r,e){3317==r&&(je.unpackAlignment=e),Os.pixelStorei(r,e)};var Da=function(r,e){Os.polygonOffset(r,e)};var Fa=function(r,e,t,n){je.recordError(1280)};var Ma=function(r,e,t){je.recordError(1280)};var Ia=function(r,e){Os.disjointTimerQueryExt.queryCounterEXT(je.queries[r],e)};var La=function(r){Os.readBuffer(r)};function ja(r){return 0==(r-=5120)?_:1==r?k:2==r?P:4==r?A:6==r?B:5==r||28922==r||28520==r||30779==r||30782==r?T:C}function Ra(r){return 31-Math.clz32(r.BYTES_PER_ELEMENT)}function Va(r,e,t,n,o,a){var i=ja(r),s=Ra(i),u=1<<s,f=function(r){return{5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[r-6402]||1}(e)*u,c=function(r,e,t,n){var o;return e*(r*t+(o=n)-1&-o)}(t,n,f,je.unpackAlignment);return i.subarray(o>>s,o+c>>s)}var Oa=function(r,e,t,n,o,a,i){if(je.currentContext.version>=2)if(Os.currentPixelPackBufferBinding)Os.readPixels(r,e,t,n,o,a,i);else{var s=ja(a);Os.readPixels(r,e,t,n,o,a,s,i>>Ra(s))}else{var u=Va(a,o,t,n,i);u?Os.readPixels(r,e,t,n,o,a,u):je.recordError(1280)}};var Ua=function(){};var Na=function(r,e,t,n){Os.renderbufferStorage(r,e,t,n)};var Wa=function(r,e,t,n,o){Os.renderbufferStorageMultisample(r,e,t,n,o)};var za=function(){Os.resumeTransformFeedback()};var Ga=function(r,e){Os.sampleCoverage(r,!!e)};var Ha=function(r,e,t){Os.samplerParameterf(je.samplers[r],e,t)};var qa=function(r,e,t){var n=B[t>>2];Os.samplerParameterf(je.samplers[r],e,n)};var Qa=function(r,e,t){Os.samplerParameteri(je.samplers[r],e,t)};var Xa=function(r,e,t){var n=A[t>>2];Os.samplerParameteri(je.samplers[r],e,n)};var Ya=function(r,e,t,n){Os.scissor(r,e,t,n)};var Za=function(r,e,t,n,o){je.recordError(1280)};var Ja=function(r,e,t,n){var o=je.getSource(r,e,t,n);Os.shaderSource(je.shaders[r],o)};var Ka=function(r,e,t){Os.stencilFunc(r,e,t)};var ri=function(r,e,t,n){Os.stencilFuncSeparate(r,e,t,n)};var ei=function(r){Os.stencilMask(r)};var ti=function(r,e){Os.stencilMaskSeparate(r,e)};var ni=function(r,e,t){Os.stencilOp(r,e,t)};var oi=function(r,e,t,n){Os.stencilOpSeparate(r,e,t,n)};var ai=function(r,e,t,n,o,a,i,s,u){if(je.currentContext.version>=2)if(Os.currentPixelUnpackBufferBinding)Os.texImage2D(r,e,t,n,o,a,i,s,u);else if(u){var f=ja(s);Os.texImage2D(r,e,t,n,o,a,i,s,f,u>>Ra(f))}else Os.texImage2D(r,e,t,n,o,a,i,s,null);else Os.texImage2D(r,e,t,n,o,a,i,s,u?Va(s,i,n,o,u):null)};var ii=function(r,e,t,n,o,a,i,s,u,f){if(Os.currentPixelUnpackBufferBinding)Os.texImage3D(r,e,t,n,o,a,i,s,u,f);else if(f){var c=ja(u);Os.texImage3D(r,e,t,n,o,a,i,s,u,c,f>>Ra(c))}else Os.texImage3D(r,e,t,n,o,a,i,s,u,null)};var si=function(r,e,t){Os.texParameterf(r,e,t)};var ui=function(r,e,t){var n=B[t>>2];Os.texParameterf(r,e,n)};var fi=function(r,e,t){Os.texParameteri(r,e,t)};var ci=function(r,e,t){var n=A[t>>2];Os.texParameteri(r,e,n)};var li=function(r,e,t,n,o){Os.texStorage2D(r,e,t,n,o)};var di=function(r,e,t,n,o,a){Os.texStorage3D(r,e,t,n,o,a)};var mi=function(r,e,t,n,o,a,i,s,u){if(je.currentContext.version>=2)if(Os.currentPixelUnpackBufferBinding)Os.texSubImage2D(r,e,t,n,o,a,i,s,u);else if(u){var f=ja(s);Os.texSubImage2D(r,e,t,n,o,a,i,s,f,u>>Ra(f))}else Os.texSubImage2D(r,e,t,n,o,a,i,s,null);else{var c=null;u&&(c=Va(s,i,o,a,u)),Os.texSubImage2D(r,e,t,n,o,a,i,s,c)}};var vi=function(r,e,t,n,o,a,i,s,u,f,c){if(Os.currentPixelUnpackBufferBinding)Os.texSubImage3D(r,e,t,n,o,a,i,s,u,f,c);else if(c){var l=ja(f);Os.texSubImage3D(r,e,t,n,o,a,i,s,u,f,l,c>>Ra(l))}else Os.texSubImage3D(r,e,t,n,o,a,i,s,u,f,null)};var pi=function(r,e,t,n){r=je.programs[r];for(var o=[],a=0;a<e;a++)o.push(ke(A[t+4*a>>2]));Os.transformFeedbackVaryings(r,o,n)};var hi=function(r,e){Os.uniform1f(Zo(r),e)},gi=[];var yi=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform1fv(Zo(r),B,t>>2,e);else{if(e<=288)for(var n=gi[e-1],o=0;o<e;++o)n[o]=B[t+4*o>>2];else n=B.subarray(t>>2,t+4*e>>2);Os.uniform1fv(Zo(r),n)}};var bi=function(r,e){Os.uniform1i(Zo(r),e)},wi=[];var Ei=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform1iv(Zo(r),A,t>>2,e);else{if(e<=288)for(var n=wi[e-1],o=0;o<e;++o)n[o]=A[t+4*o>>2];else n=A.subarray(t>>2,t+4*e>>2);Os.uniform1iv(Zo(r),n)}};var xi=function(r,e){Os.uniform1ui(Zo(r),e)};var _i=function(r,e,t){e&&Os.uniform1uiv(Zo(r),T,t>>2,e)};var ki=function(r,e,t){Os.uniform2f(Zo(r),e,t)};var Pi=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform2fv(Zo(r),B,t>>2,2*e);else{if(e<=144)for(var n=gi[2*e-1],o=0;o<2*e;o+=2)n[o]=B[t+4*o>>2],n[o+1]=B[t+(4*o+4)>>2];else n=B.subarray(t>>2,t+8*e>>2);Os.uniform2fv(Zo(r),n)}};var Ci=function(r,e,t){Os.uniform2i(Zo(r),e,t)};var Ai=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform2iv(Zo(r),A,t>>2,2*e);else{if(e<=144)for(var n=wi[2*e-1],o=0;o<2*e;o+=2)n[o]=A[t+4*o>>2],n[o+1]=A[t+(4*o+4)>>2];else n=A.subarray(t>>2,t+8*e>>2);Os.uniform2iv(Zo(r),n)}};var Ti=function(r,e,t){Os.uniform2ui(Zo(r),e,t)};var Bi=function(r,e,t){e&&Os.uniform2uiv(Zo(r),T,t>>2,2*e)};var Si=function(r,e,t,n){Os.uniform3f(Zo(r),e,t,n)};var $i=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform3fv(Zo(r),B,t>>2,3*e);else{if(e<=96)for(var n=gi[3*e-1],o=0;o<3*e;o+=3)n[o]=B[t+4*o>>2],n[o+1]=B[t+(4*o+4)>>2],n[o+2]=B[t+(4*o+8)>>2];else n=B.subarray(t>>2,t+12*e>>2);Os.uniform3fv(Zo(r),n)}};var Di=function(r,e,t,n){Os.uniform3i(Zo(r),e,t,n)};var Fi=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform3iv(Zo(r),A,t>>2,3*e);else{if(e<=96)for(var n=wi[3*e-1],o=0;o<3*e;o+=3)n[o]=A[t+4*o>>2],n[o+1]=A[t+(4*o+4)>>2],n[o+2]=A[t+(4*o+8)>>2];else n=A.subarray(t>>2,t+12*e>>2);Os.uniform3iv(Zo(r),n)}};var Mi=function(r,e,t,n){Os.uniform3ui(Zo(r),e,t,n)};var Ii=function(r,e,t){e&&Os.uniform3uiv(Zo(r),T,t>>2,3*e)};var Li=function(r,e,t,n,o){Os.uniform4f(Zo(r),e,t,n,o)};var ji=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform4fv(Zo(r),B,t>>2,4*e);else{if(e<=72){var n=gi[4*e-1],o=B;t>>=2;for(var a=0;a<4*e;a+=4){var i=t+a;n[a]=o[i],n[a+1]=o[i+1],n[a+2]=o[i+2],n[a+3]=o[i+3]}}else n=B.subarray(t>>2,t+16*e>>2);Os.uniform4fv(Zo(r),n)}};var Ri=function(r,e,t,n,o){Os.uniform4i(Zo(r),e,t,n,o)};var Vi=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform4iv(Zo(r),A,t>>2,4*e);else{if(e<=72)for(var n=wi[4*e-1],o=0;o<4*e;o+=4)n[o]=A[t+4*o>>2],n[o+1]=A[t+(4*o+4)>>2],n[o+2]=A[t+(4*o+8)>>2],n[o+3]=A[t+(4*o+12)>>2];else n=A.subarray(t>>2,t+16*e>>2);Os.uniform4iv(Zo(r),n)}};var Oi=function(r,e,t,n,o){Os.uniform4ui(Zo(r),e,t,n,o)};var Ui=function(r,e,t){e&&Os.uniform4uiv(Zo(r),T,t>>2,4*e)};var Ni=function(r,e,t){r=je.programs[r],Os.uniformBlockBinding(r,e,t)};var Wi=function(r,e,t,n){if(je.currentContext.version>=2)e&&Os.uniformMatrix2fv(Zo(r),!!t,B,n>>2,4*e);else{if(e<=72)for(var o=gi[4*e-1],a=0;a<4*e;a+=4)o[a]=B[n+4*a>>2],o[a+1]=B[n+(4*a+4)>>2],o[a+2]=B[n+(4*a+8)>>2],o[a+3]=B[n+(4*a+12)>>2];else o=B.subarray(n>>2,n+16*e>>2);Os.uniformMatrix2fv(Zo(r),!!t,o)}};var zi=function(r,e,t,n){e&&Os.uniformMatrix2x3fv(Zo(r),!!t,B,n>>2,6*e)};var Gi=function(r,e,t,n){e&&Os.uniformMatrix2x4fv(Zo(r),!!t,B,n>>2,8*e)};var Hi=function(r,e,t,n){if(je.currentContext.version>=2)e&&Os.uniformMatrix3fv(Zo(r),!!t,B,n>>2,9*e);else{if(e<=32)for(var o=gi[9*e-1],a=0;a<9*e;a+=9)o[a]=B[n+4*a>>2],o[a+1]=B[n+(4*a+4)>>2],o[a+2]=B[n+(4*a+8)>>2],o[a+3]=B[n+(4*a+12)>>2],o[a+4]=B[n+(4*a+16)>>2],o[a+5]=B[n+(4*a+20)>>2],o[a+6]=B[n+(4*a+24)>>2],o[a+7]=B[n+(4*a+28)>>2],o[a+8]=B[n+(4*a+32)>>2];else o=B.subarray(n>>2,n+36*e>>2);Os.uniformMatrix3fv(Zo(r),!!t,o)}};var qi=function(r,e,t,n){e&&Os.uniformMatrix3x2fv(Zo(r),!!t,B,n>>2,6*e)};var Qi=function(r,e,t,n){e&&Os.uniformMatrix3x4fv(Zo(r),!!t,B,n>>2,12*e)};var Xi=function(r,e,t,n){if(je.currentContext.version>=2)e&&Os.uniformMatrix4fv(Zo(r),!!t,B,n>>2,16*e);else{if(e<=18){var o=gi[16*e-1],a=B;n>>=2;for(var i=0;i<16*e;i+=16){var s=n+i;o[i]=a[s],o[i+1]=a[s+1],o[i+2]=a[s+2],o[i+3]=a[s+3],o[i+4]=a[s+4],o[i+5]=a[s+5],o[i+6]=a[s+6],o[i+7]=a[s+7],o[i+8]=a[s+8],o[i+9]=a[s+9],o[i+10]=a[s+10],o[i+11]=a[s+11],o[i+12]=a[s+12],o[i+13]=a[s+13],o[i+14]=a[s+14],o[i+15]=a[s+15]}}else o=B.subarray(n>>2,n+64*e>>2);Os.uniformMatrix4fv(Zo(r),!!t,o)}};var Yi=function(r,e,t,n){e&&Os.uniformMatrix4x2fv(Zo(r),!!t,B,n>>2,8*e)};var Zi=function(r,e,t,n){e&&Os.uniformMatrix4x3fv(Zo(r),!!t,B,n>>2,12*e)};var Ji=function(r){if(!Sn(r))return je.recordError(1280),w("GL_INVALID_ENUM in glUnmapBuffer"),0;var e=Bn(r),t=je.mappedBuffers[e];return t?(je.mappedBuffers[e]=null,16&t.access||(je.currentContext.version>=2?Os.bufferSubData(r,t.offset,k,t.mem,t.length):Os.bufferSubData(r,t.offset,k.subarray(t.mem,t.mem+t.length))),Js(t.mem),1):(je.recordError(1282),w("buffer was never mapped in glUnmapBuffer"),0)};var Ki=function(r){r=je.programs[r],Os.useProgram(r),Os.currentProgram=r};var rs=function(r){Os.validateProgram(je.programs[r])};var es=function(r,e){Os.vertexAttrib1f(r,e)};var ts=function(r,e){Os.vertexAttrib1f(r,B[e>>2])};var ns=function(r,e,t){Os.vertexAttrib2f(r,e,t)};var os=function(r,e){Os.vertexAttrib2f(r,B[e>>2],B[e+4>>2])};var as=function(r,e,t,n){Os.vertexAttrib3f(r,e,t,n)};var is=function(r,e){Os.vertexAttrib3f(r,B[e>>2],B[e+4>>2],B[e+8>>2])};var ss=function(r,e,t,n,o){Os.vertexAttrib4f(r,e,t,n,o)};var us=function(r,e){Os.vertexAttrib4f(r,B[e>>2],B[e+4>>2],B[e+8>>2],B[e+12>>2])};function fs(r,e){Os.vertexAttribDivisor(r,e)}var cs=fs,ls=fs,ds=fs,ms=fs,vs=fs;var ps=function(r,e,t,n,o){Os.vertexAttribI4i(r,e,t,n,o)};var hs=function(r,e){Os.vertexAttribI4i(r,A[e>>2],A[e+4>>2],A[e+8>>2],A[e+12>>2])};var gs=function(r,e,t,n,o){Os.vertexAttribI4ui(r,e,t,n,o)};var ys=function(r,e){Os.vertexAttribI4ui(r,T[e>>2],T[e+4>>2],T[e+8>>2],T[e+12>>2])};var bs=function(r,e,t,n,o){var a=je.currentContext.clientBuffers[r];if(!Os.currentArrayBufferBinding)return a.size=e,a.type=t,a.normalized=!1,a.stride=n,a.ptr=o,a.clientside=!0,void(a.vertexAttribPointerAdaptor=function(r,e,t,n,o,a){this.vertexAttribIPointer(r,e,t,o,a)});a.clientside=!1,Os.vertexAttribIPointer(r,e,t,n,o)};var ws=function(r,e,t,n,o,a){var i=je.currentContext.clientBuffers[r];if(!Os.currentArrayBufferBinding)return i.size=e,i.type=t,i.normalized=n,i.stride=o,i.ptr=a,i.clientside=!0,void(i.vertexAttribPointerAdaptor=function(r,e,t,n,o,a){this.vertexAttribPointer(r,e,t,n,o,a)});i.clientside=!1,Os.vertexAttribPointer(r,e,t,!!n,o,a)};var Es=function(r,e,t,n){Os.viewport(r,e,t,n)};var xs=function(r,e,t,n){var o=yt(t,n);Os.waitSync(je.syncs[r],e,o)};function _s(r){var e=r-E.buffer.byteLength+65535>>>16;try{return E.grow(e),M(),1}catch(r){}}var ks={};function Ps(){if(!Ps.strings){var r={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",_:c||"./this.program"};for(var e in ks)void 0===ks[e]?delete r[e]:r[e]=ks[e];var t=[];for(var e in r)t.push(`${e}=${r[e]}`);Ps.strings=t}return Ps.strings}var Cs={isAbs:r=>"/"===r.charAt(0),splitPath:r=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(r).slice(1),normalizeArray:(r,e)=>{for(var t=0,n=r.length-1;n>=0;n--){var o=r[n];"."===o?r.splice(n,1):".."===o?(r.splice(n,1),t++):t&&(r.splice(n,1),t--)}if(e)for(;t;t--)r.unshift("..");return r},normalize:r=>{var e=Cs.isAbs(r),t="/"===r.substr(-1);return(r=Cs.normalizeArray(r.split("/").filter((r=>!!r)),!e).join("/"))||e||(r="."),r&&t&&(r+="/"),(e?"/":"")+r},dirname:r=>{var e=Cs.splitPath(r),t=e[0],n=e[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:r=>{if("/"===r)return"/";var e=(r=(r=Cs.normalize(r)).replace(/\/$/,"")).lastIndexOf("/");return-1===e?r:r.substr(e+1)},join:function(){var r=Array.prototype.slice.call(arguments);return Cs.normalize(r.join("/"))},join2:(r,e)=>Cs.normalize(r+"/"+e)};function As(r){return(As=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return r=>crypto.getRandomValues(r);if(v)try{var r=require("crypto");if(r.randomFillSync)return e=>r.randomFillSync(e);var e=r.randomBytes;return r=>(r.set(e(r.byteLength)),r)}catch(r){}W("initRandomDevice")}())(r)}var Ts={resolve:function(){for(var r="",e=!1,t=arguments.length-1;t>=-1&&!e;t--){var n=t>=0?arguments[t]:Is.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";r=n+"/"+r,e=Cs.isAbs(n)}return(e?"/":"")+(r=Cs.normalizeArray(r.split("/").filter((r=>!!r)),!e).join("/"))||"."},relative:(r,e)=>{function t(r){for(var e=0;e<r.length&&""===r[e];e++);for(var t=r.length-1;t>=0&&""===r[t];t--);return e>t?[]:r.slice(e,t-e+1)}r=Ts.resolve(r).substr(1),e=Ts.resolve(e).substr(1);for(var n=t(r.split("/")),o=t(e.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s<a;s++)if(n[s]!==o[s]){i=s;break}var u=[];for(s=i;s<n.length;s++)u.push("..");return(u=u.concat(o.slice(i))).join("/")}};function Bs(r,e,t){var n=t>0?t:Ee(r)+1,o=new Array(n),a=be(r,o,0,o.length);return e&&(o.length=a),o}var Ss={ttys:[],init:function(){},shutdown:function(){},register:function(r,e){Ss.ttys[r]={input:[],output:[],ops:e},Is.registerDevice(r,Ss.stream_ops)},stream_ops:{open:function(r){var e=Ss.ttys[r.node.rdev];if(!e)throw new Is.ErrnoError(43);r.tty=e,r.seekable=!1},close:function(r){r.tty.ops.fsync(r.tty)},fsync:function(r){r.tty.ops.fsync(r.tty)},read:function(r,e,t,n,o){if(!r.tty||!r.tty.ops.get_char)throw new Is.ErrnoError(60);for(var a=0,i=0;i<n;i++){var s;try{s=r.tty.ops.get_char(r.tty)}catch(r){throw new Is.ErrnoError(29)}if(void 0===s&&0===a)throw new Is.ErrnoError(6);if(null==s)break;a++,e[t+i]=s}return a&&(r.node.timestamp=Date.now()),a},write:function(r,e,t,n,o){if(!r.tty||!r.tty.ops.put_char)throw new Is.ErrnoError(60);try{for(var a=0;a<n;a++)r.tty.ops.put_char(r.tty,e[t+a])}catch(r){throw new Is.ErrnoError(29)}return n&&(r.node.timestamp=Date.now()),a}},default_tty_ops:{get_char:function(r){if(!r.input.length){var e=null;if(v){var t=Buffer.alloc(256),n=0;try{n=h.readSync(o.stdin.fd,t,0,256,-1)}catch(r){if(!r.toString().includes("EOF"))throw r;n=0}e=n>0?t.slice(0,n).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;r.input=Bs(e,!0)}return r.input.shift()},put_char:function(r,e){null===e||10===e?(b(_e(r.output,0)),r.output=[]):0!=e&&r.output.push(e)},fsync:function(r){r.output&&r.output.length>0&&(b(_e(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,e){null===e||10===e?(w(_e(r.output,0)),r.output=[]):0!=e&&r.output.push(e)},fsync:function(r){r.output&&r.output.length>0&&(w(_e(r.output,0)),r.output=[])}}};function $s(r){W()}var Ds={ops_table:null,mount:function(r){return Ds.createNode(null,"/",16895,0)},createNode:function(r,e,t,n){if(Is.isBlkdev(t)||Is.isFIFO(t))throw new Is.ErrnoError(63);Ds.ops_table||(Ds.ops_table={dir:{node:{getattr:Ds.node_ops.getattr,setattr:Ds.node_ops.setattr,lookup:Ds.node_ops.lookup,mknod:Ds.node_ops.mknod,rename:Ds.node_ops.rename,unlink:Ds.node_ops.unlink,rmdir:Ds.node_ops.rmdir,readdir:Ds.node_ops.readdir,symlink:Ds.node_ops.symlink},stream:{llseek:Ds.stream_ops.llseek}},file:{node:{getattr:Ds.node_ops.getattr,setattr:Ds.node_ops.setattr},stream:{llseek:Ds.stream_ops.llseek,read:Ds.stream_ops.read,write:Ds.stream_ops.write,allocate:Ds.stream_ops.allocate,mmap:Ds.stream_ops.mmap,msync:Ds.stream_ops.msync}},link:{node:{getattr:Ds.node_ops.getattr,setattr:Ds.node_ops.setattr,readlink:Ds.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ds.node_ops.getattr,setattr:Ds.node_ops.setattr},stream:Is.chrdev_stream_ops}});var o=Is.createNode(r,e,t,n);return Is.isDir(o.mode)?(o.node_ops=Ds.ops_table.dir.node,o.stream_ops=Ds.ops_table.dir.stream,o.contents={}):Is.isFile(o.mode)?(o.node_ops=Ds.ops_table.file.node,o.stream_ops=Ds.ops_table.file.stream,o.usedBytes=0,o.contents=null):Is.isLink(o.mode)?(o.node_ops=Ds.ops_table.link.node,o.stream_ops=Ds.ops_table.link.stream):Is.isChrdev(o.mode)&&(o.node_ops=Ds.ops_table.chrdev.node,o.stream_ops=Ds.ops_table.chrdev.stream),o.timestamp=Date.now(),r&&(r.contents[e]=o,r.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(r){return r.contents?r.contents.subarray?r.contents.subarray(0,r.usedBytes):new Uint8Array(r.contents):new Uint8Array(0)},expandFileStorage:function(r,e){var t=r.contents?r.contents.length:0;if(!(t>=e)){e=Math.max(e,t*(t<1048576?2:1.125)>>>0),0!=t&&(e=Math.max(e,256));var n=r.contents;r.contents=new Uint8Array(e),r.usedBytes>0&&r.contents.set(n.subarray(0,r.usedBytes),0)}},resizeFileStorage:function(r,e){if(r.usedBytes!=e)if(0==e)r.contents=null,r.usedBytes=0;else{var t=r.contents;r.contents=new Uint8Array(e),t&&r.contents.set(t.subarray(0,Math.min(e,r.usedBytes))),r.usedBytes=e}},node_ops:{getattr:function(r){var e={};return e.dev=Is.isChrdev(r.mode)?r.id:1,e.ino=r.id,e.mode=r.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=r.rdev,Is.isDir(r.mode)?e.size=4096:Is.isFile(r.mode)?e.size=r.usedBytes:Is.isLink(r.mode)?e.size=r.link.length:e.size=0,e.atime=new Date(r.timestamp),e.mtime=new Date(r.timestamp),e.ctime=new Date(r.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(r,e){void 0!==e.mode&&(r.mode=e.mode),void 0!==e.timestamp&&(r.timestamp=e.timestamp),void 0!==e.size&&Ds.resizeFileStorage(r,e.size)},lookup:function(r,e){throw Is.genericErrors[44]},mknod:function(r,e,t,n){return Ds.createNode(r,e,t,n)},rename:function(r,e,t){if(Is.isDir(r.mode)){var n;try{n=Is.lookupNode(e,t)}catch(r){}if(n)for(var o in n.contents)throw new Is.ErrnoError(55)}delete r.parent.contents[r.name],r.parent.timestamp=Date.now(),r.name=t,e.contents[t]=r,e.timestamp=r.parent.timestamp,r.parent=e},unlink:function(r,e){delete r.contents[e],r.timestamp=Date.now()},rmdir:function(r,e){var t=Is.lookupNode(r,e);for(var n in t.contents)throw new Is.ErrnoError(55);delete r.contents[e],r.timestamp=Date.now()},readdir:function(r){var e=[".",".."];for(var t in r.contents)r.contents.hasOwnProperty(t)&&e.push(t);return e},symlink:function(r,e,t){var n=Ds.createNode(r,e,41471,0);return n.link=t,n},readlink:function(r){if(!Is.isLink(r.mode))throw new Is.ErrnoError(28);return r.link}},stream_ops:{read:function(r,e,t,n,o){var a=r.node.contents;if(o>=r.node.usedBytes)return 0;var i=Math.min(r.node.usedBytes-o,n);if(i>8&&a.subarray)e.set(a.subarray(o,o+i),t);else for(var s=0;s<i;s++)e[t+s]=a[o+s];return i},write:function(r,e,t,n,o,a){if(e.buffer===_.buffer&&(a=!1),!n)return 0;var i=r.node;if(i.timestamp=Date.now(),e.subarray&&(!i.contents||i.contents.subarray)){if(a)return i.contents=e.subarray(t,t+n),i.usedBytes=n,n;if(0===i.usedBytes&&0===o)return i.contents=e.slice(t,t+n),i.usedBytes=n,n;if(o+n<=i.usedBytes)return i.contents.set(e.subarray(t,t+n),o),n}if(Ds.expandFileStorage(i,o+n),i.contents.subarray&&e.subarray)i.contents.set(e.subarray(t,t+n),o);else for(var s=0;s<n;s++)i.contents[o+s]=e[t+s];return i.usedBytes=Math.max(i.usedBytes,o+n),n},llseek:function(r,e,t){var n=e;if(1===t?n+=r.position:2===t&&Is.isFile(r.node.mode)&&(n+=r.node.usedBytes),n<0)throw new Is.ErrnoError(28);return n},allocate:function(r,e,t){Ds.expandFileStorage(r.node,e+t),r.node.usedBytes=Math.max(r.node.usedBytes,e+t)},mmap:function(r,e,t,n,o){if(!Is.isFile(r.node.mode))throw new Is.ErrnoError(43);var a,i,s=r.node.contents;if(2&o||s.buffer!==_.buffer){if((t>0||t+e<s.length)&&(s=s.subarray?s.subarray(t,t+e):Array.prototype.slice.call(s,t,t+e)),i=!0,!(a=$s()))throw new Is.ErrnoError(48);_.set(s,a)}else i=!1,a=s.byteOffset;return{ptr:a,allocated:i}},msync:function(r,e,t,n,o){return Ds.stream_ops.write(r,e,0,n,t,!1),0}}};var Fs=a.preloadPlugins||[];function Ms(r,e){var t=0;return r&&(t|=365),e&&(t|=146),t}var Is={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(r,e={})=>{if(!(r=Ts.resolve(r)))return{path:"",node:null};if((e=Object.assign({follow_mount:!0,recurse_count:0},e)).recurse_count>8)throw new Is.ErrnoError(32);for(var t=r.split("/").filter((r=>!!r)),n=Is.root,o="/",a=0;a<t.length;a++){var i=a===t.length-1;if(i&&e.parent)break;if(n=Is.lookupNode(n,t[a]),o=Cs.join2(o,t[a]),Is.isMountpoint(n)&&(!i||i&&e.follow_mount)&&(n=n.mounted.root),!i||e.follow)for(var s=0;Is.isLink(n.mode);){var u=Is.readlink(o);if(o=Ts.resolve(Cs.dirname(o),u),n=Is.lookupPath(o,{recurse_count:e.recurse_count+1}).node,s++>40)throw new Is.ErrnoError(32)}}return{path:o,node:n}},getPath:r=>{for(var e;;){if(Is.isRoot(r)){var t=r.mount.mountpoint;return e?"/"!==t[t.length-1]?`${t}/${e}`:t+e:t}e=e?`${r.name}/${e}`:r.name,r=r.parent}},hashName:(r,e)=>{for(var t=0,n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(r+t>>>0)%Is.nameTable.length},hashAddNode:r=>{var e=Is.hashName(r.parent.id,r.name);r.name_next=Is.nameTable[e],Is.nameTable[e]=r},hashRemoveNode:r=>{var e=Is.hashName(r.parent.id,r.name);if(Is.nameTable[e]===r)Is.nameTable[e]=r.name_next;else for(var t=Is.nameTable[e];t;){if(t.name_next===r){t.name_next=r.name_next;break}t=t.name_next}},lookupNode:(r,e)=>{var t=Is.mayLookup(r);if(t)throw new Is.ErrnoError(t,r);for(var n=Is.hashName(r.id,e),o=Is.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===r.id&&a===e)return o}return Is.lookup(r,e)},createNode:(r,e,t,n)=>{var o=new Is.FSNode(r,e,t,n);return Is.hashAddNode(o),o},destroyNode:r=>{Is.hashRemoveNode(r)},isRoot:r=>r===r.parent,isMountpoint:r=>!!r.mounted,isFile:r=>32768==(61440&r),isDir:r=>16384==(61440&r),isLink:r=>40960==(61440&r),isChrdev:r=>8192==(61440&r),isBlkdev:r=>24576==(61440&r),isFIFO:r=>4096==(61440&r),isSocket:r=>!(49152&~r),flagsToPermissionString:r=>{var e=["r","w","rw"][3&r];return 512&r&&(e+="w"),e},nodePermissions:(r,e)=>Is.ignorePermissions||(!e.includes("r")||292&r.mode)&&(!e.includes("w")||146&r.mode)&&(!e.includes("x")||73&r.mode)?0:2,mayLookup:r=>{var e=Is.nodePermissions(r,"x");return e||(r.node_ops.lookup?0:2)},mayCreate:(r,e)=>{try{Is.lookupNode(r,e);return 20}catch(r){}return Is.nodePermissions(r,"wx")},mayDelete:(r,e,t)=>{var n;try{n=Is.lookupNode(r,e)}catch(r){return r.errno}var o=Is.nodePermissions(r,"wx");if(o)return o;if(t){if(!Is.isDir(n.mode))return 54;if(Is.isRoot(n)||Is.getPath(n)===Is.cwd())return 10}else if(Is.isDir(n.mode))return 31;return 0},mayOpen:(r,e)=>r?Is.isLink(r.mode)?32:Is.isDir(r.mode)&&("r"!==Is.flagsToPermissionString(e)||512&e)?31:Is.nodePermissions(r,Is.flagsToPermissionString(e)):44,MAX_OPEN_FDS:4096,nextfd:()=>{for(var r=0;r<=Is.MAX_OPEN_FDS;r++)if(!Is.streams[r])return r;throw new Is.ErrnoError(33)},getStream:r=>Is.streams[r],createStream:(r,e=-1)=>(Is.FSStream||(Is.FSStream=function(){this.shared={}},Is.FSStream.prototype={},Object.defineProperties(Is.FSStream.prototype,{object:{get:function(){return this.node},set:function(r){this.node=r}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return!!(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(r){this.shared.flags=r}},position:{get:function(){return this.shared.position},set:function(r){this.shared.position=r}}})),r=Object.assign(new Is.FSStream,r),-1==e&&(e=Is.nextfd()),r.fd=e,Is.streams[e]=r,r),closeStream:r=>{Is.streams[r]=null},chrdev_stream_ops:{open:r=>{var e=Is.getDevice(r.node.rdev);r.stream_ops=e.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:()=>{throw new Is.ErrnoError(70)}},major:r=>r>>8,minor:r=>255&r,makedev:(r,e)=>r<<8|e,registerDevice:(r,e)=>{Is.devices[r]={stream_ops:e}},getDevice:r=>Is.devices[r],getMounts:r=>{for(var e=[],t=[r];t.length;){var n=t.pop();e.push(n),t.push.apply(t,n.mounts)}return e},syncfs:(r,e)=>{"function"==typeof r&&(e=r,r=!1),Is.syncFSRequests++,Is.syncFSRequests>1&&w(`warning: ${Is.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=Is.getMounts(Is.root.mount),n=0;function o(r){return Is.syncFSRequests--,e(r)}function a(r){if(r)return a.errored?void 0:(a.errored=!0,o(r));++n>=t.length&&o(null)}t.forEach((e=>{if(!e.type.syncfs)return a(null);e.type.syncfs(e,r,a)}))},mount:(r,e,t)=>{var n,o="/"===t,a=!t;if(o&&Is.root)throw new Is.ErrnoError(10);if(!o&&!a){var i=Is.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,Is.isMountpoint(n))throw new Is.ErrnoError(10);if(!Is.isDir(n.mode))throw new Is.ErrnoError(54)}var s={type:r,opts:e,mountpoint:t,mounts:[]},u=r.mount(s);return u.mount=s,s.root=u,o?Is.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:r=>{var e=Is.lookupPath(r,{follow_mount:!1});if(!Is.isMountpoint(e.node))throw new Is.ErrnoError(28);var t=e.node,n=t.mounted,o=Is.getMounts(n);Object.keys(Is.nameTable).forEach((r=>{for(var e=Is.nameTable[r];e;){var t=e.name_next;o.includes(e.mount)&&Is.destroyNode(e),e=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(r,e)=>r.node_ops.lookup(r,e),mknod:(r,e,t)=>{var n=Is.lookupPath(r,{parent:!0}).node,o=Cs.basename(r);if(!o||"."===o||".."===o)throw new Is.ErrnoError(28);var a=Is.mayCreate(n,o);if(a)throw new Is.ErrnoError(a);if(!n.node_ops.mknod)throw new Is.ErrnoError(63);return n.node_ops.mknod(n,o,e,t)},create:(r,e)=>(e=void 0!==e?e:438,e&=4095,e|=32768,Is.mknod(r,e,0)),mkdir:(r,e)=>(e=void 0!==e?e:511,e&=1023,e|=16384,Is.mknod(r,e,0)),mkdirTree:(r,e)=>{for(var t=r.split("/"),n="",o=0;o<t.length;++o)if(t[o]){n+="/"+t[o];try{Is.mkdir(n,e)}catch(r){if(20!=r.errno)throw r}}},mkdev:(r,e,t)=>(void 0===t&&(t=e,e=438),e|=8192,Is.mknod(r,e,t)),symlink:(r,e)=>{if(!Ts.resolve(r))throw new Is.ErrnoError(44);var t=Is.lookupPath(e,{parent:!0}).node;if(!t)throw new Is.ErrnoError(44);var n=Cs.basename(e),o=Is.mayCreate(t,n);if(o)throw new Is.ErrnoError(o);if(!t.node_ops.symlink)throw new Is.ErrnoError(63);return t.node_ops.symlink(t,n,r)},rename:(r,e)=>{var t,n,o=Cs.dirname(r),a=Cs.dirname(e),i=Cs.basename(r),s=Cs.basename(e);if(t=Is.lookupPath(r,{parent:!0}).node,n=Is.lookupPath(e,{parent:!0}).node,!t||!n)throw new Is.ErrnoError(44);if(t.mount!==n.mount)throw new Is.ErrnoError(75);var u,f=Is.lookupNode(t,i),c=Ts.relative(r,a);if("."!==c.charAt(0))throw new Is.ErrnoError(28);if("."!==(c=Ts.relative(e,o)).charAt(0))throw new Is.ErrnoError(55);try{u=Is.lookupNode(n,s)}catch(r){}if(f!==u){var l=Is.isDir(f.mode),d=Is.mayDelete(t,i,l);if(d)throw new Is.ErrnoError(d);if(d=u?Is.mayDelete(n,s,l):Is.mayCreate(n,s))throw new Is.ErrnoError(d);if(!t.node_ops.rename)throw new Is.ErrnoError(63);if(Is.isMountpoint(f)||u&&Is.isMountpoint(u))throw new Is.ErrnoError(10);if(n!==t&&(d=Is.nodePermissions(t,"w")))throw new Is.ErrnoError(d);Is.hashRemoveNode(f);try{t.node_ops.rename(f,n,s)}catch(r){throw r}finally{Is.hashAddNode(f)}}},rmdir:r=>{var e=Is.lookupPath(r,{parent:!0}).node,t=Cs.basename(r),n=Is.lookupNode(e,t),o=Is.mayDelete(e,t,!0);if(o)throw new Is.ErrnoError(o);if(!e.node_ops.rmdir)throw new Is.ErrnoError(63);if(Is.isMountpoint(n))throw new Is.ErrnoError(10);e.node_ops.rmdir(e,t),Is.destroyNode(n)},readdir:r=>{var e=Is.lookupPath(r,{follow:!0}).node;if(!e.node_ops.readdir)throw new Is.ErrnoError(54);return e.node_ops.readdir(e)},unlink:r=>{var e=Is.lookupPath(r,{parent:!0}).node;if(!e)throw new Is.ErrnoError(44);var t=Cs.basename(r),n=Is.lookupNode(e,t),o=Is.mayDelete(e,t,!1);if(o)throw new Is.ErrnoError(o);if(!e.node_ops.unlink)throw new Is.ErrnoError(63);if(Is.isMountpoint(n))throw new Is.ErrnoError(10);e.node_ops.unlink(e,t),Is.destroyNode(n)},readlink:r=>{var e=Is.lookupPath(r).node;if(!e)throw new Is.ErrnoError(44);if(!e.node_ops.readlink)throw new Is.ErrnoError(28);return Ts.resolve(Is.getPath(e.parent),e.node_ops.readlink(e))},stat:(r,e)=>{var t=Is.lookupPath(r,{follow:!e}).node;if(!t)throw new Is.ErrnoError(44);if(!t.node_ops.getattr)throw new Is.ErrnoError(63);return t.node_ops.getattr(t)},lstat:r=>Is.stat(r,!0),chmod:(r,e,t)=>{var n;"string"==typeof r?n=Is.lookupPath(r,{follow:!t}).node:n=r;if(!n.node_ops.setattr)throw new Is.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&e|-4096&n.mode,timestamp:Date.now()})},lchmod:(r,e)=>{Is.chmod(r,e,!0)},fchmod:(r,e)=>{var t=Is.getStream(r);if(!t)throw new Is.ErrnoError(8);Is.chmod(t.node,e)},chown:(r,e,t,n)=>{var o;"string"==typeof r?o=Is.lookupPath(r,{follow:!n}).node:o=r;if(!o.node_ops.setattr)throw new Is.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(r,e,t)=>{Is.chown(r,e,t,!0)},fchown:(r,e,t)=>{var n=Is.getStream(r);if(!n)throw new Is.ErrnoError(8);Is.chown(n.node,e,t)},truncate:(r,e)=>{if(e<0)throw new Is.ErrnoError(28);var t;"string"==typeof r?t=Is.lookupPath(r,{follow:!0}).node:t=r;if(!t.node_ops.setattr)throw new Is.ErrnoError(63);if(Is.isDir(t.mode))throw new Is.ErrnoError(31);if(!Is.isFile(t.mode))throw new Is.ErrnoError(28);var n=Is.nodePermissions(t,"w");if(n)throw new Is.ErrnoError(n);t.node_ops.setattr(t,{size:e,timestamp:Date.now()})},ftruncate:(r,e)=>{var t=Is.getStream(r);if(!t)throw new Is.ErrnoError(8);if(!(2097155&t.flags))throw new Is.ErrnoError(28);Is.truncate(t.node,e)},utime:(r,e,t)=>{var n=Is.lookupPath(r,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(e,t)})},open:(r,e,t)=>{if(""===r)throw new Is.ErrnoError(44);var n;if(t=void 0===t?438:t,t=64&(e="string"==typeof e?function(r){var e={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[r];if(void 0===e)throw new Error(`Unknown file open mode: ${r}`);return e}(e):e)?4095&t|32768:0,"object"==typeof r)n=r;else{r=Cs.normalize(r);try{n=Is.lookupPath(r,{follow:!(131072&e)}).node}catch(r){}}var o=!1;if(64&e)if(n){if(128&e)throw new Is.ErrnoError(20)}else n=Is.mknod(r,t,0),o=!0;if(!n)throw new Is.ErrnoError(44);if(Is.isChrdev(n.mode)&&(e&=-513),65536&e&&!Is.isDir(n.mode))throw new Is.ErrnoError(54);if(!o){var i=Is.mayOpen(n,e);if(i)throw new Is.ErrnoError(i)}512&e&&!o&&Is.truncate(n,0),e&=-131713;var s=Is.createStream({node:n,path:Is.getPath(n),flags:e,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!a.logReadFiles||1&e||(Is.readFiles||(Is.readFiles={}),r in Is.readFiles||(Is.readFiles[r]=1)),s},close:r=>{if(Is.isClosed(r))throw new Is.ErrnoError(8);r.getdents&&(r.getdents=null);try{r.stream_ops.close&&r.stream_ops.close(r)}catch(r){throw r}finally{Is.closeStream(r.fd)}r.fd=null},isClosed:r=>null===r.fd,llseek:(r,e,t)=>{if(Is.isClosed(r))throw new Is.ErrnoError(8);if(!r.seekable||!r.stream_ops.llseek)throw new Is.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Is.ErrnoError(28);return r.position=r.stream_ops.llseek(r,e,t),r.ungotten=[],r.position},read:(r,e,t,n,o)=>{if(n<0||o<0)throw new Is.ErrnoError(28);if(Is.isClosed(r))throw new Is.ErrnoError(8);if(1==(2097155&r.flags))throw new Is.ErrnoError(8);if(Is.isDir(r.node.mode))throw new Is.ErrnoError(31);if(!r.stream_ops.read)throw new Is.ErrnoError(28);var a=void 0!==o;if(a){if(!r.seekable)throw new Is.ErrnoError(70)}else o=r.position;var i=r.stream_ops.read(r,e,t,n,o);return a||(r.position+=i),i},write:(r,e,t,n,o,a)=>{if(n<0||o<0)throw new Is.ErrnoError(28);if(Is.isClosed(r))throw new Is.ErrnoError(8);if(!(2097155&r.flags))throw new Is.ErrnoError(8);if(Is.isDir(r.node.mode))throw new Is.ErrnoError(31);if(!r.stream_ops.write)throw new Is.ErrnoError(28);r.seekable&&1024&r.flags&&Is.llseek(r,0,2);var i=void 0!==o;if(i){if(!r.seekable)throw new Is.ErrnoError(70)}else o=r.position;var s=r.stream_ops.write(r,e,t,n,o,a);return i||(r.position+=s),s},allocate:(r,e,t)=>{if(Is.isClosed(r))throw new Is.ErrnoError(8);if(e<0||t<=0)throw new Is.ErrnoError(28);if(!(2097155&r.flags))throw new Is.ErrnoError(8);if(!Is.isFile(r.node.mode)&&!Is.isDir(r.node.mode))throw new Is.ErrnoError(43);if(!r.stream_ops.allocate)throw new Is.ErrnoError(138);r.stream_ops.allocate(r,e,t)},mmap:(r,e,t,n,o)=>{if(2&n&&!(2&o)&&2!=(2097155&r.flags))throw new Is.ErrnoError(2);if(1==(2097155&r.flags))throw new Is.ErrnoError(2);if(!r.stream_ops.mmap)throw new Is.ErrnoError(43);return r.stream_ops.mmap(r,e,t,n,o)},msync:(r,e,t,n,o)=>r.stream_ops.msync?r.stream_ops.msync(r,e,t,n,o):0,munmap:r=>0,ioctl:(r,e,t)=>{if(!r.stream_ops.ioctl)throw new Is.ErrnoError(59);return r.stream_ops.ioctl(r,e,t)},readFile:(r,e={})=>{if(e.flags=e.flags||0,e.encoding=e.encoding||"binary","utf8"!==e.encoding&&"binary"!==e.encoding)throw new Error(`Invalid encoding type "${e.encoding}"`);var t,n=Is.open(r,e.flags),o=Is.stat(r).size,a=new Uint8Array(o);return Is.read(n,a,0,o,0),"utf8"===e.encoding?t=_e(a,0):"binary"===e.encoding&&(t=a),Is.close(n),t},writeFile:(r,e,t={})=>{t.flags=t.flags||577;var n=Is.open(r,t.flags,t.mode);if("string"==typeof e){var o=new Uint8Array(Ee(e)+1),a=be(e,o,0,o.length);Is.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(e))throw new Error("Unsupported data type");Is.write(n,e,0,e.byteLength,void 0,t.canOwn)}Is.close(n)},cwd:()=>Is.currentPath,chdir:r=>{var e=Is.lookupPath(r,{follow:!0});if(null===e.node)throw new Is.ErrnoError(44);if(!Is.isDir(e.node.mode))throw new Is.ErrnoError(54);var t=Is.nodePermissions(e.node,"x");if(t)throw new Is.ErrnoError(t);Is.currentPath=e.path},createDefaultDirectories:()=>{Is.mkdir("/tmp"),Is.mkdir("/home"),Is.mkdir("/home/web_user")},createDefaultDevices:()=>{Is.mkdir("/dev"),Is.registerDevice(Is.makedev(1,3),{read:()=>0,write:(r,e,t,n,o)=>n}),Is.mkdev("/dev/null",Is.makedev(1,3)),Ss.register(Is.makedev(5,0),Ss.default_tty_ops),Ss.register(Is.makedev(6,0),Ss.default_tty1_ops),Is.mkdev("/dev/tty",Is.makedev(5,0)),Is.mkdev("/dev/tty1",Is.makedev(6,0));var r=new Uint8Array(1024),e=0,t=()=>(0===e&&(e=As(r).byteLength),r[--e]);Is.createDevice("/dev","random",t),Is.createDevice("/dev","urandom",t),Is.mkdir("/dev/shm"),Is.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{Is.mkdir("/proc");var r=Is.mkdir("/proc/self");Is.mkdir("/proc/self/fd"),Is.mount({mount:()=>{var e=Is.createNode(r,"fd",16895,73);return e.node_ops={lookup:(r,e)=>{var t=+e,n=Is.getStream(t);if(!n)throw new Is.ErrnoError(8);var o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},e}},{},"/proc/self/fd")},createStandardStreams:()=>{a.stdin?Is.createDevice("/dev","stdin",a.stdin):Is.symlink("/dev/tty","/dev/stdin"),a.stdout?Is.createDevice("/dev","stdout",null,a.stdout):Is.symlink("/dev/tty","/dev/stdout"),a.stderr?Is.createDevice("/dev","stderr",null,a.stderr):Is.symlink("/dev/tty1","/dev/stderr");Is.open("/dev/stdin",0),Is.open("/dev/stdout",1),Is.open("/dev/stderr",1)},ensureErrnoError:()=>{Is.ErrnoError||(Is.ErrnoError=function(r,e){this.name="ErrnoError",this.node=e,this.setErrno=function(r){this.errno=r},this.setErrno(r),this.message="FS error"},Is.ErrnoError.prototype=new Error,Is.ErrnoError.prototype.constructor=Is.ErrnoError,[44].forEach((r=>{Is.genericErrors[r]=new Is.ErrnoError(r),Is.genericErrors[r].stack="<generic error, no stack>"})))},staticInit:()=>{Is.ensureErrnoError(),Is.nameTable=new Array(4096),Is.mount(Ds,{},"/"),Is.createDefaultDirectories(),Is.createDefaultDevices(),Is.createSpecialDirectories(),Is.filesystems={MEMFS:Ds}},init:(r,e,t)=>{Is.init.initialized=!0,Is.ensureErrnoError(),a.stdin=r||a.stdin,a.stdout=e||a.stdout,a.stderr=t||a.stderr,Is.createStandardStreams()},quit:()=>{Is.init.initialized=!1;for(var r=0;r<Is.streams.length;r++){var e=Is.streams[r];e&&Is.close(e)}},findObject:(r,e)=>{var t=Is.analyzePath(r,e);return t.exists?t.object:null},analyzePath:(r,e)=>{try{r=(n=Is.lookupPath(r,{follow:!e})).path}catch(r){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Is.lookupPath(r,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=Cs.basename(r),n=Is.lookupPath(r,{follow:!e}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(r){t.error=r.errno}return t},createPath:(r,e,t,n)=>{r="string"==typeof r?r:Is.getPath(r);for(var o=e.split("/").reverse();o.length;){var a=o.pop();if(a){var i=Cs.join2(r,a);try{Is.mkdir(i)}catch(r){}r=i}}return i},createFile:(r,e,t,n,o)=>{var a=Cs.join2("string"==typeof r?r:Is.getPath(r),e),i=Ms(n,o);return Is.create(a,i)},createDataFile:(r,e,t,n,o,a)=>{var i=e;r&&(r="string"==typeof r?r:Is.getPath(r),i=e?Cs.join2(r,e):r);var s=Ms(n,o),u=Is.create(i,s);if(t){if("string"==typeof t){for(var f=new Array(t.length),c=0,l=t.length;c<l;++c)f[c]=t.charCodeAt(c);t=f}Is.chmod(u,146|s);var d=Is.open(u,577);Is.write(d,t,0,t.length,0,a),Is.close(d),Is.chmod(u,s)}return u},createDevice:(r,e,t,n)=>{var o=Cs.join2("string"==typeof r?r:Is.getPath(r),e),a=Ms(!!t,!!n);Is.createDevice.major||(Is.createDevice.major=64);var i=Is.makedev(Is.createDevice.major++,0);return Is.registerDevice(i,{open:r=>{r.seekable=!1},close:r=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(r,e,n,o,a)=>{for(var i=0,s=0;s<o;s++){var u;try{u=t()}catch(r){throw new Is.ErrnoError(29)}if(void 0===u&&0===i)throw new Is.ErrnoError(6);if(null==u)break;i++,e[n+s]=u}return i&&(r.node.timestamp=Date.now()),i},write:(r,e,t,o,a)=>{for(var i=0;i<o;i++)try{n(e[t+i])}catch(r){throw new Is.ErrnoError(29)}return o&&(r.node.timestamp=Date.now()),i}}),Is.mkdev(o,a,i)},forceLoadFile:r=>{if(r.isDevice||r.isFolder||r.link||r.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!i)throw new Error("Cannot load without read() or XMLHttpRequest.");try{r.contents=Bs(i(r.url),!0),r.usedBytes=r.contents.length}catch(r){throw new Is.ErrnoError(29)}},createLazyFile:(r,e,t,n,o)=>{function a(){this.lengthKnown=!1,this.chunks=[]}if(a.prototype.get=function(r){if(!(r>this.length-1||r<0)){var e=r%this.chunkSize,t=r/this.chunkSize|0;return this.getter(t)[e]}},a.prototype.setDataGetter=function(r){this.getter=r},a.prototype.cacheLength=function(){var r=new XMLHttpRequest;if(r.open("HEAD",t,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw new Error("Couldn't load "+t+". Status: "+r.status);var e,n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=this;s.setDataGetter((r=>{var e=r*i,o=(r+1)*i-1;if(o=Math.min(o,n-1),void 0===s.chunks[r]&&(s.chunks[r]=((r,e)=>{if(r>e)throw new Error("invalid range ("+r+", "+e+") or no bytes requested!");if(e>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+r+"-"+e),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 "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):Bs(o.responseText||"",!0)})(e,o)),void 0===s.chunks[r])throw new Error("doXHR failed!");return s.chunks[r]})),!a&&n||(i=n=1,n=this.getter(0).length,i=n,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!m)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i=new a;Object.defineProperties(i,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:i}}else s={isDevice:!1,url:t};var u=Is.createFile(r,e,s,n,o);s.contents?u.contents=s.contents:s.url&&(u.contents=null,u.url=s.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var f={};function c(r,e,t,n,o){var a=r.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s<i;s++)e[t+s]=a[o+s];else for(s=0;s<i;s++)e[t+s]=a.get(o+s);return i}return Object.keys(u.stream_ops).forEach((r=>{var e=u.stream_ops[r];f[r]=function(){return Is.forceLoadFile(u),e.apply(null,arguments)}})),f.read=(r,e,t,n,o)=>(Is.forceLoadFile(u),c(r,e,t,n,o)),f.mmap=(r,e,t,n,o)=>{Is.forceLoadFile(u);var a=$s();if(!a)throw new Is.ErrnoError(48);return c(r,_,a,e,t),{ptr:a,allocated:!0}},u.stream_ops=f,u}},Ls={DEFAULT_POLLMASK:5,calculateAt:function(r,e,t){if(Cs.isAbs(e))return e;var n;-100===r?n=Is.cwd():n=Ls.getStreamFromFD(r).path;if(0==e.length){if(!t)throw new Is.ErrnoError(44);return n}return Cs.join2(n,e)},doStat:function(r,e,t){try{var n=r(e)}catch(r){if(r&&r.node&&Cs.normalize(e)!==Cs.normalize(Is.getPath(r.node)))return-54;throw r}A[t>>2]=n.dev,A[t+8>>2]=n.ino,A[t+12>>2]=n.mode,T[t+16>>2]=n.nlink,A[t+20>>2]=n.uid,A[t+24>>2]=n.gid,A[t+28>>2]=n.rdev,q=[n.size>>>0,(H=n.size,+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[t+40>>2]=q[0],A[t+44>>2]=q[1],A[t+48>>2]=4096,A[t+52>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return q=[Math.floor(o/1e3)>>>0,(H=Math.floor(o/1e3),+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[t+56>>2]=q[0],A[t+60>>2]=q[1],T[t+64>>2]=o%1e3*1e3,q=[Math.floor(a/1e3)>>>0,(H=Math.floor(a/1e3),+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[t+72>>2]=q[0],A[t+76>>2]=q[1],T[t+80>>2]=a%1e3*1e3,q=[Math.floor(i/1e3)>>>0,(H=Math.floor(i/1e3),+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[t+88>>2]=q[0],A[t+92>>2]=q[1],T[t+96>>2]=i%1e3*1e3,q=[n.ino>>>0,(H=n.ino,+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[t+104>>2]=q[0],A[t+108>>2]=q[1],0},doMsync:function(r,e,t,n,o){if(!Is.isFile(e.node.mode))throw new Is.ErrnoError(43);if(2&n)return 0;var a=k.slice(r,r+t);Is.msync(e,a,o,t,n)},varargs:void 0,get:function(){return Ls.varargs+=4,A[Ls.varargs-4>>2]},getStr:function(r){return ke(r)},getStreamFromFD:function(r){var e=Is.getStream(r);if(!e)throw new Is.ErrnoError(8);return e}};function js(r){x||(a.onExit&&a.onExit(r),D=!0),l(r,new J(r))}var Rs=function(r,e){js(r)};function Vs(r){return r%4==0&&(r%100!=0||r%400==0)}var Os,Us=[31,29,31,30,31,30,31,31,30,31,30,31],Ns=[31,28,31,30,31,30,31,31,30,31,30,31];function Ws(r,e,t,n){var o=A[n+40>>2],a={tm_sec:A[n>>2],tm_min:A[n+4>>2],tm_hour:A[n+8>>2],tm_mday:A[n+12>>2],tm_mon:A[n+16>>2],tm_year:A[n+20>>2],tm_wday:A[n+24>>2],tm_yday:A[n+28>>2],tm_isdst:A[n+32>>2],tm_gmtoff:A[n+36>>2],tm_zone:o?ke(o):""},i=ke(t),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 u in s)i=i.replace(new RegExp(u,"g"),s[u]);var f=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function l(r,e,t){for(var n="number"==typeof r?r.toString():r||"";n.length<e;)n=t[0]+n;return n}function d(r,e){return l(r,e,"0")}function m(r,e){function t(r){return r<0?-1:r>0?1:0}var n;return 0===(n=t(r.getFullYear()-e.getFullYear()))&&0===(n=t(r.getMonth()-e.getMonth()))&&(n=t(r.getDate()-e.getDate())),n}function v(r){switch(r.getDay()){case 0:return new Date(r.getFullYear()-1,11,29);case 1:return r;case 2:return new Date(r.getFullYear(),0,3);case 3:return new Date(r.getFullYear(),0,2);case 4:return new Date(r.getFullYear(),0,1);case 5:return new Date(r.getFullYear()-1,11,31);case 6:return new Date(r.getFullYear()-1,11,30)}}function p(r){var e=function(r,e){for(var t=new Date(r.getTime());e>0;){var n=Vs(t.getFullYear()),o=t.getMonth(),a=(n?Us:Ns)[o];if(!(e>a-t.getDate()))return t.setDate(t.getDate()+e),t;e-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t}(new Date(r.tm_year+1900,0,1),r.tm_yday),t=new Date(e.getFullYear(),0,4),n=new Date(e.getFullYear()+1,0,4),o=v(t),a=v(n);return m(o,e)<=0?m(a,e)<=0?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}var h={"%a":function(r){return f[r.tm_wday].substring(0,3)},"%A":function(r){return f[r.tm_wday]},"%b":function(r){return c[r.tm_mon].substring(0,3)},"%B":function(r){return c[r.tm_mon]},"%C":function(r){return d((r.tm_year+1900)/100|0,2)},"%d":function(r){return d(r.tm_mday,2)},"%e":function(r){return l(r.tm_mday,2," ")},"%g":function(r){return p(r).toString().substring(2)},"%G":function(r){return p(r)},"%H":function(r){return d(r.tm_hour,2)},"%I":function(r){var e=r.tm_hour;return 0==e?e=12:e>12&&(e-=12),d(e,2)},"%j":function(r){return d(r.tm_mday+function(r,e){for(var t=0,n=0;n<=e;t+=r[n++]);return t}(Vs(r.tm_year+1900)?Us:Ns,r.tm_mon-1),3)},"%m":function(r){return d(r.tm_mon+1,2)},"%M":function(r){return d(r.tm_min,2)},"%n":function(){return"\n"},"%p":function(r){return r.tm_hour>=0&&r.tm_hour<12?"AM":"PM"},"%S":function(r){return d(r.tm_sec,2)},"%t":function(){return"\t"},"%u":function(r){return r.tm_wday||7},"%U":function(r){var e=r.tm_yday+7-r.tm_wday;return d(Math.floor(e/7),2)},"%V":function(r){var e=Math.floor((r.tm_yday+7-(r.tm_wday+6)%7)/7);if((r.tm_wday+371-r.tm_yday-2)%7<=2&&e++,e){if(53==e){var t=(r.tm_wday+371-r.tm_yday)%7;4==t||3==t&&Vs(r.tm_year)||(e=1)}}else{e=52;var n=(r.tm_wday+7-r.tm_yday-1)%7;(4==n||5==n&&Vs(r.tm_year%400-1))&&e++}return d(e,2)},"%w":function(r){return r.tm_wday},"%W":function(r){var e=r.tm_yday+7-(r.tm_wday+6)%7;return d(Math.floor(e/7),2)},"%y":function(r){return(r.tm_year+1900).toString().substring(2)},"%Y":function(r){return r.tm_year+1900},"%z":function(r){var e=r.tm_gmtoff,t=e>=0;return e=(e=Math.abs(e)/60)/60*100+e%60,(t?"+":"-")+String("0000"+e).slice(-4)},"%Z":function(r){return r.tm_zone},"%%":function(){return"%"}};for(var u in i=i.replace(/%%/g,"\0\0"),h)i.includes(u)&&(i=i.replace(new RegExp(u,"g"),h[u](a)));var g,y,b=Bs(i=i.replace(/\0\0/g,"%"),!1);return b.length>e?0:(g=b,y=r,_.set(g,y),b.length-1)}cr=a.InternalError=fr(Error,"InternalError"),function(){for(var r=new Array(256),e=0;e<256;++e)r[e]=String.fromCharCode(e);vr=r}(),hr=a.BindingError=fr(Error,"BindingError"),Ur.prototype.isAliasOf=br,Ur.prototype.clone=jr,Ur.prototype.delete=Rr,Ur.prototype.isDeleted=Vr,Ur.prototype.deleteLater=Or,a.getInheritedInstanceCount=Cr,a.getLiveInheritedInstances=Ar,a.flushPendingDeletes=Br,a.setDelayFunction=$r,Jr.prototype.getPointee=Xr,Jr.prototype.destructor=Yr,Jr.prototype.argPackAdvance=8,Jr.prototype.readValueFromPointer=nr,Jr.prototype.deleteObject=Zr,Jr.prototype.fromWireType=Ir,ne=a.UnboundTypeError=fr(Error,"UnboundTypeError"),ce.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),ce.reserved=ce.allocated.length,a.count_emval_handles=de;for(var zs=0;zs<32;++zs)sn.push(new Array(zs));var Gs=new Float32Array(288);for(zs=0;zs<288;++zs)gi[zs]=Gs.subarray(0,zs+1);var Hs=new Int32Array(288);for(zs=0;zs<288;++zs)wi[zs]=Hs.subarray(0,zs+1);var qs=function(r,e,t,n){r||(r=this),this.parent=r,this.mount=r.mount,this.mounted=null,this.id=Is.nextInode++,this.name=e,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n},Qs=365,Xs=146;Object.defineProperties(qs.prototype,{read:{get:function(){return(this.mode&Qs)===Qs},set:function(r){r?this.mode|=Qs:this.mode&=-366}},write:{get:function(){return(this.mode&Xs)===Xs},set:function(r){r?this.mode|=Xs:this.mode&=-147}},isFolder:{get:function(){return Is.isDir(this.mode)}},isDevice:{get:function(){return Is.isChrdev(this.mode)}}}),Is.FSNode=qs,Is.createPreloadedFile=function(r,e,t,n,o,a,i,u,f,c){var l=e?Ts.resolve(Cs.join2(r,e)):r;function d(t){function s(t){c&&c(),u||Is.createDataFile(r,e,t,n,o,f),a&&a(),N()}(function(r,e,t,n){"undefined"!=typeof Browser&&Browser.init();var o=!1;return Fs.forEach((function(a){o||a.canHandle(e)&&(a.handle(r,e,t,n),o=!0)})),o})(t,l,s,(()=>{i&&i(),N()}))||s(t)}U(),"string"==typeof t?function(r,e,t,n){var o=n?"":`al ${r}`;s(r,(t=>{F(t,`Loading data file "${r}" failed (no arrayBuffer).`),e(new Uint8Array(t)),o&&N()}),(e=>{if(!t)throw`Loading data file "${r}" failed.`;t()})),o&&U()}(t,(r=>d(r)),i):d(t)},Is.staticInit();var Ys,Zs={v:function(r,e,t){throw new rr(r).init(e,t),r},Fa:function(r){var e=er[r];delete er[r];var t=e.rawConstructor,n=e.rawDestructor,o=e.fields;dr([r],o.map((r=>r.getterReturnType)).concat(o.map((r=>r.setterArgumentType))),(r=>{var a={};return o.forEach(((e,t)=>{var n=e.fieldName,i=r[t],s=e.getter,u=e.getterContext,f=r[t+o.length],c=e.setter,l=e.setterContext;a[n]={read:r=>i.fromWireType(s(u,r)),write:(r,e)=>{var t=[];c(l,r,f.toWireType(t,e)),tr(t)}}})),[{name:e.name,fromWireType:function(r){var e={};for(var t in a)e[t]=a[t].read(r);return n(r),e},toWireType:function(r,e){for(var o in a)if(!(o in e))throw new TypeError(`Missing field: "${o}"`);var i=t();for(o in a)a[o].write(i,e[o]);return null!==r&&r.push(n,i),i},argPackAdvance:8,readValueFromPointer:nr,destructorFunction:n}]}))},Oa:function(r,e,t,n,o){},Rb:function(r,e,t,n,o){var a=mr(t);yr(r,{name:e=pr(e),fromWireType:function(r){return!!r},toWireType:function(r,e){return e?n:o},argPackAdvance:8,readValueFromPointer:function(r){var n;if(1===t)n=_;else if(2===t)n=P;else{if(4!==t)throw new TypeError("Unknown boolean type size: "+e);n=A}return this.fromWireType(n[r>>a])},destructorFunction:null})},ua:function(r,e,t,n,o,i,s,u,f,c,l,d,m){l=pr(l),i=te(o,i),u&&(u=te(s,u)),c&&(c=te(f,c)),m=te(d,m);var v=sr(l);Wr(v,(function(){ae(`Cannot construct ${l} due to unbound types`,[n])})),dr([r,e,t],n?[n]:[],(function(e){var t,o;e=e[0],o=n?(t=e.registeredClass).instancePrototype:Ur.prototype;var s=ur(v,(function(){if(Object.getPrototypeOf(this)!==f)throw new hr("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new hr(l+" has no accessible constructor");var r=d.constructor_body[arguments.length];if(void 0===r)throw new hr(`Tried to invoke ctor of ${l} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return r.apply(this,arguments)})),f=Object.create(o,{constructor:{value:s}});s.prototype=f;var d=new zr(l,s,f,m,t,i,u,c);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var p=new Jr(l,d,!0,!1,!1),h=new Jr(l+"*",d,!1,!1,!1),g=new Jr(l+" const*",d,!1,!0,!1);return Pr[r]={pointerType:h,constPointerType:g},function(r,e,t){a.hasOwnProperty(r)||lr("Replacing nonexistant public symbol"),void 0!==a[r].overloadTable&&void 0!==t?a[r].overloadTable[t]=e:(a[r]=e,a[r].argCount=t)}(v,s),[p,h,g]}))},ja:function(r,e,t,n,o,a){F(e>0);var i=ie(e,t);o=te(n,o),dr([],[r],(function(r){var t=`constructor ${(r=r[0]).name}`;if(void 0===r.registeredClass.constructor_body&&(r.registeredClass.constructor_body=[]),void 0!==r.registeredClass.constructor_body[e-1])throw new hr(`Cannot register multiple constructors with identical number of parameters (${e-1}) for class '${r.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return r.registeredClass.constructor_body[e-1]=()=>{ae(`Cannot construct ${r.name} due to unbound types`,i)},dr([],i,(function(n){return n.splice(1,0,null),r.registeredClass.constructor_body[e-1]=ue(t,n,null,o,a),[]})),[]}))},r:function(r,e,t,n,o,a,i,s,u){var f=ie(t,n);e=pr(e),a=te(o,a),dr([],[r],(function(r){var n=`${(r=r[0]).name}.${e}`;function o(){ae(`Cannot call ${n} due to unbound types`,f)}e.startsWith("@@")&&(e=Symbol[e.substring(2)]),s&&r.registeredClass.pureVirtualFunctions.push(e);var c=r.registeredClass.instancePrototype,l=c[e];return void 0===l||void 0===l.overloadTable&&l.className!==r.name&&l.argCount===t-2?(o.argCount=t-2,o.className=r.name,c[e]=o):(Nr(c,e,n),c[e].overloadTable[t-2]=o),dr([],f,(function(o){var s=ue(n,o,r,a,i,u);return void 0===c[e].overloadTable?(s.argCount=t-2,c[e]=s):c[e].overloadTable[t-2]=s,[]})),[]}))},f:function(r,e,t,n,o,a,i,s,u,f){e=pr(e),o=te(n,o),dr([],[r],(function(r){var n=`${(r=r[0]).name}.${e}`,c={get:function(){ae(`Cannot access ${n} due to unbound types`,[t,i])},enumerable:!0,configurable:!0};return c.set=u?()=>{ae(`Cannot access ${n} due to unbound types`,[t,i])}:r=>{gr(n+" is a read-only property")},Object.defineProperty(r.registeredClass.instancePrototype,e,c),dr([],u?[t,i]:[t],(function(t){var i=t[0],c={get:function(){var e=fe(this,r,n+" getter");return i.fromWireType(o(a,e))},enumerable:!0};if(u){u=te(s,u);var l=t[1];c.set=function(e){var t=fe(this,r,n+" setter"),o=[];u(f,t,l.toWireType(o,e)),tr(o)}}return Object.defineProperty(r.registeredClass.instancePrototype,e,c),[]})),[]}))},Va:function(r,e){yr(r,{name:e=pr(e),fromWireType:function(r){var e=me.toValue(r);return le(r),e},toWireType:function(r,e){return me.toHandle(e)},argPackAdvance:8,readValueFromPointer:nr,destructorFunction:null})},g:function(r,e,t,n){var o=mr(t);function a(){}e=pr(e),a.values={},yr(r,{name:e,constructor:a,fromWireType:function(r){return this.constructor.values[r]},toWireType:function(r,e){return e.value},argPackAdvance:8,readValueFromPointer:ve(e,o,n),destructorFunction:null}),Wr(e,a)},a:function(r,e,t){var n=pe(r,"enum");e=pr(e);var o=n.constructor,a=Object.create(n.constructor.prototype,{value:{value:t},constructor:{value:ur(`${n.name}_${e}`,(function(){}))}});o.values[t]=a,o[e]=a},u:function(r,e,t){var n=mr(t);yr(r,{name:e=pr(e),fromWireType:function(r){return r},toWireType:function(r,e){return e},argPackAdvance:8,readValueFromPointer:ge(e,n),destructorFunction:null})},d:function(r,e,t,n,o){e=pr(e),-1===o&&(o=4294967295);var a=mr(t),i=r=>r;if(0===n){var s=32-8*t;i=r=>r<<s>>>s}var u=e.includes("unsigned");yr(r,{name:e,fromWireType:i,toWireType:u?function(r,e){return this.name,e>>>0}:function(r,e){return this.name,e},argPackAdvance:8,readValueFromPointer:ye(e,a,0!==n),destructorFunction:null})},c:function(r,e,t){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];function o(r){var e=T,t=e[r>>=2],o=e[r+1];return new n(e.buffer,o,t)}yr(r,{name:t=pr(t),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},t:function(r,e){var t="std::string"===(e=pr(e));yr(r,{name:e,fromWireType:function(r){var e,n=T[r>>2],o=r+4;if(t)for(var a=o,i=0;i<=n;++i){var s=o+i;if(i==n||0==k[s]){var u=ke(a,s-a);void 0===e?e=u:(e+=String.fromCharCode(0),e+=u),a=s+1}}else{var f=new Array(n);for(i=0;i<n;++i)f[i]=String.fromCharCode(k[o+i]);e=f.join("")}return Js(r),e},toWireType:function(r,e){var n;e instanceof ArrayBuffer&&(e=new Uint8Array(e));var o="string"==typeof e;o||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||gr("Cannot pass non-string to std::string"),n=t&&o?Ee(e):e.length;var a=Ks(4+n+1),i=a+4;if(T[a>>2]=n,t&&o)we(e,i,n+1);else if(o)for(var s=0;s<n;++s){var u=e.charCodeAt(s);u>255&&(Js(i),gr("String has UTF-16 code units that do not fit in 8 bits")),k[i+s]=u}else for(s=0;s<n;++s)k[i+s]=e[s];return null!==r&&r.push(Js,a),a},argPackAdvance:8,readValueFromPointer:nr,destructorFunction:function(r){Js(r)}})},l:function(r,e,t){var n,o,a,i,s;t=pr(t),2===e?(n=Ce,o=Ae,i=Te,a=()=>C,s=1):4===e&&(n=Be,o=Se,i=$e,a=()=>T,s=2),yr(r,{name:t,fromWireType:function(r){for(var t,o=T[r>>2],i=a(),u=r+4,f=0;f<=o;++f){var c=r+4+f*e;if(f==o||0==i[c>>s]){var l=n(u,c-u);void 0===t?t=l:(t+=String.fromCharCode(0),t+=l),u=c+e}}return Js(r),t},toWireType:function(r,n){"string"!=typeof n&&gr(`Cannot pass non-string to C++ string type ${t}`);var a=i(n),u=Ks(4+a+e);return T[u>>2]=a>>s,o(n,u+4,a+e),null!==r&&r.push(Js,u),u},argPackAdvance:8,readValueFromPointer:nr,destructorFunction:function(r){Js(r)}})},Zc:function(r,e,t,n,o,a){er[r]={name:pr(e),rawConstructor:te(t,n),rawDestructor:te(o,a),fields:[]}},m:function(r,e,t,n,o,a,i,s,u,f){er[r].fields.push({fieldName:pr(e),getterReturnType:t,getter:te(n,o),getterContext:a,setterArgumentType:i,setter:te(s,u),setterContext:f})},ac:function(r,e){yr(r,{isVoid:!0,name:e=pr(e),argPackAdvance:0,fromWireType:function(){},toWireType:function(r,e){}})},k:function(r,e,t){r=me.toValue(r),e=pe(e,"emval::as");var n=[],o=me.toHandle(n);return T[t>>2]=o,e.toWireType(n,r)},td:function(r,e,t,n){(r=Me[r])(e=me.toValue(e),t=Fe(t),null,n)},b:le,Ed:function(r,e){var t=function(r,e){for(var t=new Array(r),n=0;n<r;++n)t[n]=pe(T[e+4*n>>2],"parameter "+n);return t}(r,e),n=t[0],o=n.name+"_$"+t.slice(1).map((function(r){return r.name})).join("_")+"$",a=Ie[o];if(void 0!==a)return a;for(var i=["retType"],s=[n],u="",f=0;f<r-1;++f)u+=(0!==f?", ":"")+"arg"+f,i.push("argType"+f),s.push(t[1+f]);var c="return function "+sr("methodCaller_"+o)+"(handle, name, destructors, args) {\n",l=0;for(f=0;f<r-1;++f)c+=" var arg"+f+" = argType"+f+".readValueFromPointer(args"+(l?"+"+l:"")+");\n",l+=t[f+1].argPackAdvance;for(c+=" var rv = handle[name]("+u+");\n",f=0;f<r-1;++f)t[f+1].deleteObject&&(c+=" argType"+f+".deleteObject(arg"+f+");\n");n.isVoid||(c+=" return retType.toWireType(destructors, rv);\n"),c+="};\n",i.push(c);var d,m,v=se(Function,i).apply(null,s);return d=v,m=Me.length,Me.push(d),a=m,Ie[o]=a,a},w:function(r){return r=Fe(r),me.toHandle(a[r])},h:function(r,e){return r=me.toValue(r),e=me.toValue(e),me.toHandle(r[e])},q:function(r){r>4&&(ce.get(r).refcount+=1)},Pd:function(r,e,t,n){r=me.toValue(r);var o=Le[e];return o||(o=function(r){for(var e="",t=0;t<r;++t)e+=(0!==t?", ":"")+"arg"+t;var n="return function emval_allocator_"+r+"(constructor, argTypes, args) {\n var HEAPU32 = getMemory();\n";for(t=0;t<r;++t)n+="var argType"+t+" = requireRegisteredType(HEAPU32[((argTypes)>>2)], 'parameter "+t+"');\nvar arg"+t+" = argType"+t+".readValueFromPointer(args);\nargs += argType"+t+"['argPackAdvance'];\nargTypes += 4;\n";return n+="var obj = new constructor("+e+");\nreturn valueToHandle(obj);\n}\n",new Function("requireRegisteredType","Module","valueToHandle","getMemory",n)(pe,a,me.toHandle,(()=>T))}(e),Le[e]=o),o(r,t,n)},e:function(r){return me.toHandle(Fe(r))},id:function(){return me.toHandle({})},j:function(r){tr(me.toValue(r)),le(r)},o:function(r,e,t){r=me.toValue(r),e=me.toValue(e),t=me.toValue(t),r[e]=t},p:function(r,e){var t=(r=pe(r,"_emval_take_value")).readValueFromPointer(e);return me.toHandle(t)},i:function(){W("")},ra:Re,qa:Ve,Qc:Oe,Ja:Ue,tc:Ne,pa:We,oa:ze,qc:Ge,rc:He,na:qe,ma:Qe,wb:Xe,la:Ye,ob:Ze,yc:Ke,Aa:rt,ka:et,ia:tt,ha:nt,ga:ot,fa:at,Dc:it,ea:st,da:ut,ca:ft,ba:ct,Ub:lt,Vb:dt,Xb:mt,Wb:vt,aa:pt,$:ht,_:gt,Fb:bt,Z:wt,Y:Et,X:xt,Vc:_t,W:kt,Uc:Pt,Sb:Ct,V:At,U:Tt,Wc:Bt,T:St,S:$t,R:Dt,Q:Ft,P:Mt,O:It,Sc:Lt,La:jt,N:Rt,yb:Vt,M:Ot,Gb:Ut,L:Nt,nb:Wt,xc:Gt,za:Ht,K:qt,J:Qt,I:Xt,H:Yt,G:Zt,F:Jt,E:Kt,Kb:en,va:tn,Za:nn,cd:on,_a:an,Kc:fn,ad:cn,wa:ln,D:mn,Jb:pn,ta:hn,Xa:gn,Ya:yn,bd:bn,_c:wn,C:En,B:xn,Pc:_n,Ia:kn,sc:Pn,Ib:Cn,A:An,z:Tn,zc:$n,y:Dn,x:Fn,Bc:Mn,Ve:In,Ue:jn,Se:Rn,Tc:Vn,Ma:On,Re:Un,zb:Nn,Qe:Wn,mb:zn,wc:Hn,ya:qn,Te:Qn,Pe:Yn,Oe:Zn,Mb:Jn,Nb:Kn,Pb:ro,Ne:eo,Me:to,Le:ao,Ab:io,Ke:so,Lc:uo,Je:fo,Ie:co,fc:lo,He:mo,Bb:po,Db:ho,uc:go,Ge:yo,bb:bo,ib:wo,Ee:Eo,Fe:xo,Ca:ko,Ea:Co,Ba:Ao,Nc:To,Da:Bo,Oc:So,Ga:$o,De:Do,qb:Fo,rb:Mo,Be:Io,Ae:Lo,ze:jo,Ce:Ro,ye:Oo,Tb:Uo,Cb:No,xe:Wo,we:zo,oc:Go,Ob:Ho,Qb:qo,te:Yo,ve:Ko,ue:ra,gc:ea,mc:oa,lc:aa,qe:ia,se:sa,re:ua,pe:fa,fb:ca,eb:la,oe:da,ne:ma,me:va,le:pa,Rc:ha,Ka:ga,ke:ya,xb:ba,je:wa,Hb:Ea,ie:xa,lb:_a,vc:Pa,xa:Ca,he:Aa,ge:Ta,Ac:Ba,kb:Sa,fe:$a,ee:Da,hb:Fa,gb:Ma,Ha:Ia,$c:La,de:Oa,ce:Ua,be:Na,Cc:Wa,jb:za,ae:Ga,tb:Ha,sb:qa,vb:Qa,ub:Xa,$d:Ya,_d:Za,Zd:Ja,Yd:Ka,Xd:ri,Wd:ei,Vd:ti,Ud:ni,Td:oi,Sd:ai,Yc:ii,Rd:si,Qd:ui,Od:fi,Nd:ci,db:li,cb:di,Md:mi,Xc:vi,pc:pi,Ld:hi,Kd:yi,Jd:bi,Id:Ei,ec:xi,$b:_i,Hd:ki,Gd:Pi,Fd:Ci,Dd:Ai,dc:Ti,_b:Bi,Cd:Si,Bd:$i,Ad:Di,zd:Fi,cc:Mi,Zb:Ii,yd:Li,xd:ji,wd:Ri,vd:Vi,bc:Oi,Yb:Ui,Lb:Ni,ud:Wi,Jc:zi,Hc:Gi,sd:Hi,Ic:qi,Fc:Qi,rd:Xi,Gc:Yi,Ec:Zi,Mc:Ji,qd:Ki,pd:rs,od:es,nd:ts,md:ns,ld:os,kd:as,jd:is,hd:ss,gd:us,pb:cs,sa:ls,$a:ds,dd:ms,ab:vs,kc:ps,ic:hs,jc:gs,hc:ys,nc:bs,fd:ws,ed:Es,Eb:xs,Wa:function(r,e,t){k.copyWithin(r,e,e+t)},Sa:function(r){var e=k.length,t=2147483648;if((r>>>=0)>t)return!1;for(var n,o,a=1;a<=4;a*=2){var i=e*(1+.2/a);if(i=Math.min(i,r+100663296),_s(Math.min(t,(n=Math.max(r,i))+((o=65536)-n%o)%o)))return!0}return!1},Qa:function(r,e){var t=0;return Ps().forEach((function(n,o){var a=e+t;T[r+4*o>>2]=a,function(r,e){for(var t=0;t<r.length;++t)_[0|e++]=r.charCodeAt(t);_[0|e]=0}(n,a),t+=n.length+1})),0},Ra:function(r,e){var t=Ps();T[r>>2]=t.length;var n=0;return t.forEach((function(r){n+=r.length+1})),T[e>>2]=n,0},n:Rs,Ta:function(r){try{var e=Ls.getStreamFromFD(r);return Is.close(e),0}catch(r){if(void 0===Is||"ErrnoError"!==r.name)throw r;return r.errno}},Ua:function(r,e,t,n){try{var o=function(r,e,t,n){for(var o=0,a=0;a<t;a++){var i=T[e>>2],s=T[e+4>>2];e+=8;var u=Is.read(r,_,i,s,n);if(u<0)return-1;if(o+=u,u<s)break;void 0!==n&&(n+=u)}return o}(Ls.getStreamFromFD(r),e,t);return T[n>>2]=o,0}catch(r){if(void 0===Is||"ErrnoError"!==r.name)throw r;return r.errno}},Na:function(r,e,t,n,o){try{var a=(u=t)+2097152>>>0<4194305-!!(s=e)?(s>>>0)+4294967296*u:NaN;if(isNaN(a))return 61;var i=Ls.getStreamFromFD(r);return Is.llseek(i,a,n),q=[i.position>>>0,(H=i.position,+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[o>>2]=q[0],A[o+4>>2]=q[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(r){if(void 0===Is||"ErrnoError"!==r.name)throw r;return r.errno}var s,u},s:function(r,e,t,n){try{var o=function(r,e,t,n){for(var o=0,a=0;a<t;a++){var i=T[e>>2],s=T[e+4>>2];e+=8;var u=Is.write(r,_,i,s,n);if(u<0)return-1;o+=u,void 0!==n&&(n+=u)}return o}(Ls.getStreamFromFD(r),e,t);return T[n>>2]=o,0}catch(r){if(void 0===Is||"ErrnoError"!==r.name)throw r;return r.errno}},Pa:function(r,e,t,n,o){return Ws(r,e,t,n)}},Js=(function(){var r,e,t,o,i={a:Zs};function s(r,e){var t,n=r.exports;return a.asm=n,E=a.asm.We,M(),$=a.asm.Ye,t=a.asm.Xe,L.unshift(t),N(),n}if(U(),a.instantiateWasm)try{return a.instantiateWasm(i,s)}catch(r){w("Module.instantiateWasm callback failed with error: "+r),n(r)}(r=y,e=z,t=i,o=function(r){s(r.instance)},r||"function"!=typeof WebAssembly.instantiateStreaming||Q(e)||X(e)||v||"function"!=typeof fetch?Z(e,t,o):fetch(e,{credentials:"same-origin"}).then((r=>WebAssembly.instantiateStreaming(r,t).then(o,(function(r){return w("wasm streaming compile failed: "+r),w("falling back to ArrayBuffer instantiation"),Z(e,t,o)}))))).catch(n)}(),function(){return(Js=a.asm.Ze).apply(null,arguments)}),Ks=function(){return(Ks=a.asm._e).apply(null,arguments)},ru=function(){return(ru=a.asm.$e).apply(null,arguments)},eu=(a.__embind_initialize_bindings=function(){return(a.__embind_initialize_bindings=a.asm.af).apply(null,arguments)},function(){return(eu=a.asm.bf).apply(null,arguments)});a.dynCall_iij=function(){return(a.dynCall_iij=a.asm.cf).apply(null,arguments)},a.dynCall_iiiiiijii=function(){return(a.dynCall_iiiiiijii=a.asm.df).apply(null,arguments)},a.dynCall_jiji=function(){return(a.dynCall_jiji=a.asm.ef).apply(null,arguments)},a.dynCall_viijii=function(){return(a.dynCall_viijii=a.asm.ff).apply(null,arguments)},a.dynCall_iiiiij=function(){return(a.dynCall_iiiiij=a.asm.gf).apply(null,arguments)},a.dynCall_iiiiijj=function(){return(a.dynCall_iiiiijj=a.asm.hf).apply(null,arguments)},a.dynCall_iiiiiijj=function(){return(a.dynCall_iiiiiijj=a.asm.jf).apply(null,arguments)};function tu(){function r(){Ys||(Ys=!0,a.calledRun=!0,D||(a.noFSInit||Is.init.initialized||Is.init(),Is.ignorePermissions=!1,Ss.init(),K(L),t(a),a.onRuntimeInitialized&&a.onRuntimeInitialized(),function(){if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)r=a.postRun.shift(),j.unshift(r);var r;K(j)}()))}R>0||(!function(){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)r=a.preRun.shift(),I.unshift(r);var r;K(I)}(),R>0||(a.setStatus?(a.setStatus("Running..."),setTimeout((function(){setTimeout((function(){a.setStatus("")}),1),r()}),1)):r()))}if(a.GL=je,O=function r(){Ys||tu(),Ys||(O=r)},a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();return tu(),r.ready};
|
|
1
|
+
return function(r,e){var t,n,o=void 0,a=void 0!==(r=r||{})?r:{};a.ready=new Promise(((r,e)=>{t=r,n=e}));var i,s,u,f=Object.assign({},a),c="./this.program",l=(r,e)=>{throw e},d="object"==typeof window,m="function"==typeof importScripts,v="object"==typeof o&&"object"==typeof o.versions&&"string"==typeof o.versions.node,p="";if(v){var h=require("fs"),g=require("path");p=m?g.dirname(p)+"/":__dirname+"/",i=(r,e)=>(r=X(r)?new URL(r):g.normalize(r),h.readFileSync(r,e?void 0:"utf8")),u=r=>{var e=i(r,!0);return e.buffer||(e=new Uint8Array(e)),e},s=(r,e,t,n=!0)=>{r=X(r)?new URL(r):g.normalize(r),h.readFile(r,n?void 0:"utf8",((r,o)=>{r?t(r):e(n?o.buffer:o)}))},!a.thisProgram&&o.argv.length>1&&(c=o.argv[1].replace(/\\/g,"/")),o.argv.slice(2),l=(r,e)=>{throw o.exitCode=r,e},a.inspect=()=>"[Emscripten Module object]"}else(d||m)&&(m?p=self.location.href:"undefined"!=typeof document&&document.currentScript&&(p=document.currentScript.src),e&&(p=e),p=0!==p.indexOf("blob:")?p.substr(0,p.replace(/[?#].*/,"").lastIndexOf("/")+1):"",i=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.send(null),e.responseText},m&&(u=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),s=(r,e,t)=>{var n=new XMLHttpRequest;n.open("GET",r,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?e(n.response):t()},n.onerror=t,n.send(null)},r=>document.title=r);var y,b=a.print||console.log.bind(console),w=a.printErr||console.error.bind(console);Object.assign(a,f),f=null,a.arguments&&a.arguments,a.thisProgram&&(c=a.thisProgram),a.quit&&(l=a.quit),a.wasmBinary&&(y=a.wasmBinary);var E,x=a.noExitRuntime||!0;"object"!=typeof WebAssembly&&W("no native wasm support detected");var _,k,P,C,A,T,B,S,$,D=!1;function F(r,e){r||W(e)}function M(){var r=E.buffer;a.HEAP8=_=new Int8Array(r),a.HEAP16=P=new Int16Array(r),a.HEAP32=A=new Int32Array(r),a.HEAPU8=k=new Uint8Array(r),a.HEAPU16=C=new Uint16Array(r),a.HEAPU32=T=new Uint32Array(r),a.HEAPF32=B=new Float32Array(r),a.HEAPF64=S=new Float64Array(r)}var I=[],L=[],j=[];var R=0,V=null,O=null;function U(r){R++,a.monitorRunDependencies&&a.monitorRunDependencies(R)}function N(r){if(R--,a.monitorRunDependencies&&a.monitorRunDependencies(R),0==R&&(null!==V&&(clearInterval(V),V=null),O)){var e=O;O=null,e()}}function W(r){a.onAbort&&a.onAbort(r),w(r="Aborted("+r+")"),D=!0,r+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(r);throw n(e),e}var z,G,H,q;function Q(r){return r.startsWith("data:application/octet-stream;base64,")}function X(r){return r.startsWith("file://")}function Y(r){try{if(r==z&&y)return new Uint8Array(y);if(u)return u(r);throw"both async and sync fetching of the wasm failed"}catch(r){W(r)}}function Z(r,e,t){return function(r){if(!y&&(d||m)){if("function"==typeof fetch&&!X(r))return fetch(r,{credentials:"same-origin"}).then((e=>{if(!e.ok)throw"failed to load wasm binary file at '"+r+"'";return e.arrayBuffer()})).catch((()=>Y(r)));if(s)return new Promise(((e,t)=>{s(r,(r=>e(new Uint8Array(r))),t)}))}return Promise.resolve().then((()=>Y(r)))}(r).then((r=>WebAssembly.instantiate(r,e))).then((r=>r)).then(t,(r=>{w("failed to asynchronously prepare wasm: "+r),W(r)}))}function J(r){this.name="ExitStatus",this.message=`Program terminated with exit(${r})`,this.status=r}function K(r){for(;r.length>0;)r.shift()(a)}function rr(r){this.excPtr=r,this.ptr=r-24,this.set_type=function(r){T[this.ptr+4>>2]=r},this.get_type=function(){return T[this.ptr+4>>2]},this.set_destructor=function(r){T[this.ptr+8>>2]=r},this.get_destructor=function(){return T[this.ptr+8>>2]},this.set_caught=function(r){r=r?1:0,_[this.ptr+12|0]=r},this.get_caught=function(){return 0!=_[this.ptr+12|0]},this.set_rethrown=function(r){r=r?1:0,_[this.ptr+13|0]=r},this.get_rethrown=function(){return 0!=_[this.ptr+13|0]},this.init=function(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e)},this.set_adjusted_ptr=function(r){T[this.ptr+16>>2]=r},this.get_adjusted_ptr=function(){return T[this.ptr+16>>2]},this.get_exception_ptr=function(){if(eu(this.get_type()))return T[this.excPtr>>2];var r=this.get_adjusted_ptr();return 0!==r?r:this.excPtr}}Q(z="libktx.wasm")||(G=z,z=a.locateFile?a.locateFile(G,p):p+G);var er={};function tr(r){for(;r.length;){var e=r.pop();r.pop()(e)}}function nr(r){return this.fromWireType(A[r>>2])}var or={},ar={},ir={};function sr(r){if(void 0===r)return"_unknown";var e=(r=r.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return e>=48&&e<=57?`_${r}`:r}function ur(r,e){return r=sr(r),{[r]:function(){return e.apply(this,arguments)}}[r]}function fr(r,e){var t=ur(e,(function(r){this.name=e,this.message=r;var t=new Error(r).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}));return t.prototype=Object.create(r.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},t}var cr=void 0;function lr(r){throw new cr(r)}function dr(r,e,t){function n(e){var n=t(e);n.length!==r.length&&lr("Mismatched type converter count");for(var o=0;o<r.length;++o)yr(r[o],n[o])}r.forEach((function(r){ir[r]=e}));var o=new Array(e.length),a=[],i=0;e.forEach(((r,e)=>{ar.hasOwnProperty(r)?o[e]=ar[r]:(a.push(r),or.hasOwnProperty(r)||(or[r]=[]),or[r].push((()=>{o[e]=ar[r],++i===a.length&&n(o)})))})),0===a.length&&n(o)}function mr(r){switch(r){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${r}`)}}var vr=void 0;function pr(r){for(var e="",t=r;k[t];)e+=vr[k[t++]];return e}var hr=void 0;function gr(r){throw new hr(r)}function yr(r,e,t={}){if(!("argPackAdvance"in e))throw new TypeError("registerType registeredInstance requires argPackAdvance");var n=e.name;if(r||gr(`type "${n}" must have a positive integer typeid pointer`),ar.hasOwnProperty(r)){if(t.ignoreDuplicateRegistrations)return;gr(`Cannot register type '${n}' twice`)}if(ar[r]=e,delete ir[r],or.hasOwnProperty(r)){var o=or[r];delete or[r],o.forEach((r=>r()))}}function br(r){if(!(this instanceof Ur))return!1;if(!(r instanceof Ur))return!1;for(var e=this.$$.ptrType.registeredClass,t=this.$$.ptr,n=r.$$.ptrType.registeredClass,o=r.$$.ptr;e.baseClass;)t=e.upcast(t),e=e.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return e===n&&t===o}function wr(r){gr(r.$$.ptrType.registeredClass.name+" instance already deleted")}var Er=!1;function xr(r){}function _r(r){r.count.value-=1,0===r.count.value&&function(r){r.smartPtr?r.smartPtrType.rawDestructor(r.smartPtr):r.ptrType.registeredClass.rawDestructor(r.ptr)}(r)}function kr(r,e,t){if(e===t)return r;if(void 0===t.baseClass)return null;var n=kr(r,e,t.baseClass);return null===n?null:t.downcast(n)}var Pr={};function Cr(){return Object.keys(Dr).length}function Ar(){var r=[];for(var e in Dr)Dr.hasOwnProperty(e)&&r.push(Dr[e]);return r}var Tr=[];function Br(){for(;Tr.length;){var r=Tr.pop();r.$$.deleteScheduled=!1,r.delete()}}var Sr=void 0;function $r(r){Sr=r,Tr.length&&Sr&&Sr(Br)}var Dr={};function Fr(r,e){return e=function(r,e){for(void 0===e&&gr("ptr should not be undefined");r.baseClass;)e=r.upcast(e),r=r.baseClass;return e}(r,e),Dr[e]}function Mr(r,e){return e.ptrType&&e.ptr||lr("makeClassHandle requires ptr and ptrType"),!!e.smartPtrType!==!!e.smartPtr&&lr("Both smartPtrType and smartPtr must be specified"),e.count={value:1},Lr(Object.create(r,{$$:{value:e}}))}function Ir(r){var e=this.getPointee(r);if(!e)return this.destructor(r),null;var t=Fr(this.registeredClass,e);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=e,t.$$.smartPtr=r,t.clone();var n=t.clone();return this.destructor(r),n}function o(){return this.isSmartPointer?Mr(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:e,smartPtrType:this,smartPtr:r}):Mr(this.registeredClass.instancePrototype,{ptrType:this,ptr:r})}var a,i=this.registeredClass.getActualType(e),s=Pr[i];if(!s)return o.call(this);a=this.isConst?s.constPointerType:s.pointerType;var u=kr(e,this.registeredClass,a.registeredClass);return null===u?o.call(this):this.isSmartPointer?Mr(a.registeredClass.instancePrototype,{ptrType:a,ptr:u,smartPtrType:this,smartPtr:r}):Mr(a.registeredClass.instancePrototype,{ptrType:a,ptr:u})}function Lr(r){return"undefined"==typeof FinalizationRegistry?(Lr=r=>r,r):(Er=new FinalizationRegistry((r=>{_r(r.$$)})),Lr=r=>{var e=r.$$;if(!!e.smartPtr){var t={$$:e};Er.register(r,t,r)}return r},xr=r=>Er.unregister(r),Lr(r))}function jr(){if(this.$$.ptr||wr(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var r,e=Lr(Object.create(Object.getPrototypeOf(this),{$$:{value:(r=this.$$,{count:r.count,deleteScheduled:r.deleteScheduled,preservePointerOnDelete:r.preservePointerOnDelete,ptr:r.ptr,ptrType:r.ptrType,smartPtr:r.smartPtr,smartPtrType:r.smartPtrType})}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function Rr(){this.$$.ptr||wr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&gr("Object already scheduled for deletion"),xr(this),_r(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function Vr(){return!this.$$.ptr}function Or(){return this.$$.ptr||wr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&gr("Object already scheduled for deletion"),Tr.push(this),1===Tr.length&&Sr&&Sr(Br),this.$$.deleteScheduled=!0,this}function Ur(){}function Nr(r,e,t){if(void 0===r[e].overloadTable){var n=r[e];r[e]=function(){return r[e].overloadTable.hasOwnProperty(arguments.length)||gr(`Function '${t}' called with an invalid number of arguments (${arguments.length}) - expects one of (${r[e].overloadTable})!`),r[e].overloadTable[arguments.length].apply(this,arguments)},r[e].overloadTable=[],r[e].overloadTable[n.argCount]=n}}function Wr(r,e,t){a.hasOwnProperty(r)?((void 0===t||void 0!==a[r].overloadTable&&void 0!==a[r].overloadTable[t])&&gr(`Cannot register public name '${r}' twice`),Nr(a,r,r),a.hasOwnProperty(t)&&gr(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),a[r].overloadTable[t]=e):(a[r]=e,void 0!==t&&(a[r].numArguments=t))}function zr(r,e,t,n,o,a,i,s){this.name=r,this.constructor=e,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=o,this.getActualType=a,this.upcast=i,this.downcast=s,this.pureVirtualFunctions=[]}function Gr(r,e,t){for(;e!==t;)e.upcast||gr(`Expected null or instance of ${t.name}, got an instance of ${e.name}`),r=e.upcast(r),e=e.baseClass;return r}function Hr(r,e){if(null===e)return this.isReference&&gr(`null is not a valid ${this.name}`),0;e.$$||gr(`Cannot pass "${he(e)}" as a ${this.name}`),e.$$.ptr||gr(`Cannot pass deleted object as a pointer of type ${this.name}`);var t=e.$$.ptrType.registeredClass;return Gr(e.$$.ptr,t,this.registeredClass)}function qr(r,e){var t;if(null===e)return this.isReference&&gr(`null is not a valid ${this.name}`),this.isSmartPointer?(t=this.rawConstructor(),null!==r&&r.push(this.rawDestructor,t),t):0;e.$$||gr(`Cannot pass "${he(e)}" as a ${this.name}`),e.$$.ptr||gr(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&e.$$.ptrType.isConst&&gr(`Cannot convert argument of type ${e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name} to parameter type ${this.name}`);var n=e.$$.ptrType.registeredClass;if(t=Gr(e.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===e.$$.smartPtr&&gr("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:e.$$.smartPtrType===this?t=e.$$.smartPtr:gr(`Cannot convert argument of type ${e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:t=e.$$.smartPtr;break;case 2:if(e.$$.smartPtrType===this)t=e.$$.smartPtr;else{var o=e.clone();t=this.rawShare(t,me.toHandle((function(){o.delete()}))),null!==r&&r.push(this.rawDestructor,t)}break;default:gr("Unsupporting sharing policy")}return t}function Qr(r,e){if(null===e)return this.isReference&&gr(`null is not a valid ${this.name}`),0;e.$$||gr(`Cannot pass "${he(e)}" as a ${this.name}`),e.$$.ptr||gr(`Cannot pass deleted object as a pointer of type ${this.name}`),e.$$.ptrType.isConst&&gr(`Cannot convert argument of type ${e.$$.ptrType.name} to parameter type ${this.name}`);var t=e.$$.ptrType.registeredClass;return Gr(e.$$.ptr,t,this.registeredClass)}function Xr(r){return this.rawGetPointee&&(r=this.rawGetPointee(r)),r}function Yr(r){this.rawDestructor&&this.rawDestructor(r)}function Zr(r){null!==r&&r.delete()}function Jr(r,e,t,n,o,a,i,s,u,f,c){this.name=r,this.registeredClass=e,this.isReference=t,this.isConst=n,this.isSmartPointer=o,this.pointeeType=a,this.sharingPolicy=i,this.rawGetPointee=s,this.rawConstructor=u,this.rawShare=f,this.rawDestructor=c,o||void 0!==e.baseClass?this.toWireType=qr:n?(this.toWireType=Hr,this.destructorFunction=null):(this.toWireType=Qr,this.destructorFunction=null)}var Kr=[];function re(r){var e=Kr[r];return e||(r>=Kr.length&&(Kr.length=r+1),Kr[r]=e=$.get(r)),e}function ee(r,e,t){return r.includes("j")?function(r,e,t){var n=a["dynCall_"+r];return t&&t.length?n.apply(null,[e].concat(t)):n.call(null,e)}(r,e,t):re(e).apply(null,t)}function te(r,e){var t,n,o,a=(r=pr(r)).includes("j")?(t=r,n=e,o=[],function(){return o.length=0,Object.assign(o,arguments),ee(t,n,o)}):re(e);return"function"!=typeof a&&gr(`unknown function pointer with signature ${r}: ${e}`),a}var ne=void 0;function oe(r){var e=ru(r),t=pr(e);return Js(e),t}function ae(r,e){var t=[],n={};throw e.forEach((function r(e){n[e]||ar[e]||(ir[e]?ir[e].forEach(r):(t.push(e),n[e]=!0))})),new ne(`${r}: `+t.map(oe).join([", "]))}function ie(r,e){for(var t=[],n=0;n<r;n++)t.push(T[e+4*n>>2]);return t}function se(r,e){if(!(r instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof r} which is not a function`);var t=ur(r.name||"unknownFunctionName",(function(){}));t.prototype=r.prototype;var n=new t,o=r.apply(n,e);return o instanceof Object?o:n}function ue(r,e,t,n,o,a){var i=e.length;i<2&&gr("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==e[1]&&null!==t,u=!1,f=1;f<e.length;++f)if(null!==e[f]&&void 0===e[f].destructorFunction){u=!0;break}var c="void"!==e[0].name,l="",d="";for(f=0;f<i-2;++f)l+=(0!==f?", ":"")+"arg"+f,d+=(0!==f?", ":"")+"arg"+f+"Wired";var m=`\n return function ${sr(r)}(${l}) {\n if (arguments.length !== ${i-2}) {\n throwBindingError('function ${r} called with ${arguments.length} arguments, expected ${i-2} args!');\n }`;u&&(m+="var destructors = [];\n");var v=u?"destructors":"null",p=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],h=[gr,n,o,tr,e[0],e[1]];s&&(m+="var thisWired = classParam.toWireType("+v+", this);\n");for(f=0;f<i-2;++f)m+="var arg"+f+"Wired = argType"+f+".toWireType("+v+", arg"+f+"); // "+e[f+2].name+"\n",p.push("argType"+f),h.push(e[f+2]);if(s&&(d="thisWired"+(d.length>0?", ":"")+d),m+=(c||a?"var rv = ":"")+"invoker(fn"+(d.length>0?", ":"")+d+");\n",u)m+="runDestructors(destructors);\n";else for(f=s?1:2;f<e.length;++f){var g=1===f?"thisWired":"arg"+(f-2)+"Wired";null!==e[f].destructorFunction&&(m+=g+"_dtor("+g+"); // "+e[f].name+"\n",p.push(g+"_dtor"),h.push(e[f].destructorFunction))}return c&&(m+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),m+="}\n",p.push(m),se(Function,p).apply(null,h)}function fe(r,e,t){return r instanceof Object||gr(`${t} with invalid "this": ${r}`),r instanceof e.registeredClass.constructor||gr(`${t} incompatible with "this" of type ${r.constructor.name}`),r.$$.ptr||gr(`cannot call emscripten binding method ${t} on deleted object`),Gr(r.$$.ptr,r.$$.ptrType.registeredClass,e.registeredClass)}var ce=new function(){this.allocated=[void 0],this.freelist=[],this.get=function(r){return this.allocated[r]},this.has=function(r){return void 0!==this.allocated[r]},this.allocate=function(r){var e=this.freelist.pop()||this.allocated.length;return this.allocated[e]=r,e},this.free=function(r){this.allocated[r]=void 0,this.freelist.push(r)}};function le(r){r>=ce.reserved&&0===--ce.get(r).refcount&&ce.free(r)}function de(){for(var r=0,e=ce.reserved;e<ce.allocated.length;++e)void 0!==ce.allocated[e]&&++r;return r}var me={toValue:r=>(r||gr("Cannot use deleted val. handle = "+r),ce.get(r).value),toHandle:r=>{switch(r){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return ce.allocate({refcount:1,value:r})}}};function ve(r,e,t){switch(e){case 0:return function(r){var e=t?_:k;return this.fromWireType(e[r])};case 1:return function(r){var e=t?P:C;return this.fromWireType(e[r>>1])};case 2:return function(r){var e=t?A:T;return this.fromWireType(e[r>>2])};default:throw new TypeError("Unknown integer type: "+r)}}function pe(r,e){var t=ar[r];return void 0===t&&gr(e+" has unknown type "+oe(r)),t}function he(r){if(null===r)return"null";var e=typeof r;return"object"===e||"array"===e||"function"===e?r.toString():""+r}function ge(r,e){switch(e){case 2:return function(r){return this.fromWireType(B[r>>2])};case 3:return function(r){return this.fromWireType(S[r>>3])};default:throw new TypeError("Unknown float type: "+r)}}function ye(r,e,t){switch(e){case 0:return t?function(r){return _[r]}:function(r){return k[r]};case 1:return t?function(r){return P[r>>1]}:function(r){return C[r>>1]};case 2:return t?function(r){return A[r>>2]}:function(r){return T[r>>2]};default:throw new TypeError("Unknown integer type: "+r)}}function be(r,e,t,n){if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i<r.length;++i){var s=r.charCodeAt(i);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&r.charCodeAt(++i);if(s<=127){if(t>=a)break;e[t++]=s}else if(s<=2047){if(t+1>=a)break;e[t++]=192|s>>6,e[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;e[t++]=224|s>>12,e[t++]=128|s>>6&63,e[t++]=128|63&s}else{if(t+3>=a)break;e[t++]=240|s>>18,e[t++]=128|s>>12&63,e[t++]=128|s>>6&63,e[t++]=128|63&s}}return e[t]=0,t-o}function we(r,e,t){return be(r,k,e,t)}function Ee(r){for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++t):e+=3}return e}var xe="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function _e(r,e,t){for(var n=e+t,o=e;r[o]&&!(o>=n);)++o;if(o-e>16&&r.buffer&&xe)return xe.decode(r.subarray(e,o));for(var a="";e<o;){var i=r[e++];if(128&i){var s=63&r[e++];if(192!=(224&i)){var u=63&r[e++];if((i=224==(240&i)?(15&i)<<12|s<<6|u:(7&i)<<18|s<<12|u<<6|63&r[e++])<65536)a+=String.fromCharCode(i);else{var f=i-65536;a+=String.fromCharCode(55296|f>>10,56320|1023&f)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a}function ke(r,e){return r?_e(k,r,e):""}var Pe="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Ce(r,e){for(var t=r,n=t>>1,o=n+e/2;!(n>=o)&&C[n];)++n;if((t=n<<1)-r>32&&Pe)return Pe.decode(k.subarray(r,t));for(var a="",i=0;!(i>=e/2);++i){var s=P[r+2*i>>1];if(0==s)break;a+=String.fromCharCode(s)}return a}function Ae(r,e,t){if(void 0===t&&(t=2147483647),t<2)return 0;for(var n=e,o=(t-=2)<2*r.length?t/2:r.length,a=0;a<o;++a){var i=r.charCodeAt(a);P[e>>1]=i,e+=2}return P[e>>1]=0,e-n}function Te(r){return 2*r.length}function Be(r,e){for(var t=0,n="";!(t>=e/4);){var o=A[r+4*t>>2];if(0==o)break;if(++t,o>=65536){var a=o-65536;n+=String.fromCharCode(55296|a>>10,56320|1023&a)}else n+=String.fromCharCode(o)}return n}function Se(r,e,t){if(void 0===t&&(t=2147483647),t<4)return 0;for(var n=e,o=n+t-4,a=0;a<r.length;++a){var i=r.charCodeAt(a);if(i>=55296&&i<=57343)i=65536+((1023&i)<<10)|1023&r.charCodeAt(++a);if(A[e>>2]=i,(e+=4)+4>o)break}return A[e>>2]=0,e-n}function $e(r){for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n>=55296&&n<=57343&&++t,e+=4}return e}var De={};function Fe(r){var e=De[r];return void 0===e?pr(r):e}var Me=[];var Ie=[];var Le={};var je={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function(r){je.lastError||(je.lastError=r)},getNewId:function(r){for(var e=je.counter++,t=r.length;t<e;t++)r[t]=null;return e},MAX_TEMP_BUFFER_SIZE:2097152,numTempVertexBuffersPerSize:64,log2ceilLookup:function(r){return 32-Math.clz32(0===r?0:r-1)},generateTempBuffers:function(r,e){var t=je.log2ceilLookup(je.MAX_TEMP_BUFFER_SIZE);e.tempVertexBufferCounters1=[],e.tempVertexBufferCounters2=[],e.tempVertexBufferCounters1.length=e.tempVertexBufferCounters2.length=t+1,e.tempVertexBuffers1=[],e.tempVertexBuffers2=[],e.tempVertexBuffers1.length=e.tempVertexBuffers2.length=t+1,e.tempIndexBuffers=[],e.tempIndexBuffers.length=t+1;for(var n=0;n<=t;++n){e.tempIndexBuffers[n]=null,e.tempVertexBufferCounters1[n]=e.tempVertexBufferCounters2[n]=0;var o=je.numTempVertexBuffersPerSize;e.tempVertexBuffers1[n]=[],e.tempVertexBuffers2[n]=[];var a=e.tempVertexBuffers1[n],i=e.tempVertexBuffers2[n];a.length=i.length=o;for(var s=0;s<o;++s)a[s]=i[s]=null}if(r){e.tempQuadIndexBuffer=Os.createBuffer(),e.GLctx.bindBuffer(34963,e.tempQuadIndexBuffer);for(var u=je.MAX_TEMP_BUFFER_SIZE>>1,f=new Uint16Array(u),c=(n=0,0);!(f[n++]=c,n>=u||(f[n++]=c+1,n>=u)||(f[n++]=c+2,n>=u)||(f[n++]=c,n>=u)||(f[n++]=c+2,n>=u)||(f[n++]=c+3,n>=u));)c+=4;e.GLctx.bufferData(34963,f,35044),e.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:function(r){var e=je.log2ceilLookup(r),t=je.currentContext.tempVertexBuffers1[e],n=je.currentContext.tempVertexBufferCounters1[e];je.currentContext.tempVertexBufferCounters1[e]=je.currentContext.tempVertexBufferCounters1[e]+1&je.numTempVertexBuffersPerSize-1;var o=t[n];if(o)return o;var a=Os.getParameter(34964);return t[n]=Os.createBuffer(),Os.bindBuffer(34962,t[n]),Os.bufferData(34962,1<<e,35048),Os.bindBuffer(34962,a),t[n]},getTempIndexBuffer:function(r){var e=je.log2ceilLookup(r),t=je.currentContext.tempIndexBuffers[e];if(t)return t;var n=Os.getParameter(34965);return je.currentContext.tempIndexBuffers[e]=Os.createBuffer(),Os.bindBuffer(34963,je.currentContext.tempIndexBuffers[e]),Os.bufferData(34963,1<<e,35048),Os.bindBuffer(34963,n),je.currentContext.tempIndexBuffers[e]},newRenderingFrameStarted:function(){if(je.currentContext){var r=je.currentContext.tempVertexBuffers1;je.currentContext.tempVertexBuffers1=je.currentContext.tempVertexBuffers2,je.currentContext.tempVertexBuffers2=r,r=je.currentContext.tempVertexBufferCounters1,je.currentContext.tempVertexBufferCounters1=je.currentContext.tempVertexBufferCounters2,je.currentContext.tempVertexBufferCounters2=r;for(var e=je.log2ceilLookup(je.MAX_TEMP_BUFFER_SIZE),t=0;t<=e;++t)je.currentContext.tempVertexBufferCounters1[t]=0}},getSource:function(r,e,t,n){for(var o="",a=0;a<e;++a){var i=n?A[n+4*a>>2]:-1;o+=ke(A[t+4*a>>2],i<0?void 0:i)}return o},calcBufLength:function(r,e,t,n){return t>0?n*t:r*je.byteSizeByType[e-je.byteSizeByTypeRoot]*n},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:function(r){je.resetBufferBinding=!1;for(var e=0;e<je.currentContext.maxVertexAttribs;++e){var t=je.currentContext.clientBuffers[e];if(t.clientside&&t.enabled){je.resetBufferBinding=!0;var n=je.calcBufLength(t.size,t.type,t.stride,r),o=je.getTempVertexBuffer(n);Os.bindBuffer(34962,o),Os.bufferSubData(34962,0,k.subarray(t.ptr,t.ptr+n)),t.vertexAttribPointerAdaptor.call(Os,e,t.size,t.type,t.normalized,t.stride,0)}}},postDrawHandleClientVertexAttribBindings:function(){je.resetBufferBinding&&Os.bindBuffer(34962,je.buffers[Os.currentArrayBufferBinding])},createContext:function(r,e){if(a.preinitializedWebGLContext){var t=a.preinitializedWebGLContext;e.majorVersion=Number(t.getParameter(t.VERSION).match(/^WebGL (\d+).\d+/)[1])}else{if(!r.getContextSafariWebGL2Fixed){r.getContextSafariWebGL2Fixed=r.getContext,r.getContext=function(e,t){var n=r.getContextSafariWebGL2Fixed(e,t);return"webgl"==e==n instanceof WebGLRenderingContext?n:null}}t=e.majorVersion>1?r.getContext("webgl2",e):r.getContext("webgl",e)}return t?je.registerContext(t,e):0},registerContext:function(r,e){var t=je.getNewId(je.contexts),n={handle:t,attributes:e,version:e.majorVersion,GLctx:r};r.canvas&&(r.canvas.GLctxObject=n),je.contexts[t]=n,(void 0===e.enableExtensionsByDefault||e.enableExtensionsByDefault)&&je.initExtensions(n),n.maxVertexAttribs=n.GLctx.getParameter(34921),n.clientBuffers=[];for(var o=0;o<n.maxVertexAttribs;o++)n.clientBuffers[o]={enabled:!1,clientside:!1,size:0,type:0,normalized:0,stride:0,ptr:0,vertexAttribPointerAdaptor:null};return je.generateTempBuffers(!1,n),t},makeContextCurrent:function(r){return je.currentContext=je.contexts[r],a.ctx=Os=je.currentContext&&je.currentContext.GLctx,!(r&&!Os)},getContext:function(r){return je.contexts[r]},deleteContext:function(r){je.currentContext===je.contexts[r]&&(je.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(je.contexts[r].GLctx.canvas),je.contexts[r]&&je.contexts[r].GLctx.canvas&&(je.contexts[r].GLctx.canvas.GLctxObject=void 0),je.contexts[r]=null},initExtensions:function(r){if(r||(r=je.currentContext),!r.initExtensionsDone){r.initExtensionsDone=!0;var e,t=r.GLctx;!function(r){var e=r.getExtension("ANGLE_instanced_arrays");if(e)r.vertexAttribDivisor=function(r,t){e.vertexAttribDivisorANGLE(r,t)},r.drawArraysInstanced=function(r,t,n,o){e.drawArraysInstancedANGLE(r,t,n,o)},r.drawElementsInstanced=function(r,t,n,o,a){e.drawElementsInstancedANGLE(r,t,n,o,a)}}(t),function(r){var e=r.getExtension("OES_vertex_array_object");if(e)r.createVertexArray=function(){return e.createVertexArrayOES()},r.deleteVertexArray=function(r){e.deleteVertexArrayOES(r)},r.bindVertexArray=function(r){e.bindVertexArrayOES(r)},r.isVertexArray=function(r){return e.isVertexArrayOES(r)}}(t),function(r){var e=r.getExtension("WEBGL_draw_buffers");if(e)r.drawBuffers=function(r,t){e.drawBuffersWEBGL(r,t)}}(t),(e=t).dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),function(r){r.mdibvbi=r.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")}(t),r.version>=2&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query_webgl2")),(r.version<2||!t.disjointTimerQueryExt)&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query")),function(r){r.multiDrawWebgl=r.getExtension("WEBGL_multi_draw")}(t),(t.getSupportedExtensions()||[]).forEach((function(r){r.includes("lose_context")||r.includes("debug")||t.getExtension(r)}))}}};var Re=function(r){Os.activeTexture(r)};var Ve=function(r,e){Os.attachShader(je.programs[r],je.shaders[e])};var Oe=function(r,e){Os.beginQuery(r,je.queries[e])};var Ue=function(r,e){Os.disjointTimerQueryExt.beginQueryEXT(r,je.queries[e])};var Ne=function(r){Os.beginTransformFeedback(r)};var We=function(r,e,t){Os.bindAttribLocation(je.programs[r],e,ke(t))};var ze=function(r,e){34962==r?Os.currentArrayBufferBinding=e:34963==r&&(Os.currentElementArrayBufferBinding=e),35051==r?Os.currentPixelPackBufferBinding=e:35052==r&&(Os.currentPixelUnpackBufferBinding=e),Os.bindBuffer(r,je.buffers[e])};var Ge=function(r,e,t){Os.bindBufferBase(r,e,je.buffers[t])};var He=function(r,e,t,n,o){Os.bindBufferRange(r,e,je.buffers[t],n,o)};var qe=function(r,e){Os.bindFramebuffer(r,je.framebuffers[e])};var Qe=function(r,e){Os.bindRenderbuffer(r,je.renderbuffers[e])};var Xe=function(r,e){Os.bindSampler(r,je.samplers[e])};var Ye=function(r,e){Os.bindTexture(r,je.textures[e])};var Ze=function(r,e){Os.bindTransformFeedback(r,je.transformFeedbacks[e])};function Je(r){Os.bindVertexArray(je.vaos[r]);var e=Os.getParameter(34965);Os.currentElementArrayBufferBinding=e?0|e.name:0}var Ke=Je,rt=Je;var et=function(r,e,t,n){Os.blendColor(r,e,t,n)};var tt=function(r){Os.blendEquation(r)};var nt=function(r,e){Os.blendEquationSeparate(r,e)};var ot=function(r,e){Os.blendFunc(r,e)};var at=function(r,e,t,n){Os.blendFuncSeparate(r,e,t,n)};var it=function(r,e,t,n,o,a,i,s,u,f){Os.blitFramebuffer(r,e,t,n,o,a,i,s,u,f)};var st=function(r,e,t,n){je.currentContext.version>=2?t&&e?Os.bufferData(r,k,n,t,e):Os.bufferData(r,e,n):Os.bufferData(r,t?k.subarray(t,t+e):e,n)};var ut=function(r,e,t,n){je.currentContext.version>=2?t&&Os.bufferSubData(r,e,k,n,t):Os.bufferSubData(r,e,k.subarray(n,n+t))};var ft=function(r){return Os.checkFramebufferStatus(r)};var ct=function(r){Os.clear(r)};var lt=function(r,e,t,n){Os.clearBufferfi(r,e,t,n)};var dt=function(r,e,t){Os.clearBufferfv(r,e,B,t>>2)};var mt=function(r,e,t){Os.clearBufferiv(r,e,A,t>>2)};var vt=function(r,e,t){Os.clearBufferuiv(r,e,T,t>>2)};var pt=function(r,e,t,n){Os.clearColor(r,e,t,n)};var ht=function(r){Os.clearDepth(r)};var gt=function(r){Os.clearStencil(r)};function yt(r,e){return(r>>>0)+4294967296*e}var bt=function(r,e,t,n){var o=yt(t,n);return Os.clientWaitSync(je.syncs[r],e,o)};var wt=function(r,e,t,n){Os.colorMask(!!r,!!e,!!t,!!n)};var Et=function(r){Os.compileShader(je.shaders[r])};var xt=function(r,e,t,n,o,a,i,s){je.currentContext.version>=2?Os.currentPixelUnpackBufferBinding||!i?Os.compressedTexImage2D(r,e,t,n,o,a,i,s):Os.compressedTexImage2D(r,e,t,n,o,a,k,s,i):Os.compressedTexImage2D(r,e,t,n,o,a,s?k.subarray(s,s+i):null)};var _t=function(r,e,t,n,o,a,i,s,u){Os.currentPixelUnpackBufferBinding?Os.compressedTexImage3D(r,e,t,n,o,a,i,s,u):Os.compressedTexImage3D(r,e,t,n,o,a,i,k,u,s)};var kt=function(r,e,t,n,o,a,i,s,u){je.currentContext.version>=2?Os.currentPixelUnpackBufferBinding||!s?Os.compressedTexSubImage2D(r,e,t,n,o,a,i,s,u):Os.compressedTexSubImage2D(r,e,t,n,o,a,i,k,u,s):Os.compressedTexSubImage2D(r,e,t,n,o,a,i,u?k.subarray(u,u+s):null)};var Pt=function(r,e,t,n,o,a,i,s,u,f,c){Os.currentPixelUnpackBufferBinding?Os.compressedTexSubImage3D(r,e,t,n,o,a,i,s,u,f,c):Os.compressedTexSubImage3D(r,e,t,n,o,a,i,s,u,k,c,f)};var Ct=function(r,e,t,n,o){Os.copyBufferSubData(r,e,t,n,o)};var At=function(r,e,t,n,o,a,i,s){Os.copyTexImage2D(r,e,t,n,o,a,i,s)};var Tt=function(r,e,t,n,o,a,i,s){Os.copyTexSubImage2D(r,e,t,n,o,a,i,s)};var Bt=function(r,e,t,n,o,a,i,s,u){Os.copyTexSubImage3D(r,e,t,n,o,a,i,s,u)};var St=function(){var r=je.getNewId(je.programs),e=Os.createProgram();return e.name=r,e.maxUniformLength=e.maxAttributeLength=e.maxUniformBlockNameLength=0,e.uniformIdCounter=1,je.programs[r]=e,r};var $t=function(r){var e=je.getNewId(je.shaders);return je.shaders[e]=Os.createShader(r),e};var Dt=function(r){Os.cullFace(r)};var Ft=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.buffers[n];o&&(Os.deleteBuffer(o),o.name=0,je.buffers[n]=null,n==Os.currentArrayBufferBinding&&(Os.currentArrayBufferBinding=0),n==Os.currentElementArrayBufferBinding&&(Os.currentElementArrayBufferBinding=0),n==Os.currentPixelPackBufferBinding&&(Os.currentPixelPackBufferBinding=0),n==Os.currentPixelUnpackBufferBinding&&(Os.currentPixelUnpackBufferBinding=0))}};var Mt=function(r,e){for(var t=0;t<r;++t){var n=A[e+4*t>>2],o=je.framebuffers[n];o&&(Os.deleteFramebuffer(o),o.name=0,je.framebuffers[n]=null)}};var It=function(r){if(r){var e=je.programs[r];e?(Os.deleteProgram(e),e.name=0,je.programs[r]=null):je.recordError(1281)}};var Lt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.queries[n];o&&(Os.deleteQuery(o),je.queries[n]=null)}};var jt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.queries[n];o&&(Os.disjointTimerQueryExt.deleteQueryEXT(o),je.queries[n]=null)}};var Rt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.renderbuffers[n];o&&(Os.deleteRenderbuffer(o),o.name=0,je.renderbuffers[n]=null)}};var Vt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.samplers[n];o&&(Os.deleteSampler(o),o.name=0,je.samplers[n]=null)}};var Ot=function(r){if(r){var e=je.shaders[r];e?(Os.deleteShader(e),je.shaders[r]=null):je.recordError(1281)}};var Ut=function(r){if(r){var e=je.syncs[r];e?(Os.deleteSync(e),e.name=0,je.syncs[r]=null):je.recordError(1281)}};var Nt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.textures[n];o&&(Os.deleteTexture(o),o.name=0,je.textures[n]=null)}};var Wt=function(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2],o=je.transformFeedbacks[n];o&&(Os.deleteTransformFeedback(o),o.name=0,je.transformFeedbacks[n]=null)}};function zt(r,e){for(var t=0;t<r;t++){var n=A[e+4*t>>2];Os.deleteVertexArray(je.vaos[n]),je.vaos[n]=null}}var Gt=zt,Ht=zt;var qt=function(r){Os.depthFunc(r)};var Qt=function(r){Os.depthMask(!!r)};var Xt=function(r,e){Os.depthRange(r,e)};var Yt=function(r,e){Os.detachShader(je.programs[r],je.shaders[e])};var Zt=function(r){Os.disable(r)};var Jt=function(r){je.currentContext.clientBuffers[r].enabled=!1,Os.disableVertexAttribArray(r)};var Kt=function(r,e,t){je.preDrawHandleClientVertexAttribBindings(e+t),Os.drawArrays(r,e,t),je.postDrawHandleClientVertexAttribBindings()};function rn(r,e,t,n){Os.drawArraysInstanced(r,e,t,n)}var en=rn,tn=rn,nn=rn,on=rn,an=rn,sn=[];function un(r,e){for(var t=sn[r],n=0;n<r;n++)t[n]=A[e+4*n>>2];Os.drawBuffers(t)}var fn=un,cn=un,ln=un;function dn(r,e,t,n){var o;if(!Os.currentElementArrayBufferBinding){var a=je.calcBufLength(1,t,0,e);o=je.getTempIndexBuffer(a),Os.bindBuffer(34963,o),Os.bufferSubData(34963,0,k.subarray(n,n+a)),n=0}je.preDrawHandleClientVertexAttribBindings(e),Os.drawElements(r,e,t,n),je.postDrawHandleClientVertexAttribBindings(e),Os.currentElementArrayBufferBinding||Os.bindBuffer(34963,null)}var mn=dn;function vn(r,e,t,n,o){Os.drawElementsInstanced(r,e,t,n,o)}var pn=vn,hn=vn,gn=vn,yn=vn,bn=vn;var wn=function(r,e,t,n,o,a){dn(r,n,o,a)};var En=function(r){Os.enable(r)};var xn=function(r){je.currentContext.clientBuffers[r].enabled=!0,Os.enableVertexAttribArray(r)};var _n=function(r){Os.endQuery(r)};var kn=function(r){Os.disjointTimerQueryExt.endQueryEXT(r)};var Pn=function(){Os.endTransformFeedback()};var Cn=function(r,e){var t=Os.fenceSync(r,e);if(t){var n=je.getNewId(je.syncs);return t.name=n,je.syncs[n]=t,n}return 0};var An=function(){Os.finish()};var Tn=function(){Os.flush()};function Bn(r){switch(r){case 34962:r=34964;break;case 34963:r=34965;break;case 35051:r=35053;break;case 35052:r=35055;break;case 35982:r=35983;break;case 36662:r=36662;break;case 36663:r=36663;break;case 35345:r=35368}var e=Os.getParameter(r);return e?0|e.name:0}function Sn(r){switch(r){case 34962:case 34963:case 36662:case 36663:case 35051:case 35052:case 35882:case 35982:case 35345:return!0;default:return!1}}var $n=function(r,e,t){if(!Sn(r))return je.recordError(1280),void w("GL_INVALID_ENUM in glFlushMappedBufferRange");var n=je.mappedBuffers[Bn(r)];return n?16&n.access?e<0||t<0||e+t>n.length?(je.recordError(1281),void w("invalid range in glFlushMappedBufferRange")):void Os.bufferSubData(r,n.offset,k.subarray(n.mem+e,n.mem+e+t)):(je.recordError(1282),void w("buffer was not mapped with GL_MAP_FLUSH_EXPLICIT_BIT in glFlushMappedBufferRange")):(je.recordError(1282),void w("buffer was never mapped in glFlushMappedBufferRange"))};var Dn=function(r,e,t,n){Os.framebufferRenderbuffer(r,e,t,je.renderbuffers[n])};var Fn=function(r,e,t,n,o){Os.framebufferTexture2D(r,e,t,je.textures[n],o)};var Mn=function(r,e,t,n,o){Os.framebufferTextureLayer(r,e,je.textures[t],n,o)};var In=function(r){Os.frontFace(r)};function Ln(r,e,t,n){for(var o=0;o<r;o++){var a=Os[t](),i=a&&je.getNewId(n);a?(a.name=i,n[i]=a):je.recordError(1282),A[e+4*o>>2]=i}}var jn=function(r,e){Ln(r,e,"createBuffer",je.buffers)};var Rn=function(r,e){Ln(r,e,"createFramebuffer",je.framebuffers)};var Vn=function(r,e){Ln(r,e,"createQuery",je.queries)};var On=function(r,e){for(var t=0;t<r;t++){var n=Os.disjointTimerQueryExt.createQueryEXT();if(!n){for(je.recordError(1282);t<r;)A[e+4*t++>>2]=0;return}var o=je.getNewId(je.queries);n.name=o,je.queries[o]=n,A[e+4*t>>2]=o}};var Un=function(r,e){Ln(r,e,"createRenderbuffer",je.renderbuffers)};var Nn=function(r,e){Ln(r,e,"createSampler",je.samplers)};var Wn=function(r,e){Ln(r,e,"createTexture",je.textures)};var zn=function(r,e){Ln(r,e,"createTransformFeedback",je.transformFeedbacks)};function Gn(r,e){Ln(r,e,"createVertexArray",je.vaos)}var Hn=Gn,qn=Gn;var Qn=function(r){Os.generateMipmap(r)};function Xn(r,e,t,n,o,a,i,s){e=je.programs[e];var u=Os[r](e,t);if(u){var f=s&&we(u.name,s,n);o&&(A[o>>2]=f),a&&(A[a>>2]=u.size),i&&(A[i>>2]=u.type)}}var Yn=function(r,e,t,n,o,a,i){Xn("getActiveAttrib",r,e,t,n,o,a,i)};var Zn=function(r,e,t,n,o,a,i){Xn("getActiveUniform",r,e,t,n,o,a,i)};var Jn=function(r,e,t,n,o){r=je.programs[r];var a=Os.getActiveUniformBlockName(r,e);if(a)if(o&&t>0){var i=we(a,o,t);n&&(A[n>>2]=i)}else n&&(A[n>>2]=0)};var Kn=function(r,e,t,n){if(n)if(r=je.programs[r],35393!=t){var o=Os.getActiveUniformBlockParameter(r,e,t);if(null!==o)if(35395==t)for(var a=0;a<o.length;a++)A[n+4*a>>2]=o[a];else A[n>>2]=o}else{var i=Os.getActiveUniformBlockName(r,e);A[n>>2]=i.length+1}else je.recordError(1281)};var ro=function(r,e,t,n,o){if(o)if(e>0&&0==t)je.recordError(1281);else{r=je.programs[r];for(var a=[],i=0;i<e;i++)a.push(A[t+4*i>>2]);var s=Os.getActiveUniforms(r,a,n);if(s){var u=s.length;for(i=0;i<u;i++)A[o+4*i>>2]=s[i]}}else je.recordError(1281)};var eo=function(r,e,t,n){var o=Os.getAttachedShaders(je.programs[r]),a=o.length;a>e&&(a=e),A[t>>2]=a;for(var i=0;i<a;++i){var s=je.shaders.indexOf(o[i]);A[n+4*i>>2]=s}};var to=function(r,e){return Os.getAttribLocation(je.programs[r],ke(e))};function no(r,e){T[r>>2]=e,T[r+4>>2]=(e-T[r>>2])/4294967296}function oo(r,e,t){if(e){var n=void 0;switch(r){case 36346:n=1;break;case 36344:return void(0!=t&&1!=t&&je.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var o=Os.getParameter(34467);n=o?o.length:0;break;case 33309:if(je.currentContext.version<2)return void je.recordError(1282);n=2*(Os.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(je.currentContext.version<2)return void je.recordError(1280);n=33307==r?3:0}if(void 0===n){var a=Os.getParameter(r);switch(typeof a){case"number":n=a;break;case"boolean":n=a?1:0;break;case"string":return void je.recordError(1280);case"object":if(null===a)switch(r){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void je.recordError(1280)}else{if(a instanceof Float32Array||a instanceof Uint32Array||a instanceof Int32Array||a instanceof Array){for(var i=0;i<a.length;++i)switch(t){case 0:A[e+4*i>>2]=a[i];break;case 2:B[e+4*i>>2]=a[i];break;case 4:_[e+i|0]=a[i]?1:0}return}try{n=0|a.name}catch(e){return je.recordError(1280),void w("GL_INVALID_ENUM in glGet"+t+"v: Unknown object returned from WebGL getParameter("+r+")! (error: "+e+")")}}break;default:return je.recordError(1280),void w("GL_INVALID_ENUM in glGet"+t+"v: Native code calling glGet"+t+"v("+r+") and it returns "+a+" of type "+typeof a+"!")}}switch(t){case 1:no(e,n);break;case 0:A[e>>2]=n;break;case 2:B[e>>2]=n;break;case 4:_[e|0]=n?1:0}}else je.recordError(1281)}var ao=function(r,e){oo(r,e,4)};var io=function(r,e,t){t?no(t,Os.getBufferParameter(r,e)):je.recordError(1281)};var so=function(r,e,t){t?A[t>>2]=Os.getBufferParameter(r,e):je.recordError(1281)};var uo=function(r,e,t){if(35005==e){var n=0,o=je.mappedBuffers[Bn(r)];o&&(n=o.mem),A[t>>2]=n}else je.recordError(1280),w("GL_INVALID_ENUM in glGetBufferPointerv")};var fo=function(){var r=Os.getError()||je.lastError;return je.lastError=0,r};var co=function(r,e){oo(r,e,2)};var lo=function(r,e){return Os.getFragDataLocation(je.programs[r],ke(e))};var mo=function(r,e,t,n){var o=Os.getFramebufferAttachmentParameter(r,e,t);(o instanceof WebGLRenderbuffer||o instanceof WebGLTexture)&&(o=0|o.name),A[n>>2]=o};function vo(r,e,t,n){if(t){var o,a=Os.getIndexedParameter(r,e);switch(typeof a){case"boolean":o=a?1:0;break;case"number":o=a;break;case"object":if(null===a)switch(r){case 35983:case 35368:o=0;break;default:return void je.recordError(1280)}else{if(!(a instanceof WebGLBuffer))return void je.recordError(1280);o=0|a.name}break;default:return void je.recordError(1280)}switch(n){case 1:no(t,o);break;case 0:A[t>>2]=o;break;case 2:B[t>>2]=o;break;case 4:_[t|0]=o?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+n}}else je.recordError(1281)}var po=function(r,e,t){vo(r,e,t,1)};var ho=function(r,e){oo(r,e,1)};var go=function(r,e,t){vo(r,e,t,0)};var yo=function(r,e){oo(r,e,0)};var bo=function(r,e,t,n,o){if(n<0)je.recordError(1281);else if(o){var a=Os.getInternalformatParameter(r,e,t);if(null!==a)for(var i=0;i<a.length&&i<n;++i)A[o+4*i>>2]=a[i]}else je.recordError(1281)};var wo=function(r,e,t,n,o){je.recordError(1282)};var Eo=function(r,e,t,n){var o=Os.getProgramInfoLog(je.programs[r]);null===o&&(o="(unknown error)");var a=e>0&&n?we(o,n,e):0;t&&(A[t>>2]=a)};var xo=function(r,e,t){if(t)if(r>=je.counter)je.recordError(1281);else if(r=je.programs[r],35716==e){var n=Os.getProgramInfoLog(r);null===n&&(n="(unknown error)"),A[t>>2]=n.length+1}else if(35719==e){if(!r.maxUniformLength)for(var o=0;o<Os.getProgramParameter(r,35718);++o)r.maxUniformLength=Math.max(r.maxUniformLength,Os.getActiveUniform(r,o).name.length+1);A[t>>2]=r.maxUniformLength}else if(35722==e){if(!r.maxAttributeLength)for(o=0;o<Os.getProgramParameter(r,35721);++o)r.maxAttributeLength=Math.max(r.maxAttributeLength,Os.getActiveAttrib(r,o).name.length+1);A[t>>2]=r.maxAttributeLength}else if(35381==e){if(!r.maxUniformBlockNameLength)for(o=0;o<Os.getProgramParameter(r,35382);++o)r.maxUniformBlockNameLength=Math.max(r.maxUniformBlockNameLength,Os.getActiveUniformBlockName(r,o).length+1);A[t>>2]=r.maxUniformBlockNameLength}else A[t>>2]=Os.getProgramParameter(r,e);else je.recordError(1281)};function _o(r,e,t){if(t){var n,o=je.queries[r];no(t,"boolean"==typeof(n=je.currentContext.version<2?Os.disjointTimerQueryExt.getQueryObjectEXT(o,e):Os.getQueryParameter(o,e))?n?1:0:n)}else je.recordError(1281)}var ko=_o;function Po(r,e,t){if(t){var n,o=je.queries[r],a=Os.disjointTimerQueryExt.getQueryObjectEXT(o,e);n="boolean"==typeof a?a?1:0:a,A[t>>2]=n}else je.recordError(1281)}var Co=Po,Ao=_o;var To=function(r,e,t){if(t){var n,o=je.queries[r],a=Os.getQueryParameter(o,e);n="boolean"==typeof a?a?1:0:a,A[t>>2]=n}else je.recordError(1281)},Bo=Po;var So=function(r,e,t){t?A[t>>2]=Os.getQuery(r,e):je.recordError(1281)};var $o=function(r,e,t){t?A[t>>2]=Os.disjointTimerQueryExt.getQueryEXT(r,e):je.recordError(1281)};var Do=function(r,e,t){t?A[t>>2]=Os.getRenderbufferParameter(r,e):je.recordError(1281)};var Fo=function(r,e,t){t?B[t>>2]=Os.getSamplerParameter(je.samplers[r],e):je.recordError(1281)};var Mo=function(r,e,t){t?A[t>>2]=Os.getSamplerParameter(je.samplers[r],e):je.recordError(1281)};var Io=function(r,e,t,n){var o=Os.getShaderInfoLog(je.shaders[r]);null===o&&(o="(unknown error)");var a=e>0&&n?we(o,n,e):0;t&&(A[t>>2]=a)};var Lo=function(r,e,t,n){var o=Os.getShaderPrecisionFormat(r,e);A[t>>2]=o.rangeMin,A[t+4>>2]=o.rangeMax,A[n>>2]=o.precision};var jo=function(r,e,t,n){var o=Os.getShaderSource(je.shaders[r]);if(o){var a=e>0&&n?we(o,n,e):0;t&&(A[t>>2]=a)}};var Ro=function(r,e,t){if(t)if(35716==e){var n=Os.getShaderInfoLog(je.shaders[r]);null===n&&(n="(unknown error)");var o=n?n.length+1:0;A[t>>2]=o}else if(35720==e){var a=Os.getShaderSource(je.shaders[r]),i=a?a.length+1:0;A[t>>2]=i}else A[t>>2]=Os.getShaderParameter(je.shaders[r],e);else je.recordError(1281)};function Vo(r){var e=Ee(r)+1,t=Ks(e);return t&&we(r,t,e),t}var Oo=function(r){var e=je.stringCache[r];if(!e){switch(r){case 7939:var t=Os.getSupportedExtensions()||[];e=Vo((t=t.concat(t.map((function(r){return"GL_"+r})))).join(" "));break;case 7936:case 7937:case 37445:case 37446:var n=Os.getParameter(r);n||je.recordError(1280),e=n&&Vo(n);break;case 7938:var o=Os.getParameter(7938);e=Vo(o=je.currentContext.version>=2?"OpenGL ES 3.0 ("+o+")":"OpenGL ES 2.0 ("+o+")");break;case 35724:var a=Os.getParameter(35724),i=a.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==i&&(3==i[1].length&&(i[1]=i[1]+"0"),a="OpenGL ES GLSL ES "+i[1]+" ("+a+")"),e=Vo(a);break;default:je.recordError(1280)}je.stringCache[r]=e}return e};var Uo=function(r,e){if(je.currentContext.version<2)return je.recordError(1282),0;var t=je.stringiCache[r];if(t)return e<0||e>=t.length?(je.recordError(1281),0):t[e];if(7939===r){var n=Os.getSupportedExtensions()||[];return n=(n=n.concat(n.map((function(r){return"GL_"+r})))).map((function(r){return Vo(r)})),t=je.stringiCache[r]=n,e<0||e>=t.length?(je.recordError(1281),0):t[e]}return je.recordError(1280),0};var No=function(r,e,t,n,o){if(t<0)je.recordError(1281);else if(o){var a=Os.getSyncParameter(je.syncs[r],e);null!==a&&(A[o>>2]=a,n&&(A[n>>2]=1))}else je.recordError(1281)};var Wo=function(r,e,t){t?B[t>>2]=Os.getTexParameter(r,e):je.recordError(1281)};var zo=function(r,e,t){t?A[t>>2]=Os.getTexParameter(r,e):je.recordError(1281)};var Go=function(r,e,t,n,o,a,i){r=je.programs[r];var s=Os.getTransformFeedbackVarying(r,e);if(s){if(i&&t>0){var u=we(s.name,i,t);n&&(A[n>>2]=u)}else n&&(A[n>>2]=0);o&&(A[o>>2]=s.size),a&&(A[a>>2]=s.type)}};var Ho=function(r,e){return Os.getUniformBlockIndex(je.programs[r],ke(e))};var qo=function(r,e,t,n){if(n)if(e>0&&(0==t||0==n))je.recordError(1281);else{r=je.programs[r];for(var o=[],a=0;a<e;a++)o.push(ke(A[t+4*a>>2]));var i=Os.getUniformIndices(r,o);if(i){var s=i.length;for(a=0;a<s;a++)A[n+4*a>>2]=i[a]}}else je.recordError(1281)};function Qo(r){return"]"==r.slice(-1)&&r.lastIndexOf("[")}function Xo(r){var e,t,n=r.uniformLocsById,o=r.uniformSizeAndIdsByName;if(!n)for(r.uniformLocsById=n={},r.uniformArrayNamesById={},e=0;e<Os.getProgramParameter(r,35718);++e){var a=Os.getActiveUniform(r,e),i=a.name,s=a.size,u=Qo(i),f=u>0?i.slice(0,u):i,c=r.uniformIdCounter;for(r.uniformIdCounter+=s,o[f]=[s,c],t=0;t<s;++t)n[c]=t,r.uniformArrayNamesById[c++]=f}}var Yo=function(r,e){if(e=ke(e),r=je.programs[r]){Xo(r);var t=r.uniformLocsById,n=0,o=e,a=Qo(e);a>0&&(s=e.slice(a+1),n=parseInt(s)>>>0,o=e.slice(0,a));var i=r.uniformSizeAndIdsByName[o];if(i&&n<i[0]&&(t[n+=i[1]]=t[n]||Os.getUniformLocation(r,e)))return n}else je.recordError(1281);var s;return-1};function Zo(r){var e=Os.currentProgram;if(e){var t=e.uniformLocsById[r];return"number"==typeof t&&(e.uniformLocsById[r]=t=Os.getUniformLocation(e,e.uniformArrayNamesById[r]+(t>0?"["+t+"]":""))),t}je.recordError(1282)}function Jo(r,e,t,n){if(t){Xo(r=je.programs[r]);var o=Os.getUniform(r,Zo(e));if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:A[t>>2]=o;break;case 2:B[t>>2]=o}else for(var a=0;a<o.length;a++)switch(n){case 0:A[t+4*a>>2]=o[a];break;case 2:B[t+4*a>>2]=o[a]}}else je.recordError(1281)}var Ko=function(r,e,t){Jo(r,e,t,2)};var ra=function(r,e,t){Jo(r,e,t,0)};var ea=function(r,e,t){Jo(r,e,t,0)};function ta(r,e,t,n){if(t){je.currentContext.clientBuffers[r].enabled&&w("glGetVertexAttrib*v on client-side array: not supported, bad data returned");var o=Os.getVertexAttrib(r,e);if(34975==e)A[t>>2]=o&&o.name;else if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:A[t>>2]=o;break;case 2:B[t>>2]=o;break;case 5:A[t>>2]=Math.fround(o)}else for(var a=0;a<o.length;a++)switch(n){case 0:A[t+4*a>>2]=o[a];break;case 2:B[t+4*a>>2]=o[a];break;case 5:A[t+4*a>>2]=Math.fround(o[a])}}else je.recordError(1281)}function na(r,e,t){ta(r,e,t,0)}var oa=na,aa=na;var ia=function(r,e,t){t?(je.currentContext.clientBuffers[r].enabled&&w("glGetVertexAttribPointer on client-side array: not supported, bad data returned"),A[t>>2]=Os.getVertexAttribOffset(r,e)):je.recordError(1281)};var sa=function(r,e,t){ta(r,e,t,2)};var ua=function(r,e,t){ta(r,e,t,5)};var fa=function(r,e){Os.hint(r,e)};var ca=function(r,e,t){for(var n=sn[e],o=0;o<e;o++)n[o]=A[t+4*o>>2];Os.invalidateFramebuffer(r,n)};var la=function(r,e,t,n,o,a,i){for(var s=sn[e],u=0;u<e;u++)s[u]=A[t+4*u>>2];Os.invalidateSubFramebuffer(r,s,n,o,a,i)};var da=function(r){var e=je.buffers[r];return e?Os.isBuffer(e):0};var ma=function(r){return Os.isEnabled(r)};var va=function(r){var e=je.framebuffers[r];return e?Os.isFramebuffer(e):0};var pa=function(r){return(r=je.programs[r])?Os.isProgram(r):0};var ha=function(r){var e=je.queries[r];return e?Os.isQuery(e):0};var ga=function(r){var e=je.queries[r];return e?Os.disjointTimerQueryExt.isQueryEXT(e):0};var ya=function(r){var e=je.renderbuffers[r];return e?Os.isRenderbuffer(e):0};var ba=function(r){var e=je.samplers[r];return e?Os.isSampler(e):0};var wa=function(r){var e=je.shaders[r];return e?Os.isShader(e):0};var Ea=function(r){return Os.isSync(je.syncs[r])};var xa=function(r){var e=je.textures[r];return e?Os.isTexture(e):0};var _a=function(r){return Os.isTransformFeedback(je.transformFeedbacks[r])};function ka(r){var e=je.vaos[r];return e?Os.isVertexArray(e):0}var Pa=ka,Ca=ka;var Aa=function(r){Os.lineWidth(r)};var Ta=function(r){r=je.programs[r],Os.linkProgram(r),r.uniformLocsById=0,r.uniformSizeAndIdsByName={}};var Ba=function(r,e,t,n){if(33&n)return w("glMapBufferRange access does not support MAP_READ or MAP_UNSYNCHRONIZED"),0;if(!(2&n))return w("glMapBufferRange access must include MAP_WRITE"),0;if(!(12&n))return w("glMapBufferRange access must include INVALIDATE_BUFFER or INVALIDATE_RANGE"),0;if(!Sn(r))return je.recordError(1280),w("GL_INVALID_ENUM in glMapBufferRange"),0;var o=Ks(t);return o?(je.mappedBuffers[Bn(r)]={offset:e,length:t,mem:o,access:n},o):0};var Sa=function(){Os.pauseTransformFeedback()};var $a=function(r,e){3317==r&&(je.unpackAlignment=e),Os.pixelStorei(r,e)};var Da=function(r,e){Os.polygonOffset(r,e)};var Fa=function(r,e,t,n){je.recordError(1280)};var Ma=function(r,e,t){je.recordError(1280)};var Ia=function(r,e){Os.disjointTimerQueryExt.queryCounterEXT(je.queries[r],e)};var La=function(r){Os.readBuffer(r)};function ja(r){return 0==(r-=5120)?_:1==r?k:2==r?P:4==r?A:6==r?B:5==r||28922==r||28520==r||30779==r||30782==r?T:C}function Ra(r){return 31-Math.clz32(r.BYTES_PER_ELEMENT)}function Va(r,e,t,n,o,a){var i=ja(r),s=Ra(i),u=1<<s,f=function(r){return{5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[r-6402]||1}(e)*u,c=function(r,e,t,n){var o;return e*(r*t+(o=n)-1&-o)}(t,n,f,je.unpackAlignment);return i.subarray(o>>s,o+c>>s)}var Oa=function(r,e,t,n,o,a,i){if(je.currentContext.version>=2)if(Os.currentPixelPackBufferBinding)Os.readPixels(r,e,t,n,o,a,i);else{var s=ja(a);Os.readPixels(r,e,t,n,o,a,s,i>>Ra(s))}else{var u=Va(a,o,t,n,i);u?Os.readPixels(r,e,t,n,o,a,u):je.recordError(1280)}};var Ua=function(){};var Na=function(r,e,t,n){Os.renderbufferStorage(r,e,t,n)};var Wa=function(r,e,t,n,o){Os.renderbufferStorageMultisample(r,e,t,n,o)};var za=function(){Os.resumeTransformFeedback()};var Ga=function(r,e){Os.sampleCoverage(r,!!e)};var Ha=function(r,e,t){Os.samplerParameterf(je.samplers[r],e,t)};var qa=function(r,e,t){var n=B[t>>2];Os.samplerParameterf(je.samplers[r],e,n)};var Qa=function(r,e,t){Os.samplerParameteri(je.samplers[r],e,t)};var Xa=function(r,e,t){var n=A[t>>2];Os.samplerParameteri(je.samplers[r],e,n)};var Ya=function(r,e,t,n){Os.scissor(r,e,t,n)};var Za=function(r,e,t,n,o){je.recordError(1280)};var Ja=function(r,e,t,n){var o=je.getSource(r,e,t,n);Os.shaderSource(je.shaders[r],o)};var Ka=function(r,e,t){Os.stencilFunc(r,e,t)};var ri=function(r,e,t,n){Os.stencilFuncSeparate(r,e,t,n)};var ei=function(r){Os.stencilMask(r)};var ti=function(r,e){Os.stencilMaskSeparate(r,e)};var ni=function(r,e,t){Os.stencilOp(r,e,t)};var oi=function(r,e,t,n){Os.stencilOpSeparate(r,e,t,n)};var ai=function(r,e,t,n,o,a,i,s,u){if(je.currentContext.version>=2)if(Os.currentPixelUnpackBufferBinding)Os.texImage2D(r,e,t,n,o,a,i,s,u);else if(u){var f=ja(s);Os.texImage2D(r,e,t,n,o,a,i,s,f,u>>Ra(f))}else Os.texImage2D(r,e,t,n,o,a,i,s,null);else Os.texImage2D(r,e,t,n,o,a,i,s,u?Va(s,i,n,o,u):null)};var ii=function(r,e,t,n,o,a,i,s,u,f){if(Os.currentPixelUnpackBufferBinding)Os.texImage3D(r,e,t,n,o,a,i,s,u,f);else if(f){var c=ja(u);Os.texImage3D(r,e,t,n,o,a,i,s,u,c,f>>Ra(c))}else Os.texImage3D(r,e,t,n,o,a,i,s,u,null)};var si=function(r,e,t){Os.texParameterf(r,e,t)};var ui=function(r,e,t){var n=B[t>>2];Os.texParameterf(r,e,n)};var fi=function(r,e,t){Os.texParameteri(r,e,t)};var ci=function(r,e,t){var n=A[t>>2];Os.texParameteri(r,e,n)};var li=function(r,e,t,n,o){Os.texStorage2D(r,e,t,n,o)};var di=function(r,e,t,n,o,a){Os.texStorage3D(r,e,t,n,o,a)};var mi=function(r,e,t,n,o,a,i,s,u){if(je.currentContext.version>=2)if(Os.currentPixelUnpackBufferBinding)Os.texSubImage2D(r,e,t,n,o,a,i,s,u);else if(u){var f=ja(s);Os.texSubImage2D(r,e,t,n,o,a,i,s,f,u>>Ra(f))}else Os.texSubImage2D(r,e,t,n,o,a,i,s,null);else{var c=null;u&&(c=Va(s,i,o,a,u)),Os.texSubImage2D(r,e,t,n,o,a,i,s,c)}};var vi=function(r,e,t,n,o,a,i,s,u,f,c){if(Os.currentPixelUnpackBufferBinding)Os.texSubImage3D(r,e,t,n,o,a,i,s,u,f,c);else if(c){var l=ja(f);Os.texSubImage3D(r,e,t,n,o,a,i,s,u,f,l,c>>Ra(l))}else Os.texSubImage3D(r,e,t,n,o,a,i,s,u,f,null)};var pi=function(r,e,t,n){r=je.programs[r];for(var o=[],a=0;a<e;a++)o.push(ke(A[t+4*a>>2]));Os.transformFeedbackVaryings(r,o,n)};var hi=function(r,e){Os.uniform1f(Zo(r),e)},gi=[];var yi=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform1fv(Zo(r),B,t>>2,e);else{if(e<=288)for(var n=gi[e-1],o=0;o<e;++o)n[o]=B[t+4*o>>2];else n=B.subarray(t>>2,t+4*e>>2);Os.uniform1fv(Zo(r),n)}};var bi=function(r,e){Os.uniform1i(Zo(r),e)},wi=[];var Ei=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform1iv(Zo(r),A,t>>2,e);else{if(e<=288)for(var n=wi[e-1],o=0;o<e;++o)n[o]=A[t+4*o>>2];else n=A.subarray(t>>2,t+4*e>>2);Os.uniform1iv(Zo(r),n)}};var xi=function(r,e){Os.uniform1ui(Zo(r),e)};var _i=function(r,e,t){e&&Os.uniform1uiv(Zo(r),T,t>>2,e)};var ki=function(r,e,t){Os.uniform2f(Zo(r),e,t)};var Pi=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform2fv(Zo(r),B,t>>2,2*e);else{if(e<=144)for(var n=gi[2*e-1],o=0;o<2*e;o+=2)n[o]=B[t+4*o>>2],n[o+1]=B[t+(4*o+4)>>2];else n=B.subarray(t>>2,t+8*e>>2);Os.uniform2fv(Zo(r),n)}};var Ci=function(r,e,t){Os.uniform2i(Zo(r),e,t)};var Ai=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform2iv(Zo(r),A,t>>2,2*e);else{if(e<=144)for(var n=wi[2*e-1],o=0;o<2*e;o+=2)n[o]=A[t+4*o>>2],n[o+1]=A[t+(4*o+4)>>2];else n=A.subarray(t>>2,t+8*e>>2);Os.uniform2iv(Zo(r),n)}};var Ti=function(r,e,t){Os.uniform2ui(Zo(r),e,t)};var Bi=function(r,e,t){e&&Os.uniform2uiv(Zo(r),T,t>>2,2*e)};var Si=function(r,e,t,n){Os.uniform3f(Zo(r),e,t,n)};var $i=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform3fv(Zo(r),B,t>>2,3*e);else{if(e<=96)for(var n=gi[3*e-1],o=0;o<3*e;o+=3)n[o]=B[t+4*o>>2],n[o+1]=B[t+(4*o+4)>>2],n[o+2]=B[t+(4*o+8)>>2];else n=B.subarray(t>>2,t+12*e>>2);Os.uniform3fv(Zo(r),n)}};var Di=function(r,e,t,n){Os.uniform3i(Zo(r),e,t,n)};var Fi=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform3iv(Zo(r),A,t>>2,3*e);else{if(e<=96)for(var n=wi[3*e-1],o=0;o<3*e;o+=3)n[o]=A[t+4*o>>2],n[o+1]=A[t+(4*o+4)>>2],n[o+2]=A[t+(4*o+8)>>2];else n=A.subarray(t>>2,t+12*e>>2);Os.uniform3iv(Zo(r),n)}};var Mi=function(r,e,t,n){Os.uniform3ui(Zo(r),e,t,n)};var Ii=function(r,e,t){e&&Os.uniform3uiv(Zo(r),T,t>>2,3*e)};var Li=function(r,e,t,n,o){Os.uniform4f(Zo(r),e,t,n,o)};var ji=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform4fv(Zo(r),B,t>>2,4*e);else{if(e<=72){var n=gi[4*e-1],o=B;t>>=2;for(var a=0;a<4*e;a+=4){var i=t+a;n[a]=o[i],n[a+1]=o[i+1],n[a+2]=o[i+2],n[a+3]=o[i+3]}}else n=B.subarray(t>>2,t+16*e>>2);Os.uniform4fv(Zo(r),n)}};var Ri=function(r,e,t,n,o){Os.uniform4i(Zo(r),e,t,n,o)};var Vi=function(r,e,t){if(je.currentContext.version>=2)e&&Os.uniform4iv(Zo(r),A,t>>2,4*e);else{if(e<=72)for(var n=wi[4*e-1],o=0;o<4*e;o+=4)n[o]=A[t+4*o>>2],n[o+1]=A[t+(4*o+4)>>2],n[o+2]=A[t+(4*o+8)>>2],n[o+3]=A[t+(4*o+12)>>2];else n=A.subarray(t>>2,t+16*e>>2);Os.uniform4iv(Zo(r),n)}};var Oi=function(r,e,t,n,o){Os.uniform4ui(Zo(r),e,t,n,o)};var Ui=function(r,e,t){e&&Os.uniform4uiv(Zo(r),T,t>>2,4*e)};var Ni=function(r,e,t){r=je.programs[r],Os.uniformBlockBinding(r,e,t)};var Wi=function(r,e,t,n){if(je.currentContext.version>=2)e&&Os.uniformMatrix2fv(Zo(r),!!t,B,n>>2,4*e);else{if(e<=72)for(var o=gi[4*e-1],a=0;a<4*e;a+=4)o[a]=B[n+4*a>>2],o[a+1]=B[n+(4*a+4)>>2],o[a+2]=B[n+(4*a+8)>>2],o[a+3]=B[n+(4*a+12)>>2];else o=B.subarray(n>>2,n+16*e>>2);Os.uniformMatrix2fv(Zo(r),!!t,o)}};var zi=function(r,e,t,n){e&&Os.uniformMatrix2x3fv(Zo(r),!!t,B,n>>2,6*e)};var Gi=function(r,e,t,n){e&&Os.uniformMatrix2x4fv(Zo(r),!!t,B,n>>2,8*e)};var Hi=function(r,e,t,n){if(je.currentContext.version>=2)e&&Os.uniformMatrix3fv(Zo(r),!!t,B,n>>2,9*e);else{if(e<=32)for(var o=gi[9*e-1],a=0;a<9*e;a+=9)o[a]=B[n+4*a>>2],o[a+1]=B[n+(4*a+4)>>2],o[a+2]=B[n+(4*a+8)>>2],o[a+3]=B[n+(4*a+12)>>2],o[a+4]=B[n+(4*a+16)>>2],o[a+5]=B[n+(4*a+20)>>2],o[a+6]=B[n+(4*a+24)>>2],o[a+7]=B[n+(4*a+28)>>2],o[a+8]=B[n+(4*a+32)>>2];else o=B.subarray(n>>2,n+36*e>>2);Os.uniformMatrix3fv(Zo(r),!!t,o)}};var qi=function(r,e,t,n){e&&Os.uniformMatrix3x2fv(Zo(r),!!t,B,n>>2,6*e)};var Qi=function(r,e,t,n){e&&Os.uniformMatrix3x4fv(Zo(r),!!t,B,n>>2,12*e)};var Xi=function(r,e,t,n){if(je.currentContext.version>=2)e&&Os.uniformMatrix4fv(Zo(r),!!t,B,n>>2,16*e);else{if(e<=18){var o=gi[16*e-1],a=B;n>>=2;for(var i=0;i<16*e;i+=16){var s=n+i;o[i]=a[s],o[i+1]=a[s+1],o[i+2]=a[s+2],o[i+3]=a[s+3],o[i+4]=a[s+4],o[i+5]=a[s+5],o[i+6]=a[s+6],o[i+7]=a[s+7],o[i+8]=a[s+8],o[i+9]=a[s+9],o[i+10]=a[s+10],o[i+11]=a[s+11],o[i+12]=a[s+12],o[i+13]=a[s+13],o[i+14]=a[s+14],o[i+15]=a[s+15]}}else o=B.subarray(n>>2,n+64*e>>2);Os.uniformMatrix4fv(Zo(r),!!t,o)}};var Yi=function(r,e,t,n){e&&Os.uniformMatrix4x2fv(Zo(r),!!t,B,n>>2,8*e)};var Zi=function(r,e,t,n){e&&Os.uniformMatrix4x3fv(Zo(r),!!t,B,n>>2,12*e)};var Ji=function(r){if(!Sn(r))return je.recordError(1280),w("GL_INVALID_ENUM in glUnmapBuffer"),0;var e=Bn(r),t=je.mappedBuffers[e];return t?(je.mappedBuffers[e]=null,16&t.access||(je.currentContext.version>=2?Os.bufferSubData(r,t.offset,k,t.mem,t.length):Os.bufferSubData(r,t.offset,k.subarray(t.mem,t.mem+t.length))),Js(t.mem),1):(je.recordError(1282),w("buffer was never mapped in glUnmapBuffer"),0)};var Ki=function(r){r=je.programs[r],Os.useProgram(r),Os.currentProgram=r};var rs=function(r){Os.validateProgram(je.programs[r])};var es=function(r,e){Os.vertexAttrib1f(r,e)};var ts=function(r,e){Os.vertexAttrib1f(r,B[e>>2])};var ns=function(r,e,t){Os.vertexAttrib2f(r,e,t)};var os=function(r,e){Os.vertexAttrib2f(r,B[e>>2],B[e+4>>2])};var as=function(r,e,t,n){Os.vertexAttrib3f(r,e,t,n)};var is=function(r,e){Os.vertexAttrib3f(r,B[e>>2],B[e+4>>2],B[e+8>>2])};var ss=function(r,e,t,n,o){Os.vertexAttrib4f(r,e,t,n,o)};var us=function(r,e){Os.vertexAttrib4f(r,B[e>>2],B[e+4>>2],B[e+8>>2],B[e+12>>2])};function fs(r,e){Os.vertexAttribDivisor(r,e)}var cs=fs,ls=fs,ds=fs,ms=fs,vs=fs;var ps=function(r,e,t,n,o){Os.vertexAttribI4i(r,e,t,n,o)};var hs=function(r,e){Os.vertexAttribI4i(r,A[e>>2],A[e+4>>2],A[e+8>>2],A[e+12>>2])};var gs=function(r,e,t,n,o){Os.vertexAttribI4ui(r,e,t,n,o)};var ys=function(r,e){Os.vertexAttribI4ui(r,T[e>>2],T[e+4>>2],T[e+8>>2],T[e+12>>2])};var bs=function(r,e,t,n,o){var a=je.currentContext.clientBuffers[r];if(!Os.currentArrayBufferBinding)return a.size=e,a.type=t,a.normalized=!1,a.stride=n,a.ptr=o,a.clientside=!0,void(a.vertexAttribPointerAdaptor=function(r,e,t,n,o,a){this.vertexAttribIPointer(r,e,t,o,a)});a.clientside=!1,Os.vertexAttribIPointer(r,e,t,n,o)};var ws=function(r,e,t,n,o,a){var i=je.currentContext.clientBuffers[r];if(!Os.currentArrayBufferBinding)return i.size=e,i.type=t,i.normalized=n,i.stride=o,i.ptr=a,i.clientside=!0,void(i.vertexAttribPointerAdaptor=function(r,e,t,n,o,a){this.vertexAttribPointer(r,e,t,n,o,a)});i.clientside=!1,Os.vertexAttribPointer(r,e,t,!!n,o,a)};var Es=function(r,e,t,n){Os.viewport(r,e,t,n)};var xs=function(r,e,t,n){var o=yt(t,n);Os.waitSync(je.syncs[r],e,o)};function _s(r){var e=r-E.buffer.byteLength+65535>>>16;try{return E.grow(e),M(),1}catch(r){}}var ks={};function Ps(){if(!Ps.strings){var r={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",_:c||"./this.program"};for(var e in ks)void 0===ks[e]?delete r[e]:r[e]=ks[e];var t=[];for(var e in r)t.push(`${e}=${r[e]}`);Ps.strings=t}return Ps.strings}var Cs={isAbs:r=>"/"===r.charAt(0),splitPath:r=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(r).slice(1),normalizeArray:(r,e)=>{for(var t=0,n=r.length-1;n>=0;n--){var o=r[n];"."===o?r.splice(n,1):".."===o?(r.splice(n,1),t++):t&&(r.splice(n,1),t--)}if(e)for(;t;t--)r.unshift("..");return r},normalize:r=>{var e=Cs.isAbs(r),t="/"===r.substr(-1);return(r=Cs.normalizeArray(r.split("/").filter((r=>!!r)),!e).join("/"))||e||(r="."),r&&t&&(r+="/"),(e?"/":"")+r},dirname:r=>{var e=Cs.splitPath(r),t=e[0],n=e[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:r=>{if("/"===r)return"/";var e=(r=(r=Cs.normalize(r)).replace(/\/$/,"")).lastIndexOf("/");return-1===e?r:r.substr(e+1)},join:function(){var r=Array.prototype.slice.call(arguments);return Cs.normalize(r.join("/"))},join2:(r,e)=>Cs.normalize(r+"/"+e)};function As(r){return(As=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return r=>crypto.getRandomValues(r);if(v)try{var r=require("crypto");if(r.randomFillSync)return e=>r.randomFillSync(e);var e=r.randomBytes;return r=>(r.set(e(r.byteLength)),r)}catch(r){}W("initRandomDevice")}())(r)}var Ts={resolve:function(){for(var r="",e=!1,t=arguments.length-1;t>=-1&&!e;t--){var n=t>=0?arguments[t]:Is.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";r=n+"/"+r,e=Cs.isAbs(n)}return(e?"/":"")+(r=Cs.normalizeArray(r.split("/").filter((r=>!!r)),!e).join("/"))||"."},relative:(r,e)=>{function t(r){for(var e=0;e<r.length&&""===r[e];e++);for(var t=r.length-1;t>=0&&""===r[t];t--);return e>t?[]:r.slice(e,t-e+1)}r=Ts.resolve(r).substr(1),e=Ts.resolve(e).substr(1);for(var n=t(r.split("/")),o=t(e.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s<a;s++)if(n[s]!==o[s]){i=s;break}var u=[];for(s=i;s<n.length;s++)u.push("..");return(u=u.concat(o.slice(i))).join("/")}};function Bs(r,e,t){var n=t>0?t:Ee(r)+1,o=new Array(n),a=be(r,o,0,o.length);return e&&(o.length=a),o}var Ss={ttys:[],init:function(){},shutdown:function(){},register:function(r,e){Ss.ttys[r]={input:[],output:[],ops:e},Is.registerDevice(r,Ss.stream_ops)},stream_ops:{open:function(r){var e=Ss.ttys[r.node.rdev];if(!e)throw new Is.ErrnoError(43);r.tty=e,r.seekable=!1},close:function(r){r.tty.ops.fsync(r.tty)},fsync:function(r){r.tty.ops.fsync(r.tty)},read:function(r,e,t,n,o){if(!r.tty||!r.tty.ops.get_char)throw new Is.ErrnoError(60);for(var a=0,i=0;i<n;i++){var s;try{s=r.tty.ops.get_char(r.tty)}catch(r){throw new Is.ErrnoError(29)}if(void 0===s&&0===a)throw new Is.ErrnoError(6);if(null==s)break;a++,e[t+i]=s}return a&&(r.node.timestamp=Date.now()),a},write:function(r,e,t,n,o){if(!r.tty||!r.tty.ops.put_char)throw new Is.ErrnoError(60);try{for(var a=0;a<n;a++)r.tty.ops.put_char(r.tty,e[t+a])}catch(r){throw new Is.ErrnoError(29)}return n&&(r.node.timestamp=Date.now()),a}},default_tty_ops:{get_char:function(r){if(!r.input.length){var e=null;if(v){var t=Buffer.alloc(256),n=0;try{n=h.readSync(o.stdin.fd,t,0,256,-1)}catch(r){if(!r.toString().includes("EOF"))throw r;n=0}e=n>0?t.slice(0,n).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;r.input=Bs(e,!0)}return r.input.shift()},put_char:function(r,e){null===e||10===e?(b(_e(r.output,0)),r.output=[]):0!=e&&r.output.push(e)},fsync:function(r){r.output&&r.output.length>0&&(b(_e(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,e){null===e||10===e?(w(_e(r.output,0)),r.output=[]):0!=e&&r.output.push(e)},fsync:function(r){r.output&&r.output.length>0&&(w(_e(r.output,0)),r.output=[])}}};function $s(r){W()}var Ds={ops_table:null,mount:function(r){return Ds.createNode(null,"/",16895,0)},createNode:function(r,e,t,n){if(Is.isBlkdev(t)||Is.isFIFO(t))throw new Is.ErrnoError(63);Ds.ops_table||(Ds.ops_table={dir:{node:{getattr:Ds.node_ops.getattr,setattr:Ds.node_ops.setattr,lookup:Ds.node_ops.lookup,mknod:Ds.node_ops.mknod,rename:Ds.node_ops.rename,unlink:Ds.node_ops.unlink,rmdir:Ds.node_ops.rmdir,readdir:Ds.node_ops.readdir,symlink:Ds.node_ops.symlink},stream:{llseek:Ds.stream_ops.llseek}},file:{node:{getattr:Ds.node_ops.getattr,setattr:Ds.node_ops.setattr},stream:{llseek:Ds.stream_ops.llseek,read:Ds.stream_ops.read,write:Ds.stream_ops.write,allocate:Ds.stream_ops.allocate,mmap:Ds.stream_ops.mmap,msync:Ds.stream_ops.msync}},link:{node:{getattr:Ds.node_ops.getattr,setattr:Ds.node_ops.setattr,readlink:Ds.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ds.node_ops.getattr,setattr:Ds.node_ops.setattr},stream:Is.chrdev_stream_ops}});var o=Is.createNode(r,e,t,n);return Is.isDir(o.mode)?(o.node_ops=Ds.ops_table.dir.node,o.stream_ops=Ds.ops_table.dir.stream,o.contents={}):Is.isFile(o.mode)?(o.node_ops=Ds.ops_table.file.node,o.stream_ops=Ds.ops_table.file.stream,o.usedBytes=0,o.contents=null):Is.isLink(o.mode)?(o.node_ops=Ds.ops_table.link.node,o.stream_ops=Ds.ops_table.link.stream):Is.isChrdev(o.mode)&&(o.node_ops=Ds.ops_table.chrdev.node,o.stream_ops=Ds.ops_table.chrdev.stream),o.timestamp=Date.now(),r&&(r.contents[e]=o,r.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(r){return r.contents?r.contents.subarray?r.contents.subarray(0,r.usedBytes):new Uint8Array(r.contents):new Uint8Array(0)},expandFileStorage:function(r,e){var t=r.contents?r.contents.length:0;if(!(t>=e)){e=Math.max(e,t*(t<1048576?2:1.125)>>>0),0!=t&&(e=Math.max(e,256));var n=r.contents;r.contents=new Uint8Array(e),r.usedBytes>0&&r.contents.set(n.subarray(0,r.usedBytes),0)}},resizeFileStorage:function(r,e){if(r.usedBytes!=e)if(0==e)r.contents=null,r.usedBytes=0;else{var t=r.contents;r.contents=new Uint8Array(e),t&&r.contents.set(t.subarray(0,Math.min(e,r.usedBytes))),r.usedBytes=e}},node_ops:{getattr:function(r){var e={};return e.dev=Is.isChrdev(r.mode)?r.id:1,e.ino=r.id,e.mode=r.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=r.rdev,Is.isDir(r.mode)?e.size=4096:Is.isFile(r.mode)?e.size=r.usedBytes:Is.isLink(r.mode)?e.size=r.link.length:e.size=0,e.atime=new Date(r.timestamp),e.mtime=new Date(r.timestamp),e.ctime=new Date(r.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(r,e){void 0!==e.mode&&(r.mode=e.mode),void 0!==e.timestamp&&(r.timestamp=e.timestamp),void 0!==e.size&&Ds.resizeFileStorage(r,e.size)},lookup:function(r,e){throw Is.genericErrors[44]},mknod:function(r,e,t,n){return Ds.createNode(r,e,t,n)},rename:function(r,e,t){if(Is.isDir(r.mode)){var n;try{n=Is.lookupNode(e,t)}catch(r){}if(n)for(var o in n.contents)throw new Is.ErrnoError(55)}delete r.parent.contents[r.name],r.parent.timestamp=Date.now(),r.name=t,e.contents[t]=r,e.timestamp=r.parent.timestamp,r.parent=e},unlink:function(r,e){delete r.contents[e],r.timestamp=Date.now()},rmdir:function(r,e){var t=Is.lookupNode(r,e);for(var n in t.contents)throw new Is.ErrnoError(55);delete r.contents[e],r.timestamp=Date.now()},readdir:function(r){var e=[".",".."];for(var t in r.contents)r.contents.hasOwnProperty(t)&&e.push(t);return e},symlink:function(r,e,t){var n=Ds.createNode(r,e,41471,0);return n.link=t,n},readlink:function(r){if(!Is.isLink(r.mode))throw new Is.ErrnoError(28);return r.link}},stream_ops:{read:function(r,e,t,n,o){var a=r.node.contents;if(o>=r.node.usedBytes)return 0;var i=Math.min(r.node.usedBytes-o,n);if(i>8&&a.subarray)e.set(a.subarray(o,o+i),t);else for(var s=0;s<i;s++)e[t+s]=a[o+s];return i},write:function(r,e,t,n,o,a){if(e.buffer===_.buffer&&(a=!1),!n)return 0;var i=r.node;if(i.timestamp=Date.now(),e.subarray&&(!i.contents||i.contents.subarray)){if(a)return i.contents=e.subarray(t,t+n),i.usedBytes=n,n;if(0===i.usedBytes&&0===o)return i.contents=e.slice(t,t+n),i.usedBytes=n,n;if(o+n<=i.usedBytes)return i.contents.set(e.subarray(t,t+n),o),n}if(Ds.expandFileStorage(i,o+n),i.contents.subarray&&e.subarray)i.contents.set(e.subarray(t,t+n),o);else for(var s=0;s<n;s++)i.contents[o+s]=e[t+s];return i.usedBytes=Math.max(i.usedBytes,o+n),n},llseek:function(r,e,t){var n=e;if(1===t?n+=r.position:2===t&&Is.isFile(r.node.mode)&&(n+=r.node.usedBytes),n<0)throw new Is.ErrnoError(28);return n},allocate:function(r,e,t){Ds.expandFileStorage(r.node,e+t),r.node.usedBytes=Math.max(r.node.usedBytes,e+t)},mmap:function(r,e,t,n,o){if(!Is.isFile(r.node.mode))throw new Is.ErrnoError(43);var a,i,s=r.node.contents;if(2&o||s.buffer!==_.buffer){if((t>0||t+e<s.length)&&(s=s.subarray?s.subarray(t,t+e):Array.prototype.slice.call(s,t,t+e)),i=!0,!(a=$s()))throw new Is.ErrnoError(48);_.set(s,a)}else i=!1,a=s.byteOffset;return{ptr:a,allocated:i}},msync:function(r,e,t,n,o){return Ds.stream_ops.write(r,e,0,n,t,!1),0}}};var Fs=a.preloadPlugins||[];function Ms(r,e){var t=0;return r&&(t|=365),e&&(t|=146),t}var Is={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(r,e={})=>{if(!(r=Ts.resolve(r)))return{path:"",node:null};if((e=Object.assign({follow_mount:!0,recurse_count:0},e)).recurse_count>8)throw new Is.ErrnoError(32);for(var t=r.split("/").filter((r=>!!r)),n=Is.root,o="/",a=0;a<t.length;a++){var i=a===t.length-1;if(i&&e.parent)break;if(n=Is.lookupNode(n,t[a]),o=Cs.join2(o,t[a]),Is.isMountpoint(n)&&(!i||i&&e.follow_mount)&&(n=n.mounted.root),!i||e.follow)for(var s=0;Is.isLink(n.mode);){var u=Is.readlink(o);if(o=Ts.resolve(Cs.dirname(o),u),n=Is.lookupPath(o,{recurse_count:e.recurse_count+1}).node,s++>40)throw new Is.ErrnoError(32)}}return{path:o,node:n}},getPath:r=>{for(var e;;){if(Is.isRoot(r)){var t=r.mount.mountpoint;return e?"/"!==t[t.length-1]?`${t}/${e}`:t+e:t}e=e?`${r.name}/${e}`:r.name,r=r.parent}},hashName:(r,e)=>{for(var t=0,n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(r+t>>>0)%Is.nameTable.length},hashAddNode:r=>{var e=Is.hashName(r.parent.id,r.name);r.name_next=Is.nameTable[e],Is.nameTable[e]=r},hashRemoveNode:r=>{var e=Is.hashName(r.parent.id,r.name);if(Is.nameTable[e]===r)Is.nameTable[e]=r.name_next;else for(var t=Is.nameTable[e];t;){if(t.name_next===r){t.name_next=r.name_next;break}t=t.name_next}},lookupNode:(r,e)=>{var t=Is.mayLookup(r);if(t)throw new Is.ErrnoError(t,r);for(var n=Is.hashName(r.id,e),o=Is.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===r.id&&a===e)return o}return Is.lookup(r,e)},createNode:(r,e,t,n)=>{var o=new Is.FSNode(r,e,t,n);return Is.hashAddNode(o),o},destroyNode:r=>{Is.hashRemoveNode(r)},isRoot:r=>r===r.parent,isMountpoint:r=>!!r.mounted,isFile:r=>32768==(61440&r),isDir:r=>16384==(61440&r),isLink:r=>40960==(61440&r),isChrdev:r=>8192==(61440&r),isBlkdev:r=>24576==(61440&r),isFIFO:r=>4096==(61440&r),isSocket:r=>!(49152&~r),flagsToPermissionString:r=>{var e=["r","w","rw"][3&r];return 512&r&&(e+="w"),e},nodePermissions:(r,e)=>Is.ignorePermissions||(!e.includes("r")||292&r.mode)&&(!e.includes("w")||146&r.mode)&&(!e.includes("x")||73&r.mode)?0:2,mayLookup:r=>{var e=Is.nodePermissions(r,"x");return e||(r.node_ops.lookup?0:2)},mayCreate:(r,e)=>{try{Is.lookupNode(r,e);return 20}catch(r){}return Is.nodePermissions(r,"wx")},mayDelete:(r,e,t)=>{var n;try{n=Is.lookupNode(r,e)}catch(r){return r.errno}var o=Is.nodePermissions(r,"wx");if(o)return o;if(t){if(!Is.isDir(n.mode))return 54;if(Is.isRoot(n)||Is.getPath(n)===Is.cwd())return 10}else if(Is.isDir(n.mode))return 31;return 0},mayOpen:(r,e)=>r?Is.isLink(r.mode)?32:Is.isDir(r.mode)&&("r"!==Is.flagsToPermissionString(e)||512&e)?31:Is.nodePermissions(r,Is.flagsToPermissionString(e)):44,MAX_OPEN_FDS:4096,nextfd:()=>{for(var r=0;r<=Is.MAX_OPEN_FDS;r++)if(!Is.streams[r])return r;throw new Is.ErrnoError(33)},getStream:r=>Is.streams[r],createStream:(r,e=-1)=>(Is.FSStream||(Is.FSStream=function(){this.shared={}},Is.FSStream.prototype={},Object.defineProperties(Is.FSStream.prototype,{object:{get:function(){return this.node},set:function(r){this.node=r}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return!!(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(r){this.shared.flags=r}},position:{get:function(){return this.shared.position},set:function(r){this.shared.position=r}}})),r=Object.assign(new Is.FSStream,r),-1==e&&(e=Is.nextfd()),r.fd=e,Is.streams[e]=r,r),closeStream:r=>{Is.streams[r]=null},chrdev_stream_ops:{open:r=>{var e=Is.getDevice(r.node.rdev);r.stream_ops=e.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:()=>{throw new Is.ErrnoError(70)}},major:r=>r>>8,minor:r=>255&r,makedev:(r,e)=>r<<8|e,registerDevice:(r,e)=>{Is.devices[r]={stream_ops:e}},getDevice:r=>Is.devices[r],getMounts:r=>{for(var e=[],t=[r];t.length;){var n=t.pop();e.push(n),t.push.apply(t,n.mounts)}return e},syncfs:(r,e)=>{"function"==typeof r&&(e=r,r=!1),Is.syncFSRequests++,Is.syncFSRequests>1&&w(`warning: ${Is.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=Is.getMounts(Is.root.mount),n=0;function o(r){return Is.syncFSRequests--,e(r)}function a(r){if(r)return a.errored?void 0:(a.errored=!0,o(r));++n>=t.length&&o(null)}t.forEach((e=>{if(!e.type.syncfs)return a(null);e.type.syncfs(e,r,a)}))},mount:(r,e,t)=>{var n,o="/"===t,a=!t;if(o&&Is.root)throw new Is.ErrnoError(10);if(!o&&!a){var i=Is.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,Is.isMountpoint(n))throw new Is.ErrnoError(10);if(!Is.isDir(n.mode))throw new Is.ErrnoError(54)}var s={type:r,opts:e,mountpoint:t,mounts:[]},u=r.mount(s);return u.mount=s,s.root=u,o?Is.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount:r=>{var e=Is.lookupPath(r,{follow_mount:!1});if(!Is.isMountpoint(e.node))throw new Is.ErrnoError(28);var t=e.node,n=t.mounted,o=Is.getMounts(n);Object.keys(Is.nameTable).forEach((r=>{for(var e=Is.nameTable[r];e;){var t=e.name_next;o.includes(e.mount)&&Is.destroyNode(e),e=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(r,e)=>r.node_ops.lookup(r,e),mknod:(r,e,t)=>{var n=Is.lookupPath(r,{parent:!0}).node,o=Cs.basename(r);if(!o||"."===o||".."===o)throw new Is.ErrnoError(28);var a=Is.mayCreate(n,o);if(a)throw new Is.ErrnoError(a);if(!n.node_ops.mknod)throw new Is.ErrnoError(63);return n.node_ops.mknod(n,o,e,t)},create:(r,e)=>(e=void 0!==e?e:438,e&=4095,e|=32768,Is.mknod(r,e,0)),mkdir:(r,e)=>(e=void 0!==e?e:511,e&=1023,e|=16384,Is.mknod(r,e,0)),mkdirTree:(r,e)=>{for(var t=r.split("/"),n="",o=0;o<t.length;++o)if(t[o]){n+="/"+t[o];try{Is.mkdir(n,e)}catch(r){if(20!=r.errno)throw r}}},mkdev:(r,e,t)=>(void 0===t&&(t=e,e=438),e|=8192,Is.mknod(r,e,t)),symlink:(r,e)=>{if(!Ts.resolve(r))throw new Is.ErrnoError(44);var t=Is.lookupPath(e,{parent:!0}).node;if(!t)throw new Is.ErrnoError(44);var n=Cs.basename(e),o=Is.mayCreate(t,n);if(o)throw new Is.ErrnoError(o);if(!t.node_ops.symlink)throw new Is.ErrnoError(63);return t.node_ops.symlink(t,n,r)},rename:(r,e)=>{var t,n,o=Cs.dirname(r),a=Cs.dirname(e),i=Cs.basename(r),s=Cs.basename(e);if(t=Is.lookupPath(r,{parent:!0}).node,n=Is.lookupPath(e,{parent:!0}).node,!t||!n)throw new Is.ErrnoError(44);if(t.mount!==n.mount)throw new Is.ErrnoError(75);var u,f=Is.lookupNode(t,i),c=Ts.relative(r,a);if("."!==c.charAt(0))throw new Is.ErrnoError(28);if("."!==(c=Ts.relative(e,o)).charAt(0))throw new Is.ErrnoError(55);try{u=Is.lookupNode(n,s)}catch(r){}if(f!==u){var l=Is.isDir(f.mode),d=Is.mayDelete(t,i,l);if(d)throw new Is.ErrnoError(d);if(d=u?Is.mayDelete(n,s,l):Is.mayCreate(n,s))throw new Is.ErrnoError(d);if(!t.node_ops.rename)throw new Is.ErrnoError(63);if(Is.isMountpoint(f)||u&&Is.isMountpoint(u))throw new Is.ErrnoError(10);if(n!==t&&(d=Is.nodePermissions(t,"w")))throw new Is.ErrnoError(d);Is.hashRemoveNode(f);try{t.node_ops.rename(f,n,s)}catch(r){throw r}finally{Is.hashAddNode(f)}}},rmdir:r=>{var e=Is.lookupPath(r,{parent:!0}).node,t=Cs.basename(r),n=Is.lookupNode(e,t),o=Is.mayDelete(e,t,!0);if(o)throw new Is.ErrnoError(o);if(!e.node_ops.rmdir)throw new Is.ErrnoError(63);if(Is.isMountpoint(n))throw new Is.ErrnoError(10);e.node_ops.rmdir(e,t),Is.destroyNode(n)},readdir:r=>{var e=Is.lookupPath(r,{follow:!0}).node;if(!e.node_ops.readdir)throw new Is.ErrnoError(54);return e.node_ops.readdir(e)},unlink:r=>{var e=Is.lookupPath(r,{parent:!0}).node;if(!e)throw new Is.ErrnoError(44);var t=Cs.basename(r),n=Is.lookupNode(e,t),o=Is.mayDelete(e,t,!1);if(o)throw new Is.ErrnoError(o);if(!e.node_ops.unlink)throw new Is.ErrnoError(63);if(Is.isMountpoint(n))throw new Is.ErrnoError(10);e.node_ops.unlink(e,t),Is.destroyNode(n)},readlink:r=>{var e=Is.lookupPath(r).node;if(!e)throw new Is.ErrnoError(44);if(!e.node_ops.readlink)throw new Is.ErrnoError(28);return Ts.resolve(Is.getPath(e.parent),e.node_ops.readlink(e))},stat:(r,e)=>{var t=Is.lookupPath(r,{follow:!e}).node;if(!t)throw new Is.ErrnoError(44);if(!t.node_ops.getattr)throw new Is.ErrnoError(63);return t.node_ops.getattr(t)},lstat:r=>Is.stat(r,!0),chmod:(r,e,t)=>{var n;"string"==typeof r?n=Is.lookupPath(r,{follow:!t}).node:n=r;if(!n.node_ops.setattr)throw new Is.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&e|-4096&n.mode,timestamp:Date.now()})},lchmod:(r,e)=>{Is.chmod(r,e,!0)},fchmod:(r,e)=>{var t=Is.getStream(r);if(!t)throw new Is.ErrnoError(8);Is.chmod(t.node,e)},chown:(r,e,t,n)=>{var o;"string"==typeof r?o=Is.lookupPath(r,{follow:!n}).node:o=r;if(!o.node_ops.setattr)throw new Is.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(r,e,t)=>{Is.chown(r,e,t,!0)},fchown:(r,e,t)=>{var n=Is.getStream(r);if(!n)throw new Is.ErrnoError(8);Is.chown(n.node,e,t)},truncate:(r,e)=>{if(e<0)throw new Is.ErrnoError(28);var t;"string"==typeof r?t=Is.lookupPath(r,{follow:!0}).node:t=r;if(!t.node_ops.setattr)throw new Is.ErrnoError(63);if(Is.isDir(t.mode))throw new Is.ErrnoError(31);if(!Is.isFile(t.mode))throw new Is.ErrnoError(28);var n=Is.nodePermissions(t,"w");if(n)throw new Is.ErrnoError(n);t.node_ops.setattr(t,{size:e,timestamp:Date.now()})},ftruncate:(r,e)=>{var t=Is.getStream(r);if(!t)throw new Is.ErrnoError(8);if(!(2097155&t.flags))throw new Is.ErrnoError(28);Is.truncate(t.node,e)},utime:(r,e,t)=>{var n=Is.lookupPath(r,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(e,t)})},open:(r,e,t)=>{if(""===r)throw new Is.ErrnoError(44);var n;if(t=void 0===t?438:t,t=64&(e="string"==typeof e?function(r){var e={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[r];if(void 0===e)throw new Error(`Unknown file open mode: ${r}`);return e}(e):e)?4095&t|32768:0,"object"==typeof r)n=r;else{r=Cs.normalize(r);try{n=Is.lookupPath(r,{follow:!(131072&e)}).node}catch(r){}}var o=!1;if(64&e)if(n){if(128&e)throw new Is.ErrnoError(20)}else n=Is.mknod(r,t,0),o=!0;if(!n)throw new Is.ErrnoError(44);if(Is.isChrdev(n.mode)&&(e&=-513),65536&e&&!Is.isDir(n.mode))throw new Is.ErrnoError(54);if(!o){var i=Is.mayOpen(n,e);if(i)throw new Is.ErrnoError(i)}512&e&&!o&&Is.truncate(n,0),e&=-131713;var s=Is.createStream({node:n,path:Is.getPath(n),flags:e,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!a.logReadFiles||1&e||(Is.readFiles||(Is.readFiles={}),r in Is.readFiles||(Is.readFiles[r]=1)),s},close:r=>{if(Is.isClosed(r))throw new Is.ErrnoError(8);r.getdents&&(r.getdents=null);try{r.stream_ops.close&&r.stream_ops.close(r)}catch(r){throw r}finally{Is.closeStream(r.fd)}r.fd=null},isClosed:r=>null===r.fd,llseek:(r,e,t)=>{if(Is.isClosed(r))throw new Is.ErrnoError(8);if(!r.seekable||!r.stream_ops.llseek)throw new Is.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Is.ErrnoError(28);return r.position=r.stream_ops.llseek(r,e,t),r.ungotten=[],r.position},read:(r,e,t,n,o)=>{if(n<0||o<0)throw new Is.ErrnoError(28);if(Is.isClosed(r))throw new Is.ErrnoError(8);if(1==(2097155&r.flags))throw new Is.ErrnoError(8);if(Is.isDir(r.node.mode))throw new Is.ErrnoError(31);if(!r.stream_ops.read)throw new Is.ErrnoError(28);var a=void 0!==o;if(a){if(!r.seekable)throw new Is.ErrnoError(70)}else o=r.position;var i=r.stream_ops.read(r,e,t,n,o);return a||(r.position+=i),i},write:(r,e,t,n,o,a)=>{if(n<0||o<0)throw new Is.ErrnoError(28);if(Is.isClosed(r))throw new Is.ErrnoError(8);if(!(2097155&r.flags))throw new Is.ErrnoError(8);if(Is.isDir(r.node.mode))throw new Is.ErrnoError(31);if(!r.stream_ops.write)throw new Is.ErrnoError(28);r.seekable&&1024&r.flags&&Is.llseek(r,0,2);var i=void 0!==o;if(i){if(!r.seekable)throw new Is.ErrnoError(70)}else o=r.position;var s=r.stream_ops.write(r,e,t,n,o,a);return i||(r.position+=s),s},allocate:(r,e,t)=>{if(Is.isClosed(r))throw new Is.ErrnoError(8);if(e<0||t<=0)throw new Is.ErrnoError(28);if(!(2097155&r.flags))throw new Is.ErrnoError(8);if(!Is.isFile(r.node.mode)&&!Is.isDir(r.node.mode))throw new Is.ErrnoError(43);if(!r.stream_ops.allocate)throw new Is.ErrnoError(138);r.stream_ops.allocate(r,e,t)},mmap:(r,e,t,n,o)=>{if(2&n&&!(2&o)&&2!=(2097155&r.flags))throw new Is.ErrnoError(2);if(1==(2097155&r.flags))throw new Is.ErrnoError(2);if(!r.stream_ops.mmap)throw new Is.ErrnoError(43);return r.stream_ops.mmap(r,e,t,n,o)},msync:(r,e,t,n,o)=>r.stream_ops.msync?r.stream_ops.msync(r,e,t,n,o):0,munmap:r=>0,ioctl:(r,e,t)=>{if(!r.stream_ops.ioctl)throw new Is.ErrnoError(59);return r.stream_ops.ioctl(r,e,t)},readFile:(r,e={})=>{if(e.flags=e.flags||0,e.encoding=e.encoding||"binary","utf8"!==e.encoding&&"binary"!==e.encoding)throw new Error(`Invalid encoding type "${e.encoding}"`);var t,n=Is.open(r,e.flags),o=Is.stat(r).size,a=new Uint8Array(o);return Is.read(n,a,0,o,0),"utf8"===e.encoding?t=_e(a,0):"binary"===e.encoding&&(t=a),Is.close(n),t},writeFile:(r,e,t={})=>{t.flags=t.flags||577;var n=Is.open(r,t.flags,t.mode);if("string"==typeof e){var o=new Uint8Array(Ee(e)+1),a=be(e,o,0,o.length);Is.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(e))throw new Error("Unsupported data type");Is.write(n,e,0,e.byteLength,void 0,t.canOwn)}Is.close(n)},cwd:()=>Is.currentPath,chdir:r=>{var e=Is.lookupPath(r,{follow:!0});if(null===e.node)throw new Is.ErrnoError(44);if(!Is.isDir(e.node.mode))throw new Is.ErrnoError(54);var t=Is.nodePermissions(e.node,"x");if(t)throw new Is.ErrnoError(t);Is.currentPath=e.path},createDefaultDirectories:()=>{Is.mkdir("/tmp"),Is.mkdir("/home"),Is.mkdir("/home/web_user")},createDefaultDevices:()=>{Is.mkdir("/dev"),Is.registerDevice(Is.makedev(1,3),{read:()=>0,write:(r,e,t,n,o)=>n}),Is.mkdev("/dev/null",Is.makedev(1,3)),Ss.register(Is.makedev(5,0),Ss.default_tty_ops),Ss.register(Is.makedev(6,0),Ss.default_tty1_ops),Is.mkdev("/dev/tty",Is.makedev(5,0)),Is.mkdev("/dev/tty1",Is.makedev(6,0));var r=new Uint8Array(1024),e=0,t=()=>(0===e&&(e=As(r).byteLength),r[--e]);Is.createDevice("/dev","random",t),Is.createDevice("/dev","urandom",t),Is.mkdir("/dev/shm"),Is.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{Is.mkdir("/proc");var r=Is.mkdir("/proc/self");Is.mkdir("/proc/self/fd"),Is.mount({mount:()=>{var e=Is.createNode(r,"fd",16895,73);return e.node_ops={lookup:(r,e)=>{var t=+e,n=Is.getStream(t);if(!n)throw new Is.ErrnoError(8);var o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},e}},{},"/proc/self/fd")},createStandardStreams:()=>{a.stdin?Is.createDevice("/dev","stdin",a.stdin):Is.symlink("/dev/tty","/dev/stdin"),a.stdout?Is.createDevice("/dev","stdout",null,a.stdout):Is.symlink("/dev/tty","/dev/stdout"),a.stderr?Is.createDevice("/dev","stderr",null,a.stderr):Is.symlink("/dev/tty1","/dev/stderr");Is.open("/dev/stdin",0),Is.open("/dev/stdout",1),Is.open("/dev/stderr",1)},ensureErrnoError:()=>{Is.ErrnoError||(Is.ErrnoError=function(r,e){this.name="ErrnoError",this.node=e,this.setErrno=function(r){this.errno=r},this.setErrno(r),this.message="FS error"},Is.ErrnoError.prototype=new Error,Is.ErrnoError.prototype.constructor=Is.ErrnoError,[44].forEach((r=>{Is.genericErrors[r]=new Is.ErrnoError(r),Is.genericErrors[r].stack="<generic error, no stack>"})))},staticInit:()=>{Is.ensureErrnoError(),Is.nameTable=new Array(4096),Is.mount(Ds,{},"/"),Is.createDefaultDirectories(),Is.createDefaultDevices(),Is.createSpecialDirectories(),Is.filesystems={MEMFS:Ds}},init:(r,e,t)=>{Is.init.initialized=!0,Is.ensureErrnoError(),a.stdin=r||a.stdin,a.stdout=e||a.stdout,a.stderr=t||a.stderr,Is.createStandardStreams()},quit:()=>{Is.init.initialized=!1;for(var r=0;r<Is.streams.length;r++){var e=Is.streams[r];e&&Is.close(e)}},findObject:(r,e)=>{var t=Is.analyzePath(r,e);return t.exists?t.object:null},analyzePath:(r,e)=>{try{r=(n=Is.lookupPath(r,{follow:!e})).path}catch(r){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Is.lookupPath(r,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=Cs.basename(r),n=Is.lookupPath(r,{follow:!e}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(r){t.error=r.errno}return t},createPath:(r,e,t,n)=>{r="string"==typeof r?r:Is.getPath(r);for(var o=e.split("/").reverse();o.length;){var a=o.pop();if(a){var i=Cs.join2(r,a);try{Is.mkdir(i)}catch(r){}r=i}}return i},createFile:(r,e,t,n,o)=>{var a=Cs.join2("string"==typeof r?r:Is.getPath(r),e),i=Ms(n,o);return Is.create(a,i)},createDataFile:(r,e,t,n,o,a)=>{var i=e;r&&(r="string"==typeof r?r:Is.getPath(r),i=e?Cs.join2(r,e):r);var s=Ms(n,o),u=Is.create(i,s);if(t){if("string"==typeof t){for(var f=new Array(t.length),c=0,l=t.length;c<l;++c)f[c]=t.charCodeAt(c);t=f}Is.chmod(u,146|s);var d=Is.open(u,577);Is.write(d,t,0,t.length,0,a),Is.close(d),Is.chmod(u,s)}return u},createDevice:(r,e,t,n)=>{var o=Cs.join2("string"==typeof r?r:Is.getPath(r),e),a=Ms(!!t,!!n);Is.createDevice.major||(Is.createDevice.major=64);var i=Is.makedev(Is.createDevice.major++,0);return Is.registerDevice(i,{open:r=>{r.seekable=!1},close:r=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(r,e,n,o,a)=>{for(var i=0,s=0;s<o;s++){var u;try{u=t()}catch(r){throw new Is.ErrnoError(29)}if(void 0===u&&0===i)throw new Is.ErrnoError(6);if(null==u)break;i++,e[n+s]=u}return i&&(r.node.timestamp=Date.now()),i},write:(r,e,t,o,a)=>{for(var i=0;i<o;i++)try{n(e[t+i])}catch(r){throw new Is.ErrnoError(29)}return o&&(r.node.timestamp=Date.now()),i}}),Is.mkdev(o,a,i)},forceLoadFile:r=>{if(r.isDevice||r.isFolder||r.link||r.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!i)throw new Error("Cannot load without read() or XMLHttpRequest.");try{r.contents=Bs(i(r.url),!0),r.usedBytes=r.contents.length}catch(r){throw new Is.ErrnoError(29)}},createLazyFile:(r,e,t,n,o)=>{function a(){this.lengthKnown=!1,this.chunks=[]}if(a.prototype.get=function(r){if(!(r>this.length-1||r<0)){var e=r%this.chunkSize,t=r/this.chunkSize|0;return this.getter(t)[e]}},a.prototype.setDataGetter=function(r){this.getter=r},a.prototype.cacheLength=function(){var r=new XMLHttpRequest;if(r.open("HEAD",t,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw new Error("Couldn't load "+t+". Status: "+r.status);var e,n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=this;s.setDataGetter((r=>{var e=r*i,o=(r+1)*i-1;if(o=Math.min(o,n-1),void 0===s.chunks[r]&&(s.chunks[r]=((r,e)=>{if(r>e)throw new Error("invalid range ("+r+", "+e+") or no bytes requested!");if(e>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+r+"-"+e),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 "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):Bs(o.responseText||"",!0)})(e,o)),void 0===s.chunks[r])throw new Error("doXHR failed!");return s.chunks[r]})),!a&&n||(i=n=1,n=this.getter(0).length,i=n,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!m)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i=new a;Object.defineProperties(i,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:i}}else s={isDevice:!1,url:t};var u=Is.createFile(r,e,s,n,o);s.contents?u.contents=s.contents:s.url&&(u.contents=null,u.url=s.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var f={};function c(r,e,t,n,o){var a=r.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s<i;s++)e[t+s]=a[o+s];else for(s=0;s<i;s++)e[t+s]=a.get(o+s);return i}return Object.keys(u.stream_ops).forEach((r=>{var e=u.stream_ops[r];f[r]=function(){return Is.forceLoadFile(u),e.apply(null,arguments)}})),f.read=(r,e,t,n,o)=>(Is.forceLoadFile(u),c(r,e,t,n,o)),f.mmap=(r,e,t,n,o)=>{Is.forceLoadFile(u);var a=$s();if(!a)throw new Is.ErrnoError(48);return c(r,_,a,e,t),{ptr:a,allocated:!0}},u.stream_ops=f,u}},Ls={DEFAULT_POLLMASK:5,calculateAt:function(r,e,t){if(Cs.isAbs(e))return e;var n;-100===r?n=Is.cwd():n=Ls.getStreamFromFD(r).path;if(0==e.length){if(!t)throw new Is.ErrnoError(44);return n}return Cs.join2(n,e)},doStat:function(r,e,t){try{var n=r(e)}catch(r){if(r&&r.node&&Cs.normalize(e)!==Cs.normalize(Is.getPath(r.node)))return-54;throw r}A[t>>2]=n.dev,A[t+8>>2]=n.ino,A[t+12>>2]=n.mode,T[t+16>>2]=n.nlink,A[t+20>>2]=n.uid,A[t+24>>2]=n.gid,A[t+28>>2]=n.rdev,q=[n.size>>>0,(H=n.size,+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[t+40>>2]=q[0],A[t+44>>2]=q[1],A[t+48>>2]=4096,A[t+52>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return q=[Math.floor(o/1e3)>>>0,(H=Math.floor(o/1e3),+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[t+56>>2]=q[0],A[t+60>>2]=q[1],T[t+64>>2]=o%1e3*1e3,q=[Math.floor(a/1e3)>>>0,(H=Math.floor(a/1e3),+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[t+72>>2]=q[0],A[t+76>>2]=q[1],T[t+80>>2]=a%1e3*1e3,q=[Math.floor(i/1e3)>>>0,(H=Math.floor(i/1e3),+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[t+88>>2]=q[0],A[t+92>>2]=q[1],T[t+96>>2]=i%1e3*1e3,q=[n.ino>>>0,(H=n.ino,+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[t+104>>2]=q[0],A[t+108>>2]=q[1],0},doMsync:function(r,e,t,n,o){if(!Is.isFile(e.node.mode))throw new Is.ErrnoError(43);if(2&n)return 0;var a=k.slice(r,r+t);Is.msync(e,a,o,t,n)},varargs:void 0,get:function(){return Ls.varargs+=4,A[Ls.varargs-4>>2]},getStr:function(r){return ke(r)},getStreamFromFD:function(r){var e=Is.getStream(r);if(!e)throw new Is.ErrnoError(8);return e}};function js(r){x||(a.onExit&&a.onExit(r),D=!0),l(r,new J(r))}var Rs=function(r,e){js(r)};function Vs(r){return r%4==0&&(r%100!=0||r%400==0)}var Os,Us=[31,29,31,30,31,30,31,31,30,31,30,31],Ns=[31,28,31,30,31,30,31,31,30,31,30,31];function Ws(r,e,t,n){var o=A[n+40>>2],a={tm_sec:A[n>>2],tm_min:A[n+4>>2],tm_hour:A[n+8>>2],tm_mday:A[n+12>>2],tm_mon:A[n+16>>2],tm_year:A[n+20>>2],tm_wday:A[n+24>>2],tm_yday:A[n+28>>2],tm_isdst:A[n+32>>2],tm_gmtoff:A[n+36>>2],tm_zone:o?ke(o):""},i=ke(t),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 u in s)i=i.replace(new RegExp(u,"g"),s[u]);var f=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function l(r,e,t){for(var n="number"==typeof r?r.toString():r||"";n.length<e;)n=t[0]+n;return n}function d(r,e){return l(r,e,"0")}function m(r,e){function t(r){return r<0?-1:r>0?1:0}var n;return 0===(n=t(r.getFullYear()-e.getFullYear()))&&0===(n=t(r.getMonth()-e.getMonth()))&&(n=t(r.getDate()-e.getDate())),n}function v(r){switch(r.getDay()){case 0:return new Date(r.getFullYear()-1,11,29);case 1:return r;case 2:return new Date(r.getFullYear(),0,3);case 3:return new Date(r.getFullYear(),0,2);case 4:return new Date(r.getFullYear(),0,1);case 5:return new Date(r.getFullYear()-1,11,31);case 6:return new Date(r.getFullYear()-1,11,30)}}function p(r){var e=function(r,e){for(var t=new Date(r.getTime());e>0;){var n=Vs(t.getFullYear()),o=t.getMonth(),a=(n?Us:Ns)[o];if(!(e>a-t.getDate()))return t.setDate(t.getDate()+e),t;e-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t}(new Date(r.tm_year+1900,0,1),r.tm_yday),t=new Date(e.getFullYear(),0,4),n=new Date(e.getFullYear()+1,0,4),o=v(t),a=v(n);return m(o,e)<=0?m(a,e)<=0?e.getFullYear()+1:e.getFullYear():e.getFullYear()-1}var h={"%a":function(r){return f[r.tm_wday].substring(0,3)},"%A":function(r){return f[r.tm_wday]},"%b":function(r){return c[r.tm_mon].substring(0,3)},"%B":function(r){return c[r.tm_mon]},"%C":function(r){return d((r.tm_year+1900)/100|0,2)},"%d":function(r){return d(r.tm_mday,2)},"%e":function(r){return l(r.tm_mday,2," ")},"%g":function(r){return p(r).toString().substring(2)},"%G":function(r){return p(r)},"%H":function(r){return d(r.tm_hour,2)},"%I":function(r){var e=r.tm_hour;return 0==e?e=12:e>12&&(e-=12),d(e,2)},"%j":function(r){return d(r.tm_mday+function(r,e){for(var t=0,n=0;n<=e;t+=r[n++]);return t}(Vs(r.tm_year+1900)?Us:Ns,r.tm_mon-1),3)},"%m":function(r){return d(r.tm_mon+1,2)},"%M":function(r){return d(r.tm_min,2)},"%n":function(){return"\n"},"%p":function(r){return r.tm_hour>=0&&r.tm_hour<12?"AM":"PM"},"%S":function(r){return d(r.tm_sec,2)},"%t":function(){return"\t"},"%u":function(r){return r.tm_wday||7},"%U":function(r){var e=r.tm_yday+7-r.tm_wday;return d(Math.floor(e/7),2)},"%V":function(r){var e=Math.floor((r.tm_yday+7-(r.tm_wday+6)%7)/7);if((r.tm_wday+371-r.tm_yday-2)%7<=2&&e++,e){if(53==e){var t=(r.tm_wday+371-r.tm_yday)%7;4==t||3==t&&Vs(r.tm_year)||(e=1)}}else{e=52;var n=(r.tm_wday+7-r.tm_yday-1)%7;(4==n||5==n&&Vs(r.tm_year%400-1))&&e++}return d(e,2)},"%w":function(r){return r.tm_wday},"%W":function(r){var e=r.tm_yday+7-(r.tm_wday+6)%7;return d(Math.floor(e/7),2)},"%y":function(r){return(r.tm_year+1900).toString().substring(2)},"%Y":function(r){return r.tm_year+1900},"%z":function(r){var e=r.tm_gmtoff,t=e>=0;return e=(e=Math.abs(e)/60)/60*100+e%60,(t?"+":"-")+String("0000"+e).slice(-4)},"%Z":function(r){return r.tm_zone},"%%":function(){return"%"}};for(var u in i=i.replace(/%%/g,"\0\0"),h)i.includes(u)&&(i=i.replace(new RegExp(u,"g"),h[u](a)));var g,y,b=Bs(i=i.replace(/\0\0/g,"%"),!1);return b.length>e?0:(g=b,y=r,_.set(g,y),b.length-1)}cr=a.InternalError=fr(Error,"InternalError"),function(){for(var r=new Array(256),e=0;e<256;++e)r[e]=String.fromCharCode(e);vr=r}(),hr=a.BindingError=fr(Error,"BindingError"),Ur.prototype.isAliasOf=br,Ur.prototype.clone=jr,Ur.prototype.delete=Rr,Ur.prototype.isDeleted=Vr,Ur.prototype.deleteLater=Or,a.getInheritedInstanceCount=Cr,a.getLiveInheritedInstances=Ar,a.flushPendingDeletes=Br,a.setDelayFunction=$r,Jr.prototype.getPointee=Xr,Jr.prototype.destructor=Yr,Jr.prototype.argPackAdvance=8,Jr.prototype.readValueFromPointer=nr,Jr.prototype.deleteObject=Zr,Jr.prototype.fromWireType=Ir,ne=a.UnboundTypeError=fr(Error,"UnboundTypeError"),ce.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),ce.reserved=ce.allocated.length,a.count_emval_handles=de;for(var zs=0;zs<32;++zs)sn.push(new Array(zs));var Gs=new Float32Array(288);for(zs=0;zs<288;++zs)gi[zs]=Gs.subarray(0,zs+1);var Hs=new Int32Array(288);for(zs=0;zs<288;++zs)wi[zs]=Hs.subarray(0,zs+1);var qs=function(r,e,t,n){r||(r=this),this.parent=r,this.mount=r.mount,this.mounted=null,this.id=Is.nextInode++,this.name=e,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n},Qs=365,Xs=146;Object.defineProperties(qs.prototype,{read:{get:function(){return(this.mode&Qs)===Qs},set:function(r){r?this.mode|=Qs:this.mode&=-366}},write:{get:function(){return(this.mode&Xs)===Xs},set:function(r){r?this.mode|=Xs:this.mode&=-147}},isFolder:{get:function(){return Is.isDir(this.mode)}},isDevice:{get:function(){return Is.isChrdev(this.mode)}}}),Is.FSNode=qs,Is.createPreloadedFile=function(r,e,t,n,o,a,i,u,f,c){var l=e?Ts.resolve(Cs.join2(r,e)):r;function d(t){function s(t){c&&c(),u||Is.createDataFile(r,e,t,n,o,f),a&&a(),N()}(function(r,e,t,n){"undefined"!=typeof Browser&&Browser.init();var o=!1;return Fs.forEach((function(a){o||a.canHandle(e)&&(a.handle(r,e,t,n),o=!0)})),o})(t,l,s,(()=>{i&&i(),N()}))||s(t)}U(),"string"==typeof t?function(r,e,t,n){var o=n?"":`al ${r}`;s(r,(t=>{F(t,`Loading data file "${r}" failed (no arrayBuffer).`),e(new Uint8Array(t)),o&&N()}),(e=>{if(!t)throw`Loading data file "${r}" failed.`;t()})),o&&U()}(t,(r=>d(r)),i):d(t)},Is.staticInit();var Ys,Zs={v:function(r,e,t){throw new rr(r).init(e,t),r},Fa:function(r){var e=er[r];delete er[r];var t=e.rawConstructor,n=e.rawDestructor,o=e.fields;dr([r],o.map((r=>r.getterReturnType)).concat(o.map((r=>r.setterArgumentType))),(r=>{var a={};return o.forEach(((e,t)=>{var n=e.fieldName,i=r[t],s=e.getter,u=e.getterContext,f=r[t+o.length],c=e.setter,l=e.setterContext;a[n]={read:r=>i.fromWireType(s(u,r)),write:(r,e)=>{var t=[];c(l,r,f.toWireType(t,e)),tr(t)}}})),[{name:e.name,fromWireType:function(r){var e={};for(var t in a)e[t]=a[t].read(r);return n(r),e},toWireType:function(r,e){for(var o in a)if(!(o in e))throw new TypeError(`Missing field: "${o}"`);var i=t();for(o in a)a[o].write(i,e[o]);return null!==r&&r.push(n,i),i},argPackAdvance:8,readValueFromPointer:nr,destructorFunction:n}]}))},Oa:function(r,e,t,n,o){},Rb:function(r,e,t,n,o){var a=mr(t);yr(r,{name:e=pr(e),fromWireType:function(r){return!!r},toWireType:function(r,e){return e?n:o},argPackAdvance:8,readValueFromPointer:function(r){var n;if(1===t)n=_;else if(2===t)n=P;else{if(4!==t)throw new TypeError("Unknown boolean type size: "+e);n=A}return this.fromWireType(n[r>>a])},destructorFunction:null})},ua:function(r,e,t,n,o,i,s,u,f,c,l,d,m){l=pr(l),i=te(o,i),u&&(u=te(s,u)),c&&(c=te(f,c)),m=te(d,m);var v=sr(l);Wr(v,(function(){ae(`Cannot construct ${l} due to unbound types`,[n])})),dr([r,e,t],n?[n]:[],(function(e){var t,o;e=e[0],o=n?(t=e.registeredClass).instancePrototype:Ur.prototype;var s=ur(v,(function(){if(Object.getPrototypeOf(this)!==f)throw new hr("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new hr(l+" has no accessible constructor");var r=d.constructor_body[arguments.length];if(void 0===r)throw new hr(`Tried to invoke ctor of ${l} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return r.apply(this,arguments)})),f=Object.create(o,{constructor:{value:s}});s.prototype=f;var d=new zr(l,s,f,m,t,i,u,c);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var p=new Jr(l,d,!0,!1,!1),h=new Jr(l+"*",d,!1,!1,!1),g=new Jr(l+" const*",d,!1,!0,!1);return Pr[r]={pointerType:h,constPointerType:g},function(r,e,t){a.hasOwnProperty(r)||lr("Replacing nonexistant public symbol"),void 0!==a[r].overloadTable&&void 0!==t?a[r].overloadTable[t]=e:(a[r]=e,a[r].argCount=t)}(v,s),[p,h,g]}))},ja:function(r,e,t,n,o,a){F(e>0);var i=ie(e,t);o=te(n,o),dr([],[r],(function(r){var t=`constructor ${(r=r[0]).name}`;if(void 0===r.registeredClass.constructor_body&&(r.registeredClass.constructor_body=[]),void 0!==r.registeredClass.constructor_body[e-1])throw new hr(`Cannot register multiple constructors with identical number of parameters (${e-1}) for class '${r.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return r.registeredClass.constructor_body[e-1]=()=>{ae(`Cannot construct ${r.name} due to unbound types`,i)},dr([],i,(function(n){return n.splice(1,0,null),r.registeredClass.constructor_body[e-1]=ue(t,n,null,o,a),[]})),[]}))},r:function(r,e,t,n,o,a,i,s,u){var f=ie(t,n);e=pr(e),a=te(o,a),dr([],[r],(function(r){var n=`${(r=r[0]).name}.${e}`;function o(){ae(`Cannot call ${n} due to unbound types`,f)}e.startsWith("@@")&&(e=Symbol[e.substring(2)]),s&&r.registeredClass.pureVirtualFunctions.push(e);var c=r.registeredClass.instancePrototype,l=c[e];return void 0===l||void 0===l.overloadTable&&l.className!==r.name&&l.argCount===t-2?(o.argCount=t-2,o.className=r.name,c[e]=o):(Nr(c,e,n),c[e].overloadTable[t-2]=o),dr([],f,(function(o){var s=ue(n,o,r,a,i,u);return void 0===c[e].overloadTable?(s.argCount=t-2,c[e]=s):c[e].overloadTable[t-2]=s,[]})),[]}))},f:function(r,e,t,n,o,a,i,s,u,f){e=pr(e),o=te(n,o),dr([],[r],(function(r){var n=`${(r=r[0]).name}.${e}`,c={get:function(){ae(`Cannot access ${n} due to unbound types`,[t,i])},enumerable:!0,configurable:!0};return c.set=u?()=>{ae(`Cannot access ${n} due to unbound types`,[t,i])}:r=>{gr(n+" is a read-only property")},Object.defineProperty(r.registeredClass.instancePrototype,e,c),dr([],u?[t,i]:[t],(function(t){var i=t[0],c={get:function(){var e=fe(this,r,n+" getter");return i.fromWireType(o(a,e))},enumerable:!0};if(u){u=te(s,u);var l=t[1];c.set=function(e){var t=fe(this,r,n+" setter"),o=[];u(f,t,l.toWireType(o,e)),tr(o)}}return Object.defineProperty(r.registeredClass.instancePrototype,e,c),[]})),[]}))},Va:function(r,e){yr(r,{name:e=pr(e),fromWireType:function(r){var e=me.toValue(r);return le(r),e},toWireType:function(r,e){return me.toHandle(e)},argPackAdvance:8,readValueFromPointer:nr,destructorFunction:null})},g:function(r,e,t,n){var o=mr(t);function a(){}e=pr(e),a.values={},yr(r,{name:e,constructor:a,fromWireType:function(r){return this.constructor.values[r]},toWireType:function(r,e){return e.value},argPackAdvance:8,readValueFromPointer:ve(e,o,n),destructorFunction:null}),Wr(e,a)},a:function(r,e,t){var n=pe(r,"enum");e=pr(e);var o=n.constructor,a=Object.create(n.constructor.prototype,{value:{value:t},constructor:{value:ur(`${n.name}_${e}`,(function(){}))}});o.values[t]=a,o[e]=a},u:function(r,e,t){var n=mr(t);yr(r,{name:e=pr(e),fromWireType:function(r){return r},toWireType:function(r,e){return e},argPackAdvance:8,readValueFromPointer:ge(e,n),destructorFunction:null})},d:function(r,e,t,n,o){e=pr(e),-1===o&&(o=4294967295);var a=mr(t),i=r=>r;if(0===n){var s=32-8*t;i=r=>r<<s>>>s}var u=e.includes("unsigned");yr(r,{name:e,fromWireType:i,toWireType:u?function(r,e){return this.name,e>>>0}:function(r,e){return this.name,e},argPackAdvance:8,readValueFromPointer:ye(e,a,0!==n),destructorFunction:null})},c:function(r,e,t){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];function o(r){var e=T,t=e[r>>=2],o=e[r+1];return new n(e.buffer,o,t)}yr(r,{name:t=pr(t),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},t:function(r,e){var t="std::string"===(e=pr(e));yr(r,{name:e,fromWireType:function(r){var e,n=T[r>>2],o=r+4;if(t)for(var a=o,i=0;i<=n;++i){var s=o+i;if(i==n||0==k[s]){var u=ke(a,s-a);void 0===e?e=u:(e+=String.fromCharCode(0),e+=u),a=s+1}}else{var f=new Array(n);for(i=0;i<n;++i)f[i]=String.fromCharCode(k[o+i]);e=f.join("")}return Js(r),e},toWireType:function(r,e){var n;e instanceof ArrayBuffer&&(e=new Uint8Array(e));var o="string"==typeof e;o||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||gr("Cannot pass non-string to std::string"),n=t&&o?Ee(e):e.length;var a=Ks(4+n+1),i=a+4;if(T[a>>2]=n,t&&o)we(e,i,n+1);else if(o)for(var s=0;s<n;++s){var u=e.charCodeAt(s);u>255&&(Js(i),gr("String has UTF-16 code units that do not fit in 8 bits")),k[i+s]=u}else for(s=0;s<n;++s)k[i+s]=e[s];return null!==r&&r.push(Js,a),a},argPackAdvance:8,readValueFromPointer:nr,destructorFunction:function(r){Js(r)}})},l:function(r,e,t){var n,o,a,i,s;t=pr(t),2===e?(n=Ce,o=Ae,i=Te,a=()=>C,s=1):4===e&&(n=Be,o=Se,i=$e,a=()=>T,s=2),yr(r,{name:t,fromWireType:function(r){for(var t,o=T[r>>2],i=a(),u=r+4,f=0;f<=o;++f){var c=r+4+f*e;if(f==o||0==i[c>>s]){var l=n(u,c-u);void 0===t?t=l:(t+=String.fromCharCode(0),t+=l),u=c+e}}return Js(r),t},toWireType:function(r,n){"string"!=typeof n&&gr(`Cannot pass non-string to C++ string type ${t}`);var a=i(n),u=Ks(4+a+e);return T[u>>2]=a>>s,o(n,u+4,a+e),null!==r&&r.push(Js,u),u},argPackAdvance:8,readValueFromPointer:nr,destructorFunction:function(r){Js(r)}})},Zc:function(r,e,t,n,o,a){er[r]={name:pr(e),rawConstructor:te(t,n),rawDestructor:te(o,a),fields:[]}},m:function(r,e,t,n,o,a,i,s,u,f){er[r].fields.push({fieldName:pr(e),getterReturnType:t,getter:te(n,o),getterContext:a,setterArgumentType:i,setter:te(s,u),setterContext:f})},ac:function(r,e){yr(r,{isVoid:!0,name:e=pr(e),argPackAdvance:0,fromWireType:function(){},toWireType:function(r,e){}})},k:function(r,e,t){r=me.toValue(r),e=pe(e,"emval::as");var n=[],o=me.toHandle(n);return T[t>>2]=o,e.toWireType(n,r)},td:function(r,e,t,n){(r=Me[r])(e=me.toValue(e),t=Fe(t),null,n)},b:le,Ed:function(r,e){var t=function(r,e){for(var t=new Array(r),n=0;n<r;++n)t[n]=pe(T[e+4*n>>2],"parameter "+n);return t}(r,e),n=t[0],o=n.name+"_$"+t.slice(1).map((function(r){return r.name})).join("_")+"$",a=Ie[o];if(void 0!==a)return a;for(var i=["retType"],s=[n],u="",f=0;f<r-1;++f)u+=(0!==f?", ":"")+"arg"+f,i.push("argType"+f),s.push(t[1+f]);var c="return function "+sr("methodCaller_"+o)+"(handle, name, destructors, args) {\n",l=0;for(f=0;f<r-1;++f)c+=" var arg"+f+" = argType"+f+".readValueFromPointer(args"+(l?"+"+l:"")+");\n",l+=t[f+1].argPackAdvance;for(c+=" var rv = handle[name]("+u+");\n",f=0;f<r-1;++f)t[f+1].deleteObject&&(c+=" argType"+f+".deleteObject(arg"+f+");\n");n.isVoid||(c+=" return retType.toWireType(destructors, rv);\n"),c+="};\n",i.push(c);var d,m,v=se(Function,i).apply(null,s);return d=v,m=Me.length,Me.push(d),a=m,Ie[o]=a,a},w:function(r){return r=Fe(r),me.toHandle(a[r])},h:function(r,e){return r=me.toValue(r),e=me.toValue(e),me.toHandle(r[e])},q:function(r){r>4&&(ce.get(r).refcount+=1)},Pd:function(r,e,t,n){r=me.toValue(r);var o=Le[e];return o||(o=function(r){for(var e="",t=0;t<r;++t)e+=(0!==t?", ":"")+"arg"+t;var n="return function emval_allocator_"+r+"(constructor, argTypes, args) {\n var HEAPU32 = getMemory();\n";for(t=0;t<r;++t)n+="var argType"+t+" = requireRegisteredType(HEAPU32[((argTypes)>>2)], 'parameter "+t+"');\nvar arg"+t+" = argType"+t+".readValueFromPointer(args);\nargs += argType"+t+"['argPackAdvance'];\nargTypes += 4;\n";return n+="var obj = new constructor("+e+");\nreturn valueToHandle(obj);\n}\n",new Function("requireRegisteredType","Module","valueToHandle","getMemory",n)(pe,a,me.toHandle,(()=>T))}(e),Le[e]=o),o(r,t,n)},e:function(r){return me.toHandle(Fe(r))},id:function(){return me.toHandle({})},j:function(r){tr(me.toValue(r)),le(r)},o:function(r,e,t){r=me.toValue(r),e=me.toValue(e),t=me.toValue(t),r[e]=t},p:function(r,e){var t=(r=pe(r,"_emval_take_value")).readValueFromPointer(e);return me.toHandle(t)},i:function(){W("")},ra:Re,qa:Ve,Qc:Oe,Ja:Ue,tc:Ne,pa:We,oa:ze,qc:Ge,rc:He,na:qe,ma:Qe,wb:Xe,la:Ye,ob:Ze,yc:Ke,Aa:rt,ka:et,ia:tt,ha:nt,ga:ot,fa:at,Dc:it,ea:st,da:ut,ca:ft,ba:ct,Ub:lt,Vb:dt,Xb:mt,Wb:vt,aa:pt,$:ht,_:gt,Fb:bt,Z:wt,Y:Et,X:xt,Vc:_t,W:kt,Uc:Pt,Sb:Ct,V:At,U:Tt,Wc:Bt,T:St,S:$t,R:Dt,Q:Ft,P:Mt,O:It,Sc:Lt,La:jt,N:Rt,yb:Vt,M:Ot,Gb:Ut,L:Nt,nb:Wt,xc:Gt,za:Ht,K:qt,J:Qt,I:Xt,H:Yt,G:Zt,F:Jt,E:Kt,Kb:en,va:tn,Za:nn,cd:on,_a:an,Kc:fn,ad:cn,wa:ln,D:mn,Jb:pn,ta:hn,Xa:gn,Ya:yn,bd:bn,_c:wn,C:En,B:xn,Pc:_n,Ia:kn,sc:Pn,Ib:Cn,A:An,z:Tn,zc:$n,y:Dn,x:Fn,Bc:Mn,Ve:In,Ue:jn,Se:Rn,Tc:Vn,Ma:On,Re:Un,zb:Nn,Qe:Wn,mb:zn,wc:Hn,ya:qn,Te:Qn,Pe:Yn,Oe:Zn,Mb:Jn,Nb:Kn,Pb:ro,Ne:eo,Me:to,Le:ao,Ab:io,Ke:so,Lc:uo,Je:fo,Ie:co,fc:lo,He:mo,Bb:po,Db:ho,uc:go,Ge:yo,bb:bo,ib:wo,Ee:Eo,Fe:xo,Ca:ko,Ea:Co,Ba:Ao,Nc:To,Da:Bo,Oc:So,Ga:$o,De:Do,qb:Fo,rb:Mo,Be:Io,Ae:Lo,ze:jo,Ce:Ro,ye:Oo,Tb:Uo,Cb:No,xe:Wo,we:zo,oc:Go,Ob:Ho,Qb:qo,te:Yo,ve:Ko,ue:ra,gc:ea,mc:oa,lc:aa,qe:ia,se:sa,re:ua,pe:fa,fb:ca,eb:la,oe:da,ne:ma,me:va,le:pa,Rc:ha,Ka:ga,ke:ya,xb:ba,je:wa,Hb:Ea,ie:xa,lb:_a,vc:Pa,xa:Ca,he:Aa,ge:Ta,Ac:Ba,kb:Sa,fe:$a,ee:Da,hb:Fa,gb:Ma,Ha:Ia,$c:La,de:Oa,ce:Ua,be:Na,Cc:Wa,jb:za,ae:Ga,tb:Ha,sb:qa,vb:Qa,ub:Xa,$d:Ya,_d:Za,Zd:Ja,Yd:Ka,Xd:ri,Wd:ei,Vd:ti,Ud:ni,Td:oi,Sd:ai,Yc:ii,Rd:si,Qd:ui,Od:fi,Nd:ci,db:li,cb:di,Md:mi,Xc:vi,pc:pi,Ld:hi,Kd:yi,Jd:bi,Id:Ei,ec:xi,$b:_i,Hd:ki,Gd:Pi,Fd:Ci,Dd:Ai,dc:Ti,_b:Bi,Cd:Si,Bd:$i,Ad:Di,zd:Fi,cc:Mi,Zb:Ii,yd:Li,xd:ji,wd:Ri,vd:Vi,bc:Oi,Yb:Ui,Lb:Ni,ud:Wi,Jc:zi,Hc:Gi,sd:Hi,Ic:qi,Fc:Qi,rd:Xi,Gc:Yi,Ec:Zi,Mc:Ji,qd:Ki,pd:rs,od:es,nd:ts,md:ns,ld:os,kd:as,jd:is,hd:ss,gd:us,pb:cs,sa:ls,$a:ds,dd:ms,ab:vs,kc:ps,ic:hs,jc:gs,hc:ys,nc:bs,fd:ws,ed:Es,Eb:xs,Wa:function(r,e,t){k.copyWithin(r,e,e+t)},Sa:function(r){var e=k.length,t=2147483648;if((r>>>=0)>t)return!1;for(var n,o,a=1;a<=4;a*=2){var i=e*(1+.2/a);if(i=Math.min(i,r+100663296),_s(Math.min(t,(n=Math.max(r,i))+((o=65536)-n%o)%o)))return!0}return!1},Qa:function(r,e){var t=0;return Ps().forEach((function(n,o){var a=e+t;T[r+4*o>>2]=a,function(r,e){for(var t=0;t<r.length;++t)_[0|e++]=r.charCodeAt(t);_[0|e]=0}(n,a),t+=n.length+1})),0},Ra:function(r,e){var t=Ps();T[r>>2]=t.length;var n=0;return t.forEach((function(r){n+=r.length+1})),T[e>>2]=n,0},n:Rs,Ta:function(r){try{var e=Ls.getStreamFromFD(r);return Is.close(e),0}catch(r){if(void 0===Is||"ErrnoError"!==r.name)throw r;return r.errno}},Ua:function(r,e,t,n){try{var o=function(r,e,t,n){for(var o=0,a=0;a<t;a++){var i=T[e>>2],s=T[e+4>>2];e+=8;var u=Is.read(r,_,i,s,n);if(u<0)return-1;if(o+=u,u<s)break;void 0!==n&&(n+=u)}return o}(Ls.getStreamFromFD(r),e,t);return T[n>>2]=o,0}catch(r){if(void 0===Is||"ErrnoError"!==r.name)throw r;return r.errno}},Na:function(r,e,t,n,o){try{var a=(u=t)+2097152>>>0<4194305-!!(s=e)?(s>>>0)+4294967296*u:NaN;if(isNaN(a))return 61;var i=Ls.getStreamFromFD(r);return Is.llseek(i,a,n),q=[i.position>>>0,(H=i.position,+Math.abs(H)>=1?H>0?+Math.floor(H/4294967296)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],A[o>>2]=q[0],A[o+4>>2]=q[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(r){if(void 0===Is||"ErrnoError"!==r.name)throw r;return r.errno}var s,u},s:function(r,e,t,n){try{var o=function(r,e,t,n){for(var o=0,a=0;a<t;a++){var i=T[e>>2],s=T[e+4>>2];e+=8;var u=Is.write(r,_,i,s,n);if(u<0)return-1;o+=u,void 0!==n&&(n+=u)}return o}(Ls.getStreamFromFD(r),e,t);return T[n>>2]=o,0}catch(r){if(void 0===Is||"ErrnoError"!==r.name)throw r;return r.errno}},Pa:function(r,e,t,n,o){return Ws(r,e,t,n)}},Js=(function(){var r,e,t,o,i={a:Zs};function s(r,e){var t,n=r.exports;return a.asm=n,E=a.asm.We,M(),$=a.asm.Ye,t=a.asm.Xe,L.unshift(t),N(),n}if(U(),a.instantiateWasm)try{return a.instantiateWasm(i,s)}catch(r){w("Module.instantiateWasm callback failed with error: "+r),n(r)}(r=y,e=z,t=i,o=function(r){s(r.instance)},r||"function"!=typeof WebAssembly.instantiateStreaming||Q(e)||X(e)||v||"function"!=typeof fetch?Z(e,t,o):fetch(e,{credentials:"same-origin"}).then((r=>WebAssembly.instantiateStreaming(r,t).then(o,(function(r){return w("wasm streaming compile failed: "+r),w("falling back to ArrayBuffer instantiation"),Z(e,t,o)}))))).catch(n)}(),function(){return(Js=a.asm.Ze).apply(null,arguments)}),Ks=function(){return(Ks=a.asm._e).apply(null,arguments)},ru=function(){return(ru=a.asm.$e).apply(null,arguments)},eu=(a.__embind_initialize_bindings=function(){return(a.__embind_initialize_bindings=a.asm.af).apply(null,arguments)},function(){return(eu=a.asm.bf).apply(null,arguments)});a.dynCall_iij=function(){return(a.dynCall_iij=a.asm.cf).apply(null,arguments)},a.dynCall_iiiiiijii=function(){return(a.dynCall_iiiiiijii=a.asm.df).apply(null,arguments)},a.dynCall_jiji=function(){return(a.dynCall_jiji=a.asm.ef).apply(null,arguments)},a.dynCall_viijii=function(){return(a.dynCall_viijii=a.asm.ff).apply(null,arguments)},a.dynCall_iiiiij=function(){return(a.dynCall_iiiiij=a.asm.gf).apply(null,arguments)},a.dynCall_iiiiijj=function(){return(a.dynCall_iiiiijj=a.asm.hf).apply(null,arguments)},a.dynCall_iiiiiijj=function(){return(a.dynCall_iiiiiijj=a.asm.jf).apply(null,arguments)};function tu(){function r(){Ys||(Ys=!0,a.calledRun=!0,D||(a.noFSInit||Is.init.initialized||Is.init(),Is.ignorePermissions=!1,Ss.init(),K(L),t(a),a.onRuntimeInitialized&&a.onRuntimeInitialized(),function(){if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)r=a.postRun.shift(),j.unshift(r);var r;K(j)}()))}R>0||(!function(){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)r=a.preRun.shift(),I.unshift(r);var r;K(I)}(),R>0||(a.setStatus?(a.setStatus("Running..."),setTimeout((function(){setTimeout((function(){a.setStatus("")}),1),r()}),1)):r()))}if(a.GL=je,O=function r(){Ys||tu(),Ys||(O=r)},a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();return tu(),r.ready};
|
package/dist/example.html
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="utf-8"/>
|
|
5
5
|
<script src="x_ite.min.js"></script>
|
|
6
6
|
<!-- or use: -->
|
|
7
|
-
<!-- <script src="https://cdn.jsdelivr.net/npm/x_ite@11.5.
|
|
7
|
+
<!-- <script src="https://cdn.jsdelivr.net/npm/x_ite@11.5.10/dist/x_ite.min.js"></script> -->
|
|
8
8
|
<style>
|
|
9
9
|
x3d-canvas {
|
|
10
10
|
width: 1000px;
|