ezuikit-flv 1.0.3-alpha.13 → 1.0.3-alpha.16
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/decoder.js +3 -3
- package/index.js +4 -4
- package/package.json +1 -1
- package/types/index.d.ts +19 -6
- package/types/player/commonLoader.d.ts +1 -6
package/decoder.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*
|
|
2
2
|
*
|
|
3
|
-
* decoder.js v1.0.3-alpha.
|
|
4
|
-
* Copyright (c) 2025-3-
|
|
3
|
+
* decoder.js v1.0.3-alpha.16
|
|
4
|
+
* Copyright (c) 2025-3-22 Ezviz-OpenBiz
|
|
5
5
|
*
|
|
6
6
|
* https://github.com/Ezviz-OpenBiz/EZUIKit-flv
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
|
-
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var r,t;var n=function(){if(t)return r;t=1;var e=!0;if((a=void 0!==a?a:{}).ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");var n,o,a={print:function(e){},printErr:function(e){postMessage({cmd:"wasmError",message:e})}},i=Object.assign({},a),s="./this.program",l="";if("undefined"!=typeof document&&document.currentScript&&(l=document.currentScript.src),l=l.startsWith("blob:")?"":l.substr(0,l.replace(/[?#].*/,"").lastIndexOf("/")+1),"object"!=typeof window&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");n=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},o=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)};var d,u,c,f=a.print||console.log.bind(console),p=a.printErr||console.error.bind(console);Object.assign(a,i),i=null,d="fetchSettings",Object.getOwnPropertyDescriptor(a,d)&&L(`\`Module.${d}\` was supplied but \`${d}\` not included in INCOMING_MODULE_JS_API`),a.arguments&&a.arguments,Y("arguments","arguments_"),a.thisProgram&&(s=a.thisProgram),Y("thisProgram","thisProgram"),a.quit&&a.quit,Y("quit","quit_"),_(void 0===a.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),_(void 0===a.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),_(void 0===a.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),_(void 0===a.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),_(void 0===a.read,"Module.read option was removed (modify read_ in JS)"),_(void 0===a.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),_(void 0===a.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),_(void 0===a.setWindowTitle,"Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)"),_(void 0===a.TOTAL_MEMORY,"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),Y("asm","wasmExports"),Y("read","read_"),Y("readAsync","readAsync"),Y("readBinary","readBinary"),Y("setWindowTitle","setWindowTitle"),_(!0,"worker environment detected but not enabled at build time. Add `worker` to `-sENVIRONMENT` to enable."),_(!0,"node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable."),_(!0,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable."),a.wasmBinary&&(u=a.wasmBinary),Y("wasmBinary","wasmBinary"),"object"!=typeof WebAssembly&&p("no native wasm support detected");var m,h,g,v,y,E,w,b,T=!1;function _(e,r){e||L("Assertion failed"+(r?": "+r:""))}function C(){var e=c.buffer;a.HEAP8=m=new Int8Array(e),a.HEAP16=g=new Int16Array(e),a.HEAPU8=h=new Uint8Array(e),a.HEAPU16=v=new Uint16Array(e),a.HEAP32=y=new Int32Array(e),a.HEAPU32=E=new Uint32Array(e),a.HEAPF32=w=new Float32Array(e),a.HEAPF64=b=new Float64Array(e)}function S(){if(!T){var e=ut();0==e&&(e+=4);var r=E[e>>2],t=E[e+4>>2];34821223==r&&2310721022==t||L(`Stack overflow! Stack cookie has been overwritten at ${Z(e)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${Z(t)} ${Z(r)}`),1668509029!=E[0]&&L("Runtime error: The application has corrupted its heap memory area (address zero)!")}}_(!a.STACK_SIZE,"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time"),_("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&null!=Int32Array.prototype.subarray&&null!=Int32Array.prototype.set,"JS engine does not provide full typed array support"),_(!a.wasmMemory,"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"),_(!a.INITIAL_MEMORY,"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically"),function(){var e=new Int16Array(1),r=new Int8Array(e.buffer);if(e[0]=25459,115!==r[0]||99!==r[1])throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"}();var P=[],A=[],k=[],F=!1;_(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),_(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),_(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),_(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var D=0,O=null,M=null,$={};function N(e){for(var r=e;;){if(!$[e])return e;e=r+Math.random()}}function I(e){var r,t;D++,null===(r=(t=a).monitorRunDependencies)||void 0===r||r.call(t,D),e?(_(!$[e]),$[e]=1,null===O&&"undefined"!=typeof setInterval&&(O=setInterval((()=>{if(T)return clearInterval(O),void(O=null);var e=!1;for(var r in $)e||(e=!0,p("still waiting on run dependencies:")),p(`dependency: ${r}`);e&&p("(end of list)")}),1e4))):p("warning: run dependency added without ID")}function R(e){var r,t;if(D--,null===(r=(t=a).monitorRunDependencies)||void 0===r||r.call(t,D),e?(_($[e]),delete $[e]):p("warning: run dependency removed without ID"),0==D&&(null!==O&&(clearInterval(O),O=null),M)){var n=M;M=null,n()}}function L(e){var r,t;throw null===(r=(t=a).onAbort)||void 0===r||r.call(t,e),p(e="Aborted("+e+")"),T=!0,new WebAssembly.RuntimeError(e)}var U,x,B,j=e=>e.startsWith("data:application/octet-stream;base64,"),W=e=>e.startsWith("file://");function z(e,r){return function(){_(F,`native function \`${e}\` called before runtime initialization`);var t=nt[e];return _(t,`exported native function \`${e}\` not found`),_(arguments.length<=r,`native function \`${e}\` called with ${arguments.length} args but expects ${r}`),t(...arguments)}}function H(){var e,r="decoder.wasm";return j(r)?r:(e=r,a.locateFile?a.locateFile(e,l):l+e)}function G(e){if(e==U&&u)return new Uint8Array(u);throw"both async and sync fetching of the wasm failed"}function V(r,t,n){return function(r){return!u&&e&&"function"==typeof fetch?fetch(r,{credentials:"same-origin"}).then((e=>{if(!e.ok)throw`failed to load wasm binary file at '${r}'`;return e.arrayBuffer()})).catch((()=>G(r))):Promise.resolve().then((()=>G(r)))}(r).then((e=>WebAssembly.instantiate(e,t))).then(n,(e=>{p(`failed to asynchronously prepare wasm: ${e}`),W(U)&&p(`warning: Loading from a file URI (${U}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`),L(e)}))}function Y(e,r){let t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];Object.getOwnPropertyDescriptor(a,e)||Object.defineProperty(a,e,{configurable:!0,get(){L(`\`Module.${e}\` has been replaced by \`${r}\``+(t?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":""))}})}function X(e){return"FS_createPath"===e||"FS_createDataFile"===e||"FS_createPreloadedFile"===e||"FS_unlink"===e||"addRunDependency"===e||"FS_createLazyFile"===e||"FS_createDevice"===e||"removeRunDependency"===e}function q(e,r){"undefined"!=typeof globalThis&&Object.defineProperty(globalThis,e,{configurable:!0,get(){Q(`\`${e}\` is not longer defined by emscripten. ${r}`)}})}function K(e){Object.getOwnPropertyDescriptor(a,e)||Object.defineProperty(a,e,{configurable:!0,get(){var r=`'${e}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;X(e)&&(r+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),L(r)}})}q("buffer","Please use HEAP8.buffer or wasmMemory.buffer"),q("asm","Please use wasmExports instead");var J=e=>{for(;e.length>0;)e.shift()(a)};a.noExitRuntime;var Z=e=>(_("number"==typeof e),"0x"+(e>>>=0).toString(16).padStart(8,"0")),Q=e=>{Q.shown||={},Q.shown[e]||(Q.shown[e]=1,p(e))},ee="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,re=(e,r,t)=>{for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&ee)return ee.decode(e.subarray(r,o));for(var a="";r<o;){var i=e[r++];if(128&i){var s=63&e[r++];if(192!=(224&i)){var l=63&e[r++];if(224==(240&i)?i=(15&i)<<12|s<<6|l:(240!=(248&i)&&Q("Invalid UTF-8 leading byte "+Z(i)+" encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),i=(7&i)<<18|s<<12|l<<6|63&e[r++]),i<65536)a+=String.fromCharCode(i);else{var d=i-65536;a+=String.fromCharCode(55296|d>>10,56320|1023&d)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a},te=(e,r)=>(_("number"==typeof e,`UTF8ToString expects a number (got ${typeof e})`),e?re(h,e,r):"");function ne(){_(null!=_e.varargs);var e=y[+_e.varargs>>2];return _e.varargs+=4,e}var oe=ne,ae={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=ae.isAbs(e),t="/"===e.substr(-1);return(e=ae.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=ae.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=ae.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];return ae.normalize(r.join("/"))},join2:(e,r)=>ae.normalize(e+"/"+r)},ie=e=>(ie=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);L("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")})())(e),se={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?t<0||arguments.length<=t?void 0:arguments[t]:Te.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=ae.isAbs(n)}return(r?"/":"")+(e=ae.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r<e.length&&""===e[r];r++);for(var t=e.length-1;t>=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=se.resolve(e).substr(1),r=se.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s<a;s++)if(n[s]!==o[s]){i=s;break}var l=[];for(s=i;s<n.length;s++)l.push("..");return(l=l.concat(o.slice(i))).join("/")}},le=[],de=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r},ue=(e,r,t,n)=>{if(_("string"==typeof e,`stringToUTF8Array expects a string (got ${typeof e})`),!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i);if(s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)break;s>1114111&&Q("Invalid Unicode code point "+Z(s)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-o};function ce(e,r,t){var n=de(e)+1,o=new Array(n),a=ue(e,o,0,o.length);return o.length=a,o}var fe,pe,me,he={ttys:[],init(){},shutdown(){},register(e,r){he.ttys[e]={input:[],output:[],ops:r},Te.registerDevice(e,he.stream_ops)},stream_ops:{open(e){var r=he.ttys[e.node.rdev];if(!r)throw new Te.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new Te.ErrnoError(60);for(var a=0,i=0;i<n;i++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new Te.ErrnoError(29)}if(void 0===s&&0===a)throw new Te.ErrnoError(6);if(null==s)break;a++,r[t+i]=s}return a&&(e.node.timestamp=Date.now()),a},write(e,r,t,n,o){if(!e.tty||!e.tty.ops.put_char)throw new Te.ErrnoError(60);try{for(var a=0;a<n;a++)e.tty.ops.put_char(e.tty,r[t+a])}catch(e){throw new Te.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),a}},default_tty_ops:{get_char:e=>(()=>{if(!le.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n"),!e)return null;le=ce(e)}return le.shift()})(),put_char(e,r){null===r||10===r?(f(re(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(f(re(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(p(re(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(p(re(e.output,0)),e.output=[])}}},ge=e=>{L("internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported")},ve={ops_table:null,mount:e=>ve.createNode(null,"/",16895,0),createNode(e,r,t,n){if(Te.isBlkdev(t)||Te.isFIFO(t))throw new Te.ErrnoError(63);ve.ops_table||={dir:{node:{getattr:ve.node_ops.getattr,setattr:ve.node_ops.setattr,lookup:ve.node_ops.lookup,mknod:ve.node_ops.mknod,rename:ve.node_ops.rename,unlink:ve.node_ops.unlink,rmdir:ve.node_ops.rmdir,readdir:ve.node_ops.readdir,symlink:ve.node_ops.symlink},stream:{llseek:ve.stream_ops.llseek}},file:{node:{getattr:ve.node_ops.getattr,setattr:ve.node_ops.setattr},stream:{llseek:ve.stream_ops.llseek,read:ve.stream_ops.read,write:ve.stream_ops.write,allocate:ve.stream_ops.allocate,mmap:ve.stream_ops.mmap,msync:ve.stream_ops.msync}},link:{node:{getattr:ve.node_ops.getattr,setattr:ve.node_ops.setattr,readlink:ve.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ve.node_ops.getattr,setattr:ve.node_ops.setattr},stream:Te.chrdev_stream_ops}};var o=Te.createNode(e,r,t,n);return Te.isDir(o.mode)?(o.node_ops=ve.ops_table.dir.node,o.stream_ops=ve.ops_table.dir.stream,o.contents={}):Te.isFile(o.mode)?(o.node_ops=ve.ops_table.file.node,o.stream_ops=ve.ops_table.file.stream,o.usedBytes=0,o.contents=null):Te.isLink(o.mode)?(o.node_ops=ve.ops_table.link.node,o.stream_ops=ve.ops_table.link.stream):Te.isChrdev(o.mode)&&(o.node_ops=ve.ops_table.chrdev.node,o.stream_ops=ve.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=Te.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,Te.isDir(e.mode)?r.size=4096:Te.isFile(e.mode)?r.size=e.usedBytes:Te.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&ve.resizeFileStorage(e,r.size)},lookup(e,r){throw Te.genericErrors[44]},mknod:(e,r,t,n)=>ve.createNode(e,r,t,n),rename(e,r,t){if(Te.isDir(e.mode)){var n;try{n=Te.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new Te.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=Te.lookupNode(e,r);for(var n in t.contents)throw new Te.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t of Object.keys(e.contents))r.push(t);return r},symlink(e,r,t){var n=ve.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!Te.isLink(e.mode))throw new Te.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(_(i>=0),i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s<i;s++)r[t+s]=a[o+s];return i},write(e,r,t,n,o,a){if(_(!(r instanceof ArrayBuffer)),r.buffer===m.buffer&&(a=!1),!n)return 0;var i=e.node;if(i.timestamp=Date.now(),r.subarray&&(!i.contents||i.contents.subarray)){if(a)return _(0===o,"canOwn must imply no weird position inside the file"),i.contents=r.subarray(t,t+n),i.usedBytes=n,n;if(0===i.usedBytes&&0===o)return i.contents=r.slice(t,t+n),i.usedBytes=n,n;if(o+n<=i.usedBytes)return i.contents.set(r.subarray(t,t+n),o),n}if(ve.expandFileStorage(i,o+n),i.contents.subarray&&r.subarray)i.contents.set(r.subarray(t,t+n),o);else for(var s=0;s<n;s++)i.contents[o+s]=r[t+s];return i.usedBytes=Math.max(i.usedBytes,o+n),n},llseek(e,r,t){var n=r;if(1===t?n+=e.position:2===t&&Te.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new Te.ErrnoError(28);return n},allocate(e,r,t){ve.expandFileStorage(e.node,r+t),e.node.usedBytes=Math.max(e.node.usedBytes,r+t)},mmap(e,r,t,n,o){if(!Te.isFile(e.node.mode))throw new Te.ErrnoError(43);var a,i,s=e.node.contents;if(2&o||s.buffer!==m.buffer){if((t>0||t+r<s.length)&&(s=s.subarray?s.subarray(t,t+r):Array.prototype.slice.call(s,t,t+r)),i=!0,!(a=ge()))throw new Te.ErrnoError(48);m.set(s,a)}else i=!1,a=s.byteOffset;return{ptr:a,allocated:i}},msync:(e,r,t,n,o)=>(ve.stream_ops.write(e,r,0,n,t,!1),0)}},ye=a.preloadPlugins||[],Ee=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},we={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"},be={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},Te={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class extends Error{constructor(e){for(var r in super(we[e]),this.name="ErrnoError",this.errno=e,be)if(be[r]===e){this.code=r;break}}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(e){this.node=e}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return!!(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{constructor(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Te.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return Te.isDir(this.mode)}get isDevice(){return Te.isChrdev(this.mode)}},lookupPath(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=se.resolve(e)))return{path:"",node:null};if(r=Object.assign({follow_mount:!0,recurse_count:0},r),r.recurse_count>8)throw new Te.ErrnoError(32);for(var t=e.split("/").filter((e=>!!e)),n=Te.root,o="/",a=0;a<t.length;a++){var i=a===t.length-1;if(i&&r.parent)break;if(n=Te.lookupNode(n,t[a]),o=ae.join2(o,t[a]),Te.isMountpoint(n)&&(!i||i&&r.follow_mount)&&(n=n.mounted.root),!i||r.follow)for(var s=0;Te.isLink(n.mode);){var l=Te.readlink(o);if(o=se.resolve(ae.dirname(o),l),n=Te.lookupPath(o,{recurse_count:r.recurse_count+1}).node,s++>40)throw new Te.ErrnoError(32)}}return{path:o,node:n}},getPath(e){for(var r;;){if(Te.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n<r.length;n++)t=(t<<5)-t+r.charCodeAt(n)|0;return(e+t>>>0)%Te.nameTable.length},hashAddNode(e){var r=Te.hashName(e.parent.id,e.name);e.name_next=Te.nameTable[r],Te.nameTable[r]=e},hashRemoveNode(e){var r=Te.hashName(e.parent.id,e.name);if(Te.nameTable[r]===e)Te.nameTable[r]=e.name_next;else for(var t=Te.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=Te.mayLookup(e);if(t)throw new Te.ErrnoError(t);for(var n=Te.hashName(e.id,r),o=Te.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return Te.lookup(e,r)},createNode(e,r,t,n){_("object"==typeof e);var o=new Te.FSNode(e,r,t,n);return Te.hashAddNode(o),o},destroyNode(e){Te.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>Te.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!Te.isDir(e.mode))return 54;var r=Te.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{Te.lookupNode(e,r);return 20}catch(e){}return Te.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=Te.lookupNode(e,r)}catch(e){return e.errno}var o=Te.nodePermissions(e,"wx");if(o)return o;if(t){if(!Te.isDir(n.mode))return 54;if(Te.isRoot(n)||Te.getPath(n)===Te.cwd())return 10}else if(Te.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?Te.isLink(e.mode)?32:Te.isDir(e.mode)&&("r"!==Te.flagsToPermissionString(r)||512&r)?31:Te.nodePermissions(e,Te.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Te.MAX_OPEN_FDS;e++)if(!Te.streams[e])return e;throw new Te.ErrnoError(33)},getStreamChecked(e){var r=Te.getStream(e);if(!r)throw new Te.ErrnoError(8);return r},getStream:e=>Te.streams[e],createStream(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return e=Object.assign(new Te.FSStream,e),-1==r&&(r=Te.nextfd()),e.fd=r,Te.streams[r]=e,e},closeStream(e){Te.streams[e]=null},dupStream(e){var r,t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;var o=Te.createStream(e,n);return null===(r=o.stream_ops)||void 0===r||null===(t=r.dup)||void 0===t||t.call(r,o),o},chrdev_stream_ops:{open(e){var r,t,n=Te.getDevice(e.node.rdev);e.stream_ops=n.stream_ops,null===(r=(t=e.stream_ops).open)||void 0===r||r.call(t,e)},llseek(){throw new Te.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){Te.devices[e]={stream_ops:r}},getDevice:e=>Te.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push(...n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),Te.syncFSRequests++,Te.syncFSRequests>1&&p(`warning: ${Te.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=Te.getMounts(Te.root.mount),n=0;function o(e){return _(Te.syncFSRequests>0),Te.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach((r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)}))},mount(e,r,t){if("string"==typeof e)throw e;var n,o="/"===t,a=!t;if(o&&Te.root)throw new Te.ErrnoError(10);if(!o&&!a){var i=Te.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,Te.isMountpoint(n))throw new Te.ErrnoError(10);if(!Te.isDir(n.mode))throw new Te.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},l=e.mount(s);return l.mount=s,s.root=l,o?Te.root=l:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),l},unmount(e){var r=Te.lookupPath(e,{follow_mount:!1});if(!Te.isMountpoint(r.node))throw new Te.ErrnoError(28);var t=r.node,n=t.mounted,o=Te.getMounts(n);Object.keys(Te.nameTable).forEach((e=>{for(var r=Te.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&Te.destroyNode(r),r=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);_(-1!==a),t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=Te.lookupPath(e,{parent:!0}).node,o=ae.basename(e);if(!o||"."===o||".."===o)throw new Te.ErrnoError(28);var a=Te.mayCreate(n,o);if(a)throw new Te.ErrnoError(a);if(!n.node_ops.mknod)throw new Te.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,Te.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,Te.mknod(e,r,0)),mkdirTree(e,r){for(var t=e.split("/"),n="",o=0;o<t.length;++o)if(t[o]){n+="/"+t[o];try{Te.mkdir(n,r)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,r,t)=>(void 0===t&&(t=r,r=438),r|=8192,Te.mknod(e,r,t)),symlink(e,r){if(!se.resolve(e))throw new Te.ErrnoError(44);var t=Te.lookupPath(r,{parent:!0}).node;if(!t)throw new Te.ErrnoError(44);var n=ae.basename(r),o=Te.mayCreate(t,n);if(o)throw new Te.ErrnoError(o);if(!t.node_ops.symlink)throw new Te.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,o=ae.dirname(e),a=ae.dirname(r),i=ae.basename(e),s=ae.basename(r);if(t=Te.lookupPath(e,{parent:!0}).node,n=Te.lookupPath(r,{parent:!0}).node,!t||!n)throw new Te.ErrnoError(44);if(t.mount!==n.mount)throw new Te.ErrnoError(75);var l,d=Te.lookupNode(t,i),u=se.relative(e,a);if("."!==u.charAt(0))throw new Te.ErrnoError(28);if("."!==(u=se.relative(r,o)).charAt(0))throw new Te.ErrnoError(55);try{l=Te.lookupNode(n,s)}catch(e){}if(d!==l){var c=Te.isDir(d.mode),f=Te.mayDelete(t,i,c);if(f)throw new Te.ErrnoError(f);if(f=l?Te.mayDelete(n,s,c):Te.mayCreate(n,s))throw new Te.ErrnoError(f);if(!t.node_ops.rename)throw new Te.ErrnoError(63);if(Te.isMountpoint(d)||l&&Te.isMountpoint(l))throw new Te.ErrnoError(10);if(n!==t&&(f=Te.nodePermissions(t,"w")))throw new Te.ErrnoError(f);Te.hashRemoveNode(d);try{t.node_ops.rename(d,n,s)}catch(e){throw e}finally{Te.hashAddNode(d)}}},rmdir(e){var r=Te.lookupPath(e,{parent:!0}).node,t=ae.basename(e),n=Te.lookupNode(r,t),o=Te.mayDelete(r,t,!0);if(o)throw new Te.ErrnoError(o);if(!r.node_ops.rmdir)throw new Te.ErrnoError(63);if(Te.isMountpoint(n))throw new Te.ErrnoError(10);r.node_ops.rmdir(r,t),Te.destroyNode(n)},readdir(e){var r=Te.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new Te.ErrnoError(54);return r.node_ops.readdir(r)},unlink(e){var r=Te.lookupPath(e,{parent:!0}).node;if(!r)throw new Te.ErrnoError(44);var t=ae.basename(e),n=Te.lookupNode(r,t),o=Te.mayDelete(r,t,!1);if(o)throw new Te.ErrnoError(o);if(!r.node_ops.unlink)throw new Te.ErrnoError(63);if(Te.isMountpoint(n))throw new Te.ErrnoError(10);r.node_ops.unlink(r,t),Te.destroyNode(n)},readlink(e){var r=Te.lookupPath(e).node;if(!r)throw new Te.ErrnoError(44);if(!r.node_ops.readlink)throw new Te.ErrnoError(28);return se.resolve(Te.getPath(r.parent),r.node_ops.readlink(r))},stat(e,r){var t=Te.lookupPath(e,{follow:!r}).node;if(!t)throw new Te.ErrnoError(44);if(!t.node_ops.getattr)throw new Te.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>Te.stat(e,!0),chmod(e,r,t){var n;"string"==typeof e?n=Te.lookupPath(e,{follow:!t}).node:n=e;if(!n.node_ops.setattr)throw new Te.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod(e,r){Te.chmod(e,r,!0)},fchmod(e,r){var t=Te.getStreamChecked(e);Te.chmod(t.node,r)},chown(e,r,t,n){var o;"string"==typeof e?o=Te.lookupPath(e,{follow:!n}).node:o=e;if(!o.node_ops.setattr)throw new Te.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(e,r,t){Te.chown(e,r,t,!0)},fchown(e,r,t){var n=Te.getStreamChecked(e);Te.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new Te.ErrnoError(28);var t;"string"==typeof e?t=Te.lookupPath(e,{follow:!0}).node:t=e;if(!t.node_ops.setattr)throw new Te.ErrnoError(63);if(Te.isDir(t.mode))throw new Te.ErrnoError(31);if(!Te.isFile(t.mode))throw new Te.ErrnoError(28);var n=Te.nodePermissions(t,"w");if(n)throw new Te.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=Te.getStreamChecked(e);if(!(2097155&t.flags))throw new Te.ErrnoError(28);Te.truncate(t.node,r)},utime(e,r,t){var n=Te.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open(e,r,t){if(""===e)throw new Te.ErrnoError(44);var n;if(t=void 0===t?438:t,t=64&(r="string"==typeof r?(e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r})(r):r)?4095&t|32768:0,"object"==typeof e)n=e;else{e=ae.normalize(e);try{n=Te.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var o=!1;if(64&r)if(n){if(128&r)throw new Te.ErrnoError(20)}else n=Te.mknod(e,t,0),o=!0;if(!n)throw new Te.ErrnoError(44);if(Te.isChrdev(n.mode)&&(r&=-513),65536&r&&!Te.isDir(n.mode))throw new Te.ErrnoError(54);if(!o){var i=Te.mayOpen(n,r);if(i)throw new Te.ErrnoError(i)}512&r&&!o&&Te.truncate(n,0),r&=-131713;var s=Te.createStream({node:n,path:Te.getPath(n),flags:r,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&r||(Te.readFiles||(Te.readFiles={}),e in Te.readFiles||(Te.readFiles[e]=1)),s},close(e){if(Te.isClosed(e))throw new Te.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Te.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Te.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Te.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,o){if(_(t>=0),n<0||o<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(1==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.read)throw new Te.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new Te.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write(e,r,t,n,o,a){if(_(t>=0),n<0||o<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(!(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.write)throw new Te.ErrnoError(28);e.seekable&&1024&e.flags&&Te.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new Te.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},allocate(e,r,t){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(r<0||t<=0)throw new Te.ErrnoError(28);if(!(2097155&e.flags))throw new Te.ErrnoError(8);if(!Te.isFile(e.node.mode)&&!Te.isDir(e.node.mode))throw new Te.ErrnoError(43);if(!e.stream_ops.allocate)throw new Te.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,o){if(2&n&&!(2&o)&&2!=(2097155&e.flags))throw new Te.ErrnoError(2);if(1==(2097155&e.flags))throw new Te.ErrnoError(2);if(!e.stream_ops.mmap)throw new Te.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>(_(t>=0),e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0),ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new Te.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,n=Te.open(e,r.flags),o=Te.stat(e).size,a=new Uint8Array(o);return Te.read(n,a,0,o,0),"utf8"===r.encoding?t=re(a,0):"binary"===r.encoding&&(t=a),Te.close(n),t},writeFile(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t.flags=t.flags||577;var n=Te.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(de(r)+1),a=ue(r,o,0,o.length);Te.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");Te.write(n,r,0,r.byteLength,void 0,t.canOwn)}Te.close(n)},cwd:()=>Te.currentPath,chdir(e){var r=Te.lookupPath(e,{follow:!0});if(null===r.node)throw new Te.ErrnoError(44);if(!Te.isDir(r.node.mode))throw new Te.ErrnoError(54);var t=Te.nodePermissions(r.node,"x");if(t)throw new Te.ErrnoError(t);Te.currentPath=r.path},createDefaultDirectories(){Te.mkdir("/tmp"),Te.mkdir("/home"),Te.mkdir("/home/web_user")},createDefaultDevices(){Te.mkdir("/dev"),Te.registerDevice(Te.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),Te.mkdev("/dev/null",Te.makedev(1,3)),he.register(Te.makedev(5,0),he.default_tty_ops),he.register(Te.makedev(6,0),he.default_tty1_ops),Te.mkdev("/dev/tty",Te.makedev(5,0)),Te.mkdev("/dev/tty1",Te.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(r=ie(e).byteLength),e[--r]);Te.createDevice("/dev","random",t),Te.createDevice("/dev","urandom",t),Te.mkdir("/dev/shm"),Te.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Te.mkdir("/proc");var e=Te.mkdir("/proc/self");Te.mkdir("/proc/self/fd"),Te.mount({mount(){var r=Te.createNode(e,"fd",16895,73);return r.node_ops={lookup(e,r){var t=+r,n=Te.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},r}},{},"/proc/self/fd")},createStandardStreams(){a.stdin?Te.createDevice("/dev","stdin",a.stdin):Te.symlink("/dev/tty","/dev/stdin"),a.stdout?Te.createDevice("/dev","stdout",null,a.stdout):Te.symlink("/dev/tty","/dev/stdout"),a.stderr?Te.createDevice("/dev","stderr",null,a.stderr):Te.symlink("/dev/tty1","/dev/stderr");var e=Te.open("/dev/stdin",0),r=Te.open("/dev/stdout",1),t=Te.open("/dev/stderr",1);_(0===e.fd,`invalid handle for stdin (${e.fd})`),_(1===r.fd,`invalid handle for stdout (${r.fd})`),_(2===t.fd,`invalid handle for stderr (${t.fd})`)},staticInit(){[44].forEach((e=>{Te.genericErrors[e]=new Te.ErrnoError(e),Te.genericErrors[e].stack="<generic error, no stack>"})),Te.nameTable=new Array(4096),Te.mount(ve,{},"/"),Te.createDefaultDirectories(),Te.createDefaultDevices(),Te.createSpecialDirectories(),Te.filesystems={MEMFS:ve}},init(e,r,t){_(!Te.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),Te.init.initialized=!0,a.stdin=e||a.stdin,a.stdout=r||a.stdout,a.stderr=t||a.stderr,Te.createStandardStreams()},quit(){Te.init.initialized=!1,st(0);for(var e=0;e<Te.streams.length;e++){var r=Te.streams[e];r&&Te.close(r)}},findObject(e,r){var t=Te.analyzePath(e,r);return t.exists?t.object:null},analyzePath(e,r){try{e=(n=Te.lookupPath(e,{follow:!r})).path}catch(e){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Te.lookupPath(e,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=ae.basename(e),n=Te.lookupPath(e,{follow:!r}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(e){t.error=e.errno}return t},createPath(e,r,t,n){e="string"==typeof e?e:Te.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var i=ae.join2(e,a);try{Te.mkdir(i)}catch(e){}e=i}}return i},createFile(e,r,t,n,o){var a=ae.join2("string"==typeof e?e:Te.getPath(e),r),i=Ee(n,o);return Te.create(a,i)},createDataFile(e,r,t,n,o,a){var i=r;e&&(e="string"==typeof e?e:Te.getPath(e),i=r?ae.join2(e,r):e);var s=Ee(n,o),l=Te.create(i,s);if(t){if("string"==typeof t){for(var d=new Array(t.length),u=0,c=t.length;u<c;++u)d[u]=t.charCodeAt(u);t=d}Te.chmod(l,146|s);var f=Te.open(l,577);Te.write(f,t,0,t.length,0,a),Te.close(f),Te.chmod(l,s)}},createDevice(e,r,t,n){var o=ae.join2("string"==typeof e?e:Te.getPath(e),r),a=Ee(!!t,!!n);Te.createDevice.major||(Te.createDevice.major=64);var i=Te.makedev(Te.createDevice.major++,0);return Te.registerDevice(i,{open(e){e.seekable=!1},close(e){var r;null!=n&&null!==(r=n.buffer)&&void 0!==r&&r.length&&n(10)},read(e,r,n,o,a){for(var i=0,s=0;s<o;s++){var l;try{l=t()}catch(e){throw new Te.ErrnoError(29)}if(void 0===l&&0===i)throw new Te.ErrnoError(6);if(null==l)break;i++,r[n+s]=l}return i&&(e.node.timestamp=Date.now()),i},write(e,r,t,o,a){for(var i=0;i<o;i++)try{n(r[t+i])}catch(e){throw new Te.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),i}}),Te.mkdev(o,a,i)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.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(!n)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=ce(n(e.url)),e.usedBytes=e.contents.length}catch(e){throw new Te.ErrnoError(29)}},createLazyFile(e,r,t,n,o){if("undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a={isDevice:!1,url:t},i=Te.createFile(e,r,a,n,o);a.contents?i.contents=a.contents:a.url&&(i.contents=null,i.url=a.url),Object.defineProperties(i,{usedBytes:{get:function(){return this.contents.length}}});var s={};function l(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(_(i>=0),a.slice)for(var s=0;s<i;s++)r[t+s]=a[o+s];else for(s=0;s<i;s++)r[t+s]=a.get(o+s);return i}return Object.keys(i.stream_ops).forEach((e=>{var r=i.stream_ops[e];s[e]=function(){return Te.forceLoadFile(i),r(...arguments)}})),s.read=(e,r,t,n,o)=>(Te.forceLoadFile(i),l(e,r,t,n,o)),s.mmap=(e,r,t,n,o)=>{Te.forceLoadFile(i);var a=ge();if(!a)throw new Te.ErrnoError(48);return l(e,m,a,r,t),{ptr:a,allocated:!0}},i.stream_ops=s,i},absolutePath(){L("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder(){L("FS.createFolder has been removed; use FS.mkdir instead")},createLink(){L("FS.createLink has been removed; use FS.symlink instead")},joinPath(){L("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc(){L("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath(){L("FS.standardizePath has been removed; use PATH.normalize instead")}},_e={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(ae.isAbs(r))return r;var n;-100===e?n=Te.cwd():n=_e.getStreamFromFD(e).path;if(0==r.length){if(!t)throw new Te.ErrnoError(44);return n}return ae.join2(n,r)},doStat(e,r,t){var n=e(r);y[t>>2]=n.dev,y[t+4>>2]=n.mode,E[t+8>>2]=n.nlink,y[t+12>>2]=n.uid,y[t+16>>2]=n.gid,y[t+20>>2]=n.rdev,B=[n.size>>>0,(x=n.size,+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)],y[t+24>>2]=B[0],y[t+28>>2]=B[1],y[t+32>>2]=4096,y[t+36>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return B=[Math.floor(o/1e3)>>>0,(x=Math.floor(o/1e3),+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)],y[t+40>>2]=B[0],y[t+44>>2]=B[1],E[t+48>>2]=o%1e3*1e3,B=[Math.floor(a/1e3)>>>0,(x=Math.floor(a/1e3),+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)],y[t+56>>2]=B[0],y[t+60>>2]=B[1],E[t+64>>2]=a%1e3*1e3,B=[Math.floor(i/1e3)>>>0,(x=Math.floor(i/1e3),+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)],y[t+72>>2]=B[0],y[t+76>>2]=B[1],E[t+80>>2]=i%1e3*1e3,B=[n.ino>>>0,(x=n.ino,+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)],y[t+88>>2]=B[0],y[t+92>>2]=B[1],0},doMsync(e,r,t,n,o){if(!Te.isFile(r.node.mode))throw new Te.ErrnoError(43);if(2&n)return 0;var a=h.slice(e,e+t);Te.msync(r,a,o,t,n)},getStreamFromFD:e=>Te.getStreamChecked(e),varargs:void 0,getStr:e=>te(e)},Ce=e=>{for(var r="",t=e;h[t];)r+=fe[h[t++]];return r},Se={},Pe={},Ae={},ke=e=>{throw new pe(e)},Fe=e=>{throw new me(e)},De=(e,r,t)=>{function n(r){var n=t(r);n.length!==e.length&&Fe("Mismatched type converter count");for(var o=0;o<e.length;++o)Oe(e[o],n[o])}e.forEach((function(e){Ae[e]=r}));var o=new Array(r.length),a=[],i=0;r.forEach(((e,r)=>{Pe.hasOwnProperty(e)?o[r]=Pe[e]:(a.push(e),Se.hasOwnProperty(e)||(Se[e]=[]),Se[e].push((()=>{o[r]=Pe[e],++i===a.length&&n(o)})))})),0===a.length&&n(o)};function Oe(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in r))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n=r.name;if(e||ke(`type "${n}" must have a positive integer typeid pointer`),Pe.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;ke(`Cannot register type '${n}' twice`)}if(Pe[e]=r,delete Ae[e],Se.hasOwnProperty(e)){var o=Se[e];delete Se[e],o.forEach((e=>e()))}}(e,r,t)}var Me,$e=e=>{ke(e.$$.ptrType.registeredClass.name+" instance already deleted")},Ne=!1,Ie=e=>{},Re=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},Le=(e,r,t)=>{if(r===t)return e;if(void 0===t.baseClass)return null;var n=Le(e,r,t.baseClass);return null===n?null:t.downcast(n)},Ue={},xe=()=>Object.keys(He).length,Be=()=>{var e=[];for(var r in He)He.hasOwnProperty(r)&&e.push(He[r]);return e},je=[],We=()=>{for(;je.length;){var e=je.pop();e.$$.deleteScheduled=!1,e.delete()}},ze=e=>{Me=e,je.length&&Me&&Me(We)},He={},Ge=(e,r)=>(r=((e,r)=>{for(void 0===r&&ke("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r})(e,r),He[r]),Ve=(e,r)=>(r.ptrType&&r.ptr||Fe("makeClassHandle requires ptr and ptrType"),!!r.smartPtrType!==!!r.smartPtr&&Fe("Both smartPtrType and smartPtr must be specified"),r.count={value:1},Xe(Object.create(e,{$$:{value:r,writable:!0}})));function Ye(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=Ge(this.registeredClass,r);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var n=t.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?Ve(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):Ve(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,i=this.registeredClass.getActualType(r),s=Ue[i];if(!s)return o.call(this);a=this.isConst?s.constPointerType:s.pointerType;var l=Le(r,this.registeredClass,a.registeredClass);return null===l?o.call(this):this.isSmartPointer?Ve(a.registeredClass.instancePrototype,{ptrType:a,ptr:l,smartPtrType:this,smartPtr:e}):Ve(a.registeredClass.instancePrototype,{ptrType:a,ptr:l})}var Xe=e=>"undefined"==typeof FinalizationRegistry?(Xe=e=>e,e):(Ne=new FinalizationRegistry((e=>{Re(e.$$)})),Xe=e=>{var r=e.$$;if(!!r.smartPtr){var t={$$:r},n=r.ptrType.registeredClass;t.leakWarning=new Error(`Embind found a leaked C++ instance ${n.name} <${Z(r.ptr)}>.\nWe'll free it automatically in this case, but this functionality is not reliable across various environments.\nMake sure to invoke .delete() manually once you're done with the instance instead.\nOriginally allocated`),"captureStackTrace"in Error&&Error.captureStackTrace(t.leakWarning,Ye),Ne.register(e,t,e)}return e},Ie=e=>Ne.unregister(e),Xe(e));function qe(){}var Ke=(e,r)=>Object.defineProperty(r,"name",{value:e}),Je=(e,r,t)=>{if(void 0===e[r].overloadTable){var n=e[r];e[r]=function(){for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];return e[r].overloadTable.hasOwnProperty(o.length)||ke(`Function '${t}' called with an invalid number of arguments (${o.length}) - expects one of (${e[r].overloadTable})!`),e[r].overloadTable[o.length].apply(this,o)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}};function Ze(e,r,t,n,o,a,i,s){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=o,this.getActualType=a,this.upcast=i,this.downcast=s,this.pureVirtualFunctions=[]}var Qe=(e,r,t)=>{for(;r!==t;)r.upcast||ke(`Expected null or instance of ${t.name}, got an instance of ${r.name}`),e=r.upcast(e),r=r.baseClass;return e};function er(e,r){if(null===r)return this.isReference&&ke(`null is not a valid ${this.name}`),0;r.$$||ke(`Cannot pass "${Cr(r)}" as a ${this.name}`),r.$$.ptr||ke(`Cannot pass deleted object as a pointer of type ${this.name}`);var t=r.$$.ptrType.registeredClass;return Qe(r.$$.ptr,t,this.registeredClass)}function rr(e,r){var t;if(null===r)return this.isReference&&ke(`null is not a valid ${this.name}`),this.isSmartPointer?(t=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,t),t):0;r&&r.$$||ke(`Cannot pass "${Cr(r)}" as a ${this.name}`),r.$$.ptr||ke(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&r.$$.ptrType.isConst&&ke(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);var n=r.$$.ptrType.registeredClass;if(t=Qe(r.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===r.$$.smartPtr&&ke("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:ke(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var o=r.clone();t=this.rawShare(t,Tr.toHandle((()=>o.delete()))),null!==e&&e.push(this.rawDestructor,t)}break;default:ke("Unsupporting sharing policy")}return t}function tr(e,r){if(null===r)return this.isReference&&ke(`null is not a valid ${this.name}`),0;r.$$||ke(`Cannot pass "${Cr(r)}" as a ${this.name}`),r.$$.ptr||ke(`Cannot pass deleted object as a pointer of type ${this.name}`),r.$$.ptrType.isConst&&ke(`Cannot convert argument of type ${r.$$.ptrType.name} to parameter type ${this.name}`);var t=r.$$.ptrType.registeredClass;return Qe(r.$$.ptr,t,this.registeredClass)}function nr(e){return this.fromWireType(E[e>>2])}function or(e,r,t,n,o,a,i,s,l,d,u){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=n,this.isSmartPointer=o,this.pointeeType=a,this.sharingPolicy=i,this.rawGetPointee=s,this.rawConstructor=l,this.rawShare=d,this.rawDestructor=u,o||void 0!==r.baseClass?this.toWireType=rr:n?(this.toWireType=er,this.destructorFunction=null):(this.toWireType=tr,this.destructorFunction=null)}var ar,ir,sr=e=>ar.get(e),lr=function(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return e.includes("j")?((e,r,t)=>(_("dynCall_"+(e=e.replace(/p/g,"i"))in a,`bad function pointer type - dynCall function not found for sig '${e}'`),null!=t&&t.length?_(t.length===e.substring(1).replace(/j/g,"--").length):_(1==e.length),(0,a["dynCall_"+e])(r,...t)))(e,r,t):(_(sr(r),`missing table entry in dynCall: ${r}`),sr(r)(...t))},dr=(e,r)=>{var t,n,o=(e=Ce(e)).includes("j")?(n=r,_((t=e).includes("j")||t.includes("p"),"getDynCaller should only be called with i64 sigs"),function(){for(var e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];return lr(t,n,r)}):sr(r);return"function"!=typeof o&&ke(`unknown function pointer with signature ${e}: ${r}`),o},ur=e=>{var r=it(e),t=Ce(r);return ot(r),t},cr=(e,r)=>{var t=[],n={};throw r.forEach((function e(r){n[r]||Pe[r]||(Ae[r]?Ae[r].forEach(e):(t.push(r),n[r]=!0))})),new ir(`${e}: `+t.map(ur).join([", "]))},fr=(e,r)=>{for(var t=[],n=0;n<e;n++)t.push(E[r+4*n>>2]);return t},pr=e=>{for(;e.length;){var r=e.pop();e.pop()(r)}};function mr(e){for(var r=1;r<e.length;++r)if(null!==e[r]&&void 0===e[r].destructorFunction)return!0;return!1}function hr(e,r){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var t=Ke(e.name||"unknownFunctionName",(function(){}));t.prototype=e.prototype;var n=new t,o=e.apply(n,r);return o instanceof Object?o:n}function gr(e,r,t,n,o,a){var i=r.length;i<2&&ke("argTypes array size mismatch! Must at least get return value and 'this' types!"),_(!a,"Async bindings are only supported with JSPI.");for(var s=null!==r[1]&&null!==t,l=mr(r),d="void"!==r[0].name,u=[e,ke,n,o,pr,r[0],r[1]],c=0;c<i-2;++c)u.push(r[c+2]);if(!l)for(c=s?1:2;c<r.length;++c)null!==r[c].destructorFunction&&u.push(r[c].destructorFunction);let[f,p]=function(e,r,t,n){for(var o=mr(e),a=e.length,i="",s="",l=0;l<a-2;++l)i+=(0!==l?", ":"")+"arg"+l,s+=(0!==l?", ":"")+"arg"+l+"Wired";var d=`\n return function (${i}) {\n if (arguments.length !== ${a-2}) {\n throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ${a-2}');\n }`;o&&(d+="var destructors = [];\n");var u=o?"destructors":"null",c=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(r&&(d+="var thisWired = classParam['toWireType']("+u+", this);\n"),l=0;l<a-2;++l)d+="var arg"+l+"Wired = argType"+l+"['toWireType']("+u+", arg"+l+");\n",c.push("argType"+l);if(r&&(s="thisWired"+(s.length>0?", ":"")+s),d+=(t||n?"var rv = ":"")+"invoker(fn"+(s.length>0?", ":"")+s+");\n",o)d+="runDestructors(destructors);\n";else for(l=r?1:2;l<e.length;++l){var f=1===l?"thisWired":"arg"+(l-2)+"Wired";null!==e[l].destructorFunction&&(d+=`${f}_dtor(${f});\n`,c.push(`${f}_dtor`))}return t&&(d+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),d+="}\n",[c,d=`if (arguments.length !== ${c.length}){ throw new Error(humanName + "Expected ${c.length} closure arguments " + arguments.length + " given."); }\n${d}`]}(r,s,d,a);f.push(p);var m=hr(Function,f)(...u);return Ke(e,m)}var vr=(e,r,t)=>(e instanceof Object||ke(`${t} with invalid "this": ${e}`),e instanceof r.registeredClass.constructor||ke(`${t} incompatible with "this" of type ${e.constructor.name}`),e.$$.ptr||ke(`cannot call emscripten binding method ${t} on deleted object`),Qe(e.$$.ptr,e.$$.ptrType.registeredClass,r.registeredClass)),yr=[],Er=[],wr=e=>{e>9&&0==--Er[e+1]&&(_(void 0!==Er[e],"Decref for unallocated handle."),Er[e]=void 0,yr.push(e))},br=()=>Er.length/2-5-yr.length,Tr={toValue:e=>(e||ke("Cannot use deleted val. handle = "+e),_(2===e||void 0!==Er[e]&&e%2==0,`invalid handle: ${e}`),Er[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const r=yr.pop()||Er.length;return Er[r]=e,Er[r+1]=1,r}}}},_r={name:"emscripten::val",fromWireType:e=>{var r=Tr.toValue(e);return wr(e),r},toWireType:(e,r)=>Tr.toHandle(r),argPackAdvance:8,readValueFromPointer:nr,destructorFunction:null},Cr=e=>{if(null===e)return"null";var r=typeof e;return"object"===r||"array"===r||"function"===r?e.toString():""+e},Sr=(e,r)=>{switch(r){case 4:return function(e){return this.fromWireType(w[e>>2])};case 8:return function(e){return this.fromWireType(b[e>>3])};default:throw new TypeError(`invalid float width (${r}): ${e}`)}},Pr=(e,r,t)=>{switch(r){case 1:return t?e=>m[e]:e=>h[e];case 2:return t?e=>g[e>>1]:e=>v[e>>1];case 4:return t?e=>y[e>>2]:e=>E[e>>2];default:throw new TypeError(`invalid integer width (${r}): ${e}`)}},Ar=(e,r,t)=>(_("number"==typeof t,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),ue(e,h,r,t)),kr="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Fr=(e,r)=>{_(e%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var t=e,n=t>>1,o=n+r/2;!(n>=o)&&v[n];)++n;if((t=n<<1)-e>32&&kr)return kr.decode(h.subarray(e,t));for(var a="",i=0;!(i>=r/2);++i){var s=g[e+2*i>>1];if(0==s)break;a+=String.fromCharCode(s)}return a},Dr=(e,r,t)=>{if(_(r%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),_("number"==typeof t,"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),t??=2147483647,t<2)return 0;for(var n=r,o=(t-=2)<2*e.length?t/2:e.length,a=0;a<o;++a){var i=e.charCodeAt(a);g[r>>1]=i,r+=2}return g[r>>1]=0,r-n},Or=e=>2*e.length,Mr=(e,r)=>{_(e%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");for(var t=0,n="";!(t>=r/4);){var o=y[e+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},$r=(e,r,t)=>{if(_(r%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!"),_("number"==typeof t,"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),t??=2147483647,t<4)return 0;for(var n=r,o=n+t-4,a=0;a<e.length;++a){var i=e.charCodeAt(a);if(i>=55296&&i<=57343)i=65536+((1023&i)<<10)|1023&e.charCodeAt(++a);if(y[r>>2]=i,(r+=4)+4>o)break}return y[r>>2]=0,r-n},Nr=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n>=55296&&n<=57343&&++t,r+=4}return r},Ir=(e,r)=>{var t=Pe[e];return void 0===t&&ke(`${r} has unknown type ${ur(e)}`),t},Rr=(e,r,t)=>{var n=[],o=e.toWireType(n,t);return n.length&&(E[r>>2]=Tr.toHandle(n)),o},Lr={},Ur=[],xr=(e,r)=>(_(e==e>>>0||e==(0|e)),_(r===(0|r)),r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN),Br=[0,31,60,91,121,152,182,213,244,274,305,335],jr=[0,31,59,90,120,151,181,212,243,273,304,334],Wr=e=>{var r;return((r=e.getFullYear())%4==0&&(r%100!=0||r%400==0)?Br:jr)[e.getMonth()]+e.getDate()-1},zr=(e,r)=>(_(r===(0|r)),(e>>>0)+4294967296*r),Hr=(e,r)=>{if(e<=0)return e;var t=r<=32?Math.abs(1<<r-1):Math.pow(2,r-1);return e>=t&&(r<=32||e>t)&&(e=-2*t+e),e},Gr=(e,r)=>e>=0?e:r<=32?2*Math.abs(1<<r-1)+e:Math.pow(2,r)+e,Vr=e=>{for(var r=e;h[r];)++r;return r-e},Yr=(e,r)=>{_(!(3&r));var t=e,n=r;function o(e){var r;return n=function(e,r){return"double"===r||"i64"===r?7&e&&(_(4==(7&e)),e+=4):_(!(3&e)),e}(n,e),"double"===e?(r=b[n>>3],n+=8):"i64"==e?(r=[y[n>>2],y[n+4>>2]],n+=8):(_(!(3&n)),e="i32",r=y[n>>2],n+=4),r}for(var a,i,s,l,d,u,c=[];;){var f=t;if(0===(a=m[t]))break;if(i=m[t+1],37==a){var p=!1,g=!1,v=!1,E=!1,w=!1;e:for(;;){switch(i){case 43:p=!0;break;case 45:g=!0;break;case 35:v=!0;break;case 48:if(E)break e;E=!0;break;case 32:w=!0;break;default:break e}t++,i=m[t+1]}var T=0;if(42==i)T=o("i32"),t++,i=m[t+1];else for(;i>=48&&i<=57;)T=10*T+(i-48),t++,i=m[t+1];var C,S=!1,P=-1;if(46==i){if(P=0,S=!0,t++,42==(i=m[t+1]))P=o("i32"),t++;else for(;;){var A=m[t+1];if(A<48||A>57)break;P=10*P+(A-48),t++}i=m[t+1]}switch(P<0&&(P=6,S=!1),String.fromCharCode(i)){case"h":104==m[t+2]?(t++,C=1):C=2;break;case"l":108==m[t+2]?(t++,C=8):C=4;break;case"L":case"q":case"j":C=8;break;case"z":case"t":case"I":C=4;break;default:C=null}switch(C&&t++,i=m[t+1],String.fromCharCode(i)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":var k=100==i||105==i;if(s=o("i"+8*(C=C||4)),8==C&&(s=117==i?(d=s[0],u=s[1],(d>>>0)+4294967296*(u>>>0)):zr(s[0],s[1])),C<=4){var F=Math.pow(256,C)-1;s=(k?Hr:Gr)(s&F,8*C)}var D=Math.abs(s),O="";if(100==i||105==i)N=Hr(s,8*C).toString(10);else if(117==i)N=Gr(s,8*C).toString(10),s=Math.abs(s);else if(111==i)N=(v?"0":"")+D.toString(8);else if(120==i||88==i){if(O=v&&0!=s?"0x":"",s<0){s=-s,N=(D-1).toString(16);for(var M=[],$=0;$<N.length;$++)M.push((15-parseInt(N[$],16)).toString(16));for(N=M.join("");N.length<2*C;)N="f"+N}else N=D.toString(16);88==i&&(O=O.toUpperCase(),N=N.toUpperCase())}else 112==i&&(0===D?N="(nil)":(O="0x",N=D.toString(16)));if(S)for(;N.length<P;)N="0"+N;for(s>=0&&(p?O="+"+O:w&&(O=" "+O)),"-"==N.charAt(0)&&(O="-"+O,N=N.substr(1));O.length+N.length<T;)g?N+=" ":E?N="0"+N:O=" "+O;(N=O+N).split("").forEach((function(e){c.push(e.charCodeAt(0))}));break;case"f":case"F":case"e":case"E":case"g":case"G":var N;if(s=o("double"),isNaN(s))N="nan",E=!1;else if(isFinite(s)){var I=!1,R=Math.min(P,20);if(103==i||71==i){I=!0,P=P||1;var L=parseInt(s.toExponential(R).split("e")[1],10);P>L&&L>=-4?(i=(103==i?"f":"F").charCodeAt(0),P-=L+1):(i=(103==i?"e":"E").charCodeAt(0),P--),R=Math.min(P,20)}101==i||69==i?(N=s.toExponential(R),/[eE][-+]\d$/.test(N)&&(N=N.slice(0,-1)+"0"+N.slice(-1))):102!=i&&70!=i||(N=s.toFixed(R),0===s&&((l=s)<0||0===l&&1/l==-1/0)&&(N="-"+N));var U=N.split("e");if(I&&!v)for(;U[0].length>1&&U[0].includes(".")&&("0"==U[0].slice(-1)||"."==U[0].slice(-1));)U[0]=U[0].slice(0,-1);else for(v&&-1==N.indexOf(".")&&(U[0]+=".");P>R++;)U[0]+="0";N=U[0]+(U.length>1?"e"+U[1]:""),69==i&&(N=N.toUpperCase()),s>=0&&(p?N="+"+N:w&&(N=" "+N))}else N=(s<0?"-":"")+"inf",E=!1;for(;N.length<T;)g?N+=" ":N=!E||"-"!=N[0]&&"+"!=N[0]?(E?"0":" ")+N:N[0]+"0"+N.slice(1);i<97&&(N=N.toUpperCase()),N.split("").forEach((function(e){c.push(e.charCodeAt(0))}));break;case"s":var x=o("i8*"),B=x?Vr(x):6;if(S&&(B=Math.min(B,P)),!g)for(;B<T--;)c.push(32);if(x)for($=0;$<B;$++)c.push(h[x++]);else c=c.concat(ce("(null)".substr(0,B)));if(g)for(;B<T--;)c.push(32);break;case"c":for(g&&c.push(o("i8"));--T>0;)c.push(32);g||c.push(o("i8"));break;case"n":var j=o("i32*");y[j>>2]=c.length;break;case"%":c.push(a);break;default:for($=f;$<t+2;$++)c.push(m[$])}t+=2}else c.push(a),t+=1}return c};function Xr(e){var r=(new Error).stack.toString(),t=r.lastIndexOf("_emscripten_log"),n=r.lastIndexOf("_emscripten_get_callstack"),o=r.indexOf("\n",Math.max(t,n))+1;r=r.slice(o),8&e&&"undefined"==typeof emscripten_source_map&&(Q('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),e^=8,e|=16);var a=r.split("\n");r="";var i=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),s=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),l=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var d in a){var u=a[d],c="",f="",p=0,m=0,h=l.exec(u);if(h&&5==h.length)c=h[1],f=h[2],p=h[3],m=h[4];else{if((h=i.exec(u))||(h=s.exec(u)),!(h&&h.length>=4)){r+=u+"\n";continue}c=h[1],f=h[2],p=h[3],m=0|h[4]}var g=!1;if(8&e){var v,y=emscripten_source_map.originalPositionFor({line:p,column:m});(g=null===(v=y)||void 0===v?void 0:v.source)&&(64&e&&(y.source=y.source.substring(y.source.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=` at ${c} (${y.source}:${y.line}:${y.column})\n`)}(16&e||!g)&&(64&e&&(f=f.substring(f.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=(g?` = ${c}`:` at ${c}`)+` (${f}:${p}:${m})\n`)}return r=r.replace(/\s+$/,"")}var qr,Kr,Jr,Zr=e=>{var r=c.buffer,t=(e-r.byteLength+65535)/65536;try{return c.grow(t),C(),1}catch(t){p(`growMemory: Attempted to grow heap from ${r.byteLength} bytes to ${e} bytes, but got error: ${t}`)}},Qr={},et=()=>{if(!et.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:s||"./this.program"};for(var r in Qr)void 0===Qr[r]?delete e[r]:e[r]=Qr[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);et.strings=t}return et.strings};Te.createPreloadedFile=(e,r,t,n,a,i,s,l,d,u)=>{var c=r?se.resolve(ae.join2(e,r)):e,f=N(`cp ${c}`);function p(t){function o(t){null==u||u(),l||((e,r,t,n,o,a)=>{Te.createDataFile(e,r,t,n,o,a)})(e,r,t,n,a,d),null==i||i(),R(f)}((e,r,t,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return ye.forEach((a=>{o||a.canHandle(r)&&(a.handle(e,r,t,n),o=!0)})),o})(t,c,o,(()=>{null==s||s(),R(f)}))||o(t)}I(f),"string"==typeof t?((e,r,t,n)=>{var a=N(`al ${e}`);o(e,(t=>{_(t,`Loading data file "${e}" failed (no arrayBuffer).`),r(new Uint8Array(t)),a&&R(a)}),(r=>{if(!t)throw`Loading data file "${e}" failed.`;t()})),a&&I(a)})(t,p,s):p(t)},Te.staticInit(),(()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);fe=e})(),pe=a.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},me=a.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Object.assign(qe.prototype,{isAliasOf(e){if(!(this instanceof qe))return!1;if(!(e instanceof qe))return!1;var r=this.$$.ptrType.registeredClass,t=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,o=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return r===n&&t===o},clone(){if(this.$$.ptr||$e(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,r=Xe(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return r.$$.count.value+=1,r.$$.deleteScheduled=!1,r},delete(){this.$$.ptr||$e(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ke("Object already scheduled for deletion"),Ie(this),Re(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||$e(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ke("Object already scheduled for deletion"),je.push(this),1===je.length&&Me&&Me(We),this.$$.deleteScheduled=!0,this}}),a.getInheritedInstanceCount=xe,a.getLiveInheritedInstances=Be,a.flushPendingDeletes=We,a.setDelayFunction=ze,Object.assign(or.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var r;null===(r=this.rawDestructor)||void 0===r||r.call(this,e)},argPackAdvance:8,readValueFromPointer:nr,fromWireType:Ye}),ir=a.UnboundTypeError=(qr=Error,(Jr=Ke(Kr="UnboundTypeError",(function(e){this.name=Kr,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(qr.prototype),Jr.prototype.constructor=Jr,Jr.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},Jr),Er.push(0,1,void 0,1,null,1,!0,1,!1,1),_(10===Er.length),a.count_emval_handles=br;var rt,tt={__assert_fail:(e,r,t,n)=>{L(`Assertion failed: ${te(e)}, at: `+[r?te(r):"unknown filename",t,n?te(n):"unknown function"])},__syscall_fcntl64:function(e,r,t){_e.varargs=t;try{var n=_e.getStreamFromFD(e);switch(r){case 0:if((o=ne())<0)return-28;for(;Te.streams[o];)o++;return Te.dupStream(n,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=ne();return n.flags|=o,0;case 12:o=oe();return g[o+0>>1]=2,0}return-28}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_openat:function(e,r,t,n){_e.varargs=n;try{r=_e.getStr(r),r=_e.calculateAt(e,r);var o=n?ne():0;return Te.open(r,t,o).fd}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}},_abort_js:()=>{L("native code called abort()")},_embind_register_bigint:(e,r,t,n,o)=>{},_embind_register_bool:(e,r,t,n)=>{Oe(e,{name:r=Ce(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?t:n},argPackAdvance:8,readValueFromPointer:function(e){return this.fromWireType(h[e])},destructorFunction:null})},_embind_register_class:(e,r,t,n,o,i,s,l,d,u,c,f,p)=>{c=Ce(c),i=dr(o,i),l&&=dr(s,l),u&&=dr(d,u),p=dr(f,p);var m=(e=>{if(void 0===e)return"_unknown";var r=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return r>=48&&r<=57?`_${e}`:e})(c);((e,r,t)=>{a.hasOwnProperty(e)?(ke(`Cannot register public name '${e}' twice`),Je(a,e,e),a.hasOwnProperty(t)&&ke(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),a[e].overloadTable[t]=r):a[e]=r})(m,(function(){cr(`Cannot construct ${c} due to unbound types`,[n])})),De([e,r,t],n?[n]:[],(r=>{var t,o;r=r[0],o=n?(t=r.registeredClass).instancePrototype:qe.prototype;var s=Ke(c,(function(){if(Object.getPrototypeOf(this)!==d)throw new pe("Use 'new' to construct "+c);if(void 0===f.constructor_body)throw new pe(c+" has no accessible constructor");for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];var n=f.constructor_body[r.length];if(void 0===n)throw new pe(`Tried to invoke ctor of ${c} with invalid number of parameters (${r.length}) - expected (${Object.keys(f.constructor_body).toString()}) parameters instead!`);return n.apply(this,r)})),d=Object.create(o,{constructor:{value:s}});s.prototype=d;var f=new Ze(c,s,d,p,t,i,l,u);f.baseClass&&(f.baseClass.__derivedClasses??=[],f.baseClass.__derivedClasses.push(f));var h=new or(c,f,!0,!1,!1),g=new or(c+"*",f,!1,!1,!1),v=new or(c+" const*",f,!1,!0,!1);return Ue[e]={pointerType:g,constPointerType:v},((e,r,t)=>{a.hasOwnProperty(e)||Fe("Replacing nonexistent public symbol"),void 0!==a[e].overloadTable&&void 0!==t||(a[e]=r,a[e].argCount=t)})(m,s),[h,g,v]}))},_embind_register_class_constructor:(e,r,t,n,o,a)=>{_(r>0);var i=fr(r,t);o=dr(n,o),De([],[e],(e=>{var t=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[r-1])throw new pe(`Cannot register multiple constructors with identical number of parameters (${r-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[r-1]=()=>{cr(`Cannot construct ${e.name} due to unbound types`,i)},De([],i,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[r-1]=gr(t,n,null,o,a),[]))),[]}))},_embind_register_class_function:(e,r,t,n,o,a,i,s,l)=>{var d=fr(t,n);r=(e=>{const r=(e=e.trim()).indexOf("(");return-1!==r?(_(")"==e[e.length-1],"Parentheses for argument names should match."),e.substr(0,r)):e})(r=Ce(r)),a=dr(o,a),De([],[e],(e=>{var n=`${(e=e[0]).name}.${r}`;function o(){cr(`Cannot call ${n} due to unbound types`,d)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(r);var u=e.registeredClass.instancePrototype,c=u[r];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===t-2?(o.argCount=t-2,o.className=e.name,u[r]=o):(Je(u,r,n),u[r].overloadTable[t-2]=o),De([],d,(o=>{var s=gr(n,o,e,a,i,l);return void 0===u[r].overloadTable?(s.argCount=t-2,u[r]=s):u[r].overloadTable[t-2]=s,[]})),[]}))},_embind_register_class_property:(e,r,t,n,o,a,i,s,l,d)=>{r=Ce(r),o=dr(n,o),De([],[e],(e=>{var n=`${(e=e[0]).name}.${r}`,u={get(){cr(`Cannot access ${n} due to unbound types`,[t,i])},enumerable:!0,configurable:!0};return u.set=l?()=>cr(`Cannot access ${n} due to unbound types`,[t,i]):e=>ke(n+" is a read-only property"),Object.defineProperty(e.registeredClass.instancePrototype,r,u),De([],l?[t,i]:[t],(t=>{var i=t[0],u={get(){var r=vr(this,e,n+" getter");return i.fromWireType(o(a,r))},enumerable:!0};if(l){l=dr(s,l);var c=t[1];u.set=function(r){var t=vr(this,e,n+" setter"),o=[];l(d,t,c.toWireType(o,r)),pr(o)}}return Object.defineProperty(e.registeredClass.instancePrototype,r,u),[]})),[]}))},_embind_register_emval:e=>Oe(e,_r),_embind_register_float:(e,r,t)=>{Oe(e,{name:r=Ce(r),fromWireType:e=>e,toWireType:(e,r)=>{if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError(`Cannot convert ${Cr(r)} to ${this.name}`);return r},argPackAdvance:8,readValueFromPointer:Sr(r,t),destructorFunction:null})},_embind_register_integer:(e,r,t,n,o)=>{r=Ce(r),-1===o&&(o=4294967295);var a=e=>e;if(0===n){var i=32-8*t;a=e=>e<<i>>>i}var s=r.includes("unsigned"),l=(e,t)=>{if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError(`Cannot convert "${Cr(e)}" to ${t}`);if(e<n||e>o)throw new TypeError(`Passing a number "${Cr(e)}" from JS side to C/C++ side to an argument of type "${r}", which is outside the valid range [${n}, ${o}]!`)};Oe(e,{name:r,fromWireType:a,toWireType:s?function(e,r){return l(r,this.name),r>>>0}:function(e,r){return l(r,this.name),r},argPackAdvance:8,readValueFromPointer:Pr(r,t,0!==n),destructorFunction:null})},_embind_register_memory_view:(e,r,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][r];function o(e){var r=E[e>>2],t=E[e+4>>2];return new n(m.buffer,t,r)}Oe(e,{name:t=Ce(t),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},_embind_register_std_string:(e,r)=>{var t="std::string"===(r=Ce(r));Oe(e,{name:r,fromWireType(e){var r,n=E[e>>2],o=e+4;if(t)for(var a=o,i=0;i<=n;++i){var s=o+i;if(i==n||0==h[s]){var l=te(a,s-a);void 0===r?r=l:(r+=String.fromCharCode(0),r+=l),a=s+1}}else{var d=new Array(n);for(i=0;i<n;++i)d[i]=String.fromCharCode(h[o+i]);r=d.join("")}return ot(e),r},toWireType(e,r){var n;r instanceof ArrayBuffer&&(r=new Uint8Array(r));var o="string"==typeof r;o||r instanceof Uint8Array||r instanceof Uint8ClampedArray||r instanceof Int8Array||ke("Cannot pass non-string to std::string"),n=t&&o?de(r):r.length;var a=at(4+n+1),i=a+4;if(E[a>>2]=n,t&&o)Ar(r,i,n+1);else if(o)for(var s=0;s<n;++s){var l=r.charCodeAt(s);l>255&&(ot(i),ke("String has UTF-16 code units that do not fit in 8 bits")),h[i+s]=l}else for(s=0;s<n;++s)h[i+s]=r[s];return null!==e&&e.push(ot,a),a},argPackAdvance:8,readValueFromPointer:nr,destructorFunction(e){ot(e)}})},_embind_register_std_wstring:(e,r,t)=>{var n,o,a,i;t=Ce(t),2===r?(n=Fr,o=Dr,i=Or,a=e=>v[e>>1]):4===r&&(n=Mr,o=$r,i=Nr,a=e=>E[e>>2]),Oe(e,{name:t,fromWireType:e=>{for(var t,o=E[e>>2],i=e+4,s=0;s<=o;++s){var l=e+4+s*r;if(s==o||0==a(l)){var d=n(i,l-i);void 0===t?t=d:(t+=String.fromCharCode(0),t+=d),i=l+r}}return ot(e),t},toWireType:(e,n)=>{"string"!=typeof n&&ke(`Cannot pass non-string to C++ string type ${t}`);var a=i(n),s=at(4+a+r);return E[s>>2]=a/r,o(n,s+4,a+r),null!==e&&e.push(ot,s),s},argPackAdvance:8,readValueFromPointer:nr,destructorFunction(e){ot(e)}})},_embind_register_void:(e,r)=>{Oe(e,{isVoid:!0,name:r=Ce(r),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,r)=>{}})},_emval_as:(e,r,t)=>(e=Tr.toValue(e),r=Ir(r,"emval::as"),Rr(r,t,e)),_emval_call_method:(e,r,t,n,o)=>{var a,i;return(e=Ur[e])(r=Tr.toValue(r),r[t=void 0===(i=Lr[a=t])?Ce(a):i],n,o)},_emval_decref:wr,_emval_get_method_caller:(e,r,t)=>{var n=((e,r)=>{for(var t=new Array(e),n=0;n<e;++n)t[n]=Ir(E[r+4*n>>2],"parameter "+n);return t})(e,r),o=n.shift();e--;var a="return function (obj, func, destructorsRef, args) {\n",i=0,s=[];0===t&&s.push("obj");for(var l=["retType"],d=[o],u=0;u<e;++u)s.push("arg"+u),l.push("argType"+u),d.push(n[u]),a+=` var arg${u} = argType${u}.readValueFromPointer(args${i?"+"+i:""});\n`,i+=n[u].argPackAdvance;a+=` var rv = ${1===t?"new func":"func.call"}(${s.join(", ")});\n`,o.isVoid||(l.push("emval_returnValue"),d.push(Rr),a+=" return emval_returnValue(retType, destructorsRef, rv);\n"),a+="};\n",l.push(a);var c,f,p=hr(Function,l)(...d),m=`methodCaller<(${n.map((e=>e.name)).join(", ")}) => ${o.name}>`;return c=Ke(m,p),f=Ur.length,Ur.push(c),f},_emval_run_destructors:e=>{var r=Tr.toValue(e);pr(r),wr(e)},_emval_take_value:(e,r)=>{var t=(e=Ir(e,"_emval_take_value")).readValueFromPointer(r);return Tr.toHandle(t)},_gmtime_js:function(e,r,t){var n=xr(e,r),o=new Date(1e3*n);y[t>>2]=o.getUTCSeconds(),y[t+4>>2]=o.getUTCMinutes(),y[t+8>>2]=o.getUTCHours(),y[t+12>>2]=o.getUTCDate(),y[t+16>>2]=o.getUTCMonth(),y[t+20>>2]=o.getUTCFullYear()-1900,y[t+24>>2]=o.getUTCDay();var a=Date.UTC(o.getUTCFullYear(),0,1,0,0,0,0),i=(o.getTime()-a)/864e5|0;y[t+28>>2]=i},_localtime_js:function(e,r,t){var n=xr(e,r),o=new Date(1e3*n);y[t>>2]=o.getSeconds(),y[t+4>>2]=o.getMinutes(),y[t+8>>2]=o.getHours(),y[t+12>>2]=o.getDate(),y[t+16>>2]=o.getMonth(),y[t+20>>2]=o.getFullYear()-1900,y[t+24>>2]=o.getDay();var a=0|Wr(o);y[t+28>>2]=a,y[t+36>>2]=-60*o.getTimezoneOffset();var i=new Date(o.getFullYear(),0,1),s=new Date(o.getFullYear(),6,1).getTimezoneOffset(),l=i.getTimezoneOffset(),d=0|(s!=l&&o.getTimezoneOffset()==Math.min(l,s));y[t+32>>2]=d},_mktime_js:function(e){var r,t=(()=>{var r=new Date(y[e+20>>2]+1900,y[e+16>>2],y[e+12>>2],y[e+8>>2],y[e+4>>2],y[e>>2],0),t=y[e+32>>2],n=r.getTimezoneOffset(),o=new Date(r.getFullYear(),0,1),a=new Date(r.getFullYear(),6,1).getTimezoneOffset(),i=o.getTimezoneOffset(),s=Math.min(i,a);if(t<0)y[e+32>>2]=Number(a!=i&&s==n);else if(t>0!=(s==n)){var l=Math.max(i,a),d=t>0?s:l;r.setTime(r.getTime()+6e4*(d-n))}y[e+24>>2]=r.getDay();var u=0|Wr(r);y[e+28>>2]=u,y[e>>2]=r.getSeconds(),y[e+4>>2]=r.getMinutes(),y[e+8>>2]=r.getHours(),y[e+12>>2]=r.getDate(),y[e+16>>2]=r.getMonth(),y[e+20>>2]=r.getYear();var c=r.getTime();return isNaN(c)?-1:c/1e3})();return x=t,r=+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0,lt(r),t>>>0},_tzset_js:(e,r,t,n)=>{var o=(new Date).getFullYear(),a=new Date(o,0,1),i=new Date(o,6,1),s=a.getTimezoneOffset(),l=i.getTimezoneOffset(),d=Math.max(s,l);E[e>>2]=60*d,y[r>>2]=Number(s!=l);var u=e=>e.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1],c=u(a),f=u(i);_(c),_(f),_(de(c)<=16,`timezone name truncated to fit in TZNAME_MAX (${c})`),_(de(f)<=16,`timezone name truncated to fit in TZNAME_MAX (${f})`),l<s?(Ar(c,t,17),Ar(f,n,17)):(Ar(c,n,17),Ar(f,t,17))},emscripten_date_now:()=>Date.now(),emscripten_log:(e,r,t)=>{var n=Yr(r,t);((e,r)=>{24&e&&(r=r.replace(/\s+$/,""),r+=(r.length>0?"\n":"")+Xr(e)),1&e||(6&e?p(r):f(r))})(e,re(n,0))},emscripten_resize_heap:e=>{var r=h.length;_((e>>>=0)>r);var t=2147483648;if(e>t)return p(`Cannot enlarge memory, requested ${e} bytes, but the limit is 2147483648 bytes!`),!1;for(var n,o,a=1;a<=4;a*=2){var i=r*(1+.2/a);i=Math.min(i,e+100663296);var s=Math.min(t,(n=Math.max(e,i))+((o=65536)-n%o)%o);if(Zr(s))return!0}return p(`Failed to grow the heap from ${r} bytes to ${s} bytes, not enough memory!`),!1},environ_get:(e,r)=>{var t=0;return et().forEach(((n,o)=>{var a=r+t;E[e+4*o>>2]=a,((e,r)=>{for(var t=0;t<e.length;++t)_(e.charCodeAt(t)===(255&e.charCodeAt(t))),m[r++]=e.charCodeAt(t);m[r]=0})(n,a),t+=n.length+1})),0},environ_sizes_get:(e,r)=>{var t=et();E[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),E[r>>2]=n,0},fd_close:function(e){try{var r=_e.getStreamFromFD(e);return Te.close(r),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}},fd_fdstat_get:function(e,r){try{var t=_e.getStreamFromFD(e),n=t.tty?2:Te.isDir(t.mode)?3:Te.isLink(t.mode)?7:4;return m[r]=n,g[r+2>>1]=0,B=[0,(x=0,+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)],y[r+8>>2]=B[0],y[r+12>>2]=B[1],B=[0,(x=0,+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)],y[r+16>>2]=B[0],y[r+20>>2]=B[1],0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}},fd_read:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var i=E[r>>2],s=E[r+4>>2];r+=8;var l=Te.read(e,m,i,s,n);if(l<0)return-1;if(o+=l,l<s)break}return o})(_e.getStreamFromFD(e),r,t);return E[n>>2]=o,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}},fd_seek:function(e,r,t,n,o){var a=xr(r,t);try{if(isNaN(a))return 61;var i=_e.getStreamFromFD(e);return Te.llseek(i,a,n),B=[i.position>>>0,(x=i.position,+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)],y[o>>2]=B[0],y[o+4>>2]=B[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}},fd_write:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var i=E[r>>2],s=E[r+4>>2];r+=8;var l=Te.write(e,m,i,s,n);if(l<0)return-1;o+=l}return o})(_e.getStreamFromFD(e),r,t);return E[n>>2]=o,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}},nt=function(){var e={env:tt,wasi_snapshot_preview1:tt};function r(e,r){var t;return nt=e.exports,_(c=nt.memory,"memory not found in wasm exports"),C(),_(ar=nt.__indirect_function_table,"table not found in wasm exports"),t=nt.__wasm_call_ctors,A.unshift(t),R("wasm-instantiate"),nt}I("wasm-instantiate");var t,n,o,i=a;if(a.instantiateWasm)try{return a.instantiateWasm(e,r)}catch(e){return p(`Module.instantiateWasm callback failed with error: ${e}`),!1}return U||(U=H()),t=U,n=e,o=function(e){_(a===i,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),i=null,r(e.instance)},u||"function"!=typeof WebAssembly.instantiateStreaming||j(t)||"function"!=typeof fetch?V(t,n,o):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,n).then(o,(function(e){return p(`wasm streaming compile failed: ${e}`),p("falling back to ArrayBuffer instantiation"),V(t,n,o)})))),{}}(),ot=z("free",1),at=z("malloc",1),it=z("__getTypeName",1),st=z("fflush",1),lt=z("_emscripten_tempret_set",1),dt=()=>(dt=nt.emscripten_stack_init)(),ut=()=>(ut=nt.emscripten_stack_get_end)();function ct(){var e;dt(),_(!(3&(e=ut()))),0==e&&(e+=4),E[e>>2]=34821223,E[e+4>>2]=2310721022,E[0]=1668509029}function ft(){function e(){rt||(rt=!0,a.calledRun=!0,T||(_(!F),F=!0,S(),a.noFSInit||Te.init.initialized||Te.init(),Te.ignorePermissions=!1,J(A),a.onRuntimeInitialized&&a.onRuntimeInitialized(),_(!a._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),function(){if(S(),a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)e=a.postRun.shift(),k.unshift(e);var e;J(k)}()))}D>0||(ct(),function(){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)e=a.preRun.shift(),P.unshift(e);var e;J(P)}(),D>0||(a.setStatus?(a.setStatus("Running..."),setTimeout((function(){setTimeout((function(){a.setStatus("")}),1),e()}),1)):e(),S()))}if(a.dynCall_ijiii=z("dynCall_ijiii",6),a.dynCall_viiijj=z("dynCall_viiijj",8),a.dynCall_jij=z("dynCall_jij",4),a.dynCall_jii=z("dynCall_jii",3),a.dynCall_jiji=z("dynCall_jiji",5),a._ff_h264_cabac_tables=119404,["writeI53ToI64","writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","readI53FromI64","readI53FromU64","stackAlloc","getTempRet0","exitJS","arraySum","addDays","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","readEmAsmArgs","jstoi_q","listenOnce","autoResumeAudioContext","setWasmTableEntry","handleException","keepRuntimeAlive","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","asmjsMangle","HandleAllocator","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","getCFunc","ccall","cwrap","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","intArrayToString","AsciiToString","stringToNewUTF8","stringToUTF8OnStack","writeArrayToMemory","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","convertPCtoSourceLocation","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","createDyncallWrapper","safeSetTimeout","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","getPromise","makePromise","idsToPromises","makePromiseCallback","ExceptionInfo","findMatchingCatch","Browser_asyncPrepareDataCounter","setMainLoop","getSocketFromFD","getSocketAddress","FS_unlink","FS_mkdirTree","_setNetworkCallback","heapObjectForWebGLType","toTypedArrayIndex","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","registerWebGlEventCallback","runAndAbortIfError","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","setErrNo","demangle","stackTrace","getFunctionArgsName","createJsInvokerSignature","registerInheritedInstance","unregisterInheritedInstance","enumReadValueFromPointer","emval_get_global"].forEach((function(e){"undefined"==typeof globalThis||Object.getOwnPropertyDescriptor(globalThis,e)||Object.defineProperty(globalThis,e,{configurable:!0,get(){var r=`\`${e}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`,t=e;t.startsWith("_")||(t="$"+e),r+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${t}')`,X(e)&&(r+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),Q(r)}}),K(e)})),["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","FS_createFolder","FS_createPath","FS_createLazyFile","FS_createLink","FS_createDevice","FS_readFile","out","err","callMain","abort","wasmMemory","wasmExports","writeStackCookie","checkStackCookie","convertI32PairToI53","convertI32PairToI53Checked","convertU32PairToI53","stackSave","stackRestore","setTempRet0","ptrToString","zeroMemory","getHeapMax","growMemory","ENV","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","isLeapYear","ydayFromDate","ERRNO_CODES","ERRNO_MESSAGES","DNS","Protocols","Sockets","initRandomFill","randomFill","timers","warnOnce","emscriptenLog","readEmAsmArgsArray","jstoi_s","getExecutableName","dynCallLegacy","getDynCaller","dynCall","getWasmTableEntry","asyncLoad","alignMemory","mmapAlloc","wasmTable","noExitRuntime","freeTableIndexes","functionsInTableMap","reallyNegative","unSign","strLen","reSign","formatString","setValue","getValue","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","intArrayFromString","stringToAscii","UTF16Decoder","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","JSEvents","specialHTMLTargets","findCanvasEventTarget","currentFullscreenStrategy","restoreOldWindowedStyle","jsStackTrace","getCallstack","UNWIND_CACHE","ExitStatus","getEnvStrings","doReadv","doWritev","promiseMap","uncaughtExceptionCount","exceptionLast","exceptionCaught","Browser","getPreloadedImageData__data","wget","SYSCALLS","preloadPlugins","FS_createPreloadedFile","FS_modeStringToFlags","FS_getMode","FS_stdin_getChar_buffer","FS_stdin_getChar","FS","FS_createDataFile","MEMFS","TTY","PIPEFS","SOCKFS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","GL","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","allocateUTF8","allocateUTF8OnStack","InternalError","BindingError","throwInternalError","throwBindingError","registeredTypes","awaitingDependencies","typeDependencies","tupleRegistrations","structRegistrations","sharedRegisterType","whenDependentTypesAreResolved","embind_charCodes","embind_init_charCodes","readLatin1String","getTypeName","getFunctionName","heap32VectorToArray","requireRegisteredType","usesDestructorStack","createJsInvoker","UnboundTypeError","PureVirtualError","GenericWireTypeSize","EmValType","init_embind","throwUnboundTypeError","ensureOverloadTable","exposePublicSymbol","replacePublicSymbol","extendError","createNamedFunction","embindRepr","registeredInstances","getBasestPointer","getInheritedInstance","getInheritedInstanceCount","getLiveInheritedInstances","registeredPointers","registerType","integerReadValueFromPointer","floatReadValueFromPointer","readPointer","runDestructors","newFunc","craftInvokerFunction","embind__requireFunction","genericPointerToWireType","constNoSmartPtrRawPointerToWireType","nonConstNoSmartPtrRawPointerToWireType","init_RegisteredPointer","RegisteredPointer","RegisteredPointer_fromWireType","runDestructor","releaseClassHandle","finalizationRegistry","detachFinalizer_deps","detachFinalizer","attachFinalizer","makeClassHandle","init_ClassHandle","ClassHandle","throwInstanceAlreadyDeleted","deletionQueue","flushPendingDeletes","delayFunction","setDelayFunction","RegisteredClass","shallowCopyInternalPointer","downcastPointer","upcastPointer","validateThis","char_0","char_9","makeLegalFunctionName","emval_freelist","emval_handles","emval_symbols","init_emval","count_emval_handles","getStringOrSymbol","Emval","emval_returnValue","emval_lookupTypes","emval_methodCallers","emval_addMethodCaller","reflectConstruct"].forEach(K),M=function e(){rt||ft(),rt||(M=e)},a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();return ft(),r=a}(),o=e(n);const a={videoBuffer:200,videoBufferDelay:1e3,debug:!1,openWebglAlignment:!1},i="initVideo",s="render",l="playAudio",d="initAudio",u="audioCode",c="videoCode",f=1,p=2,m="init",h="decode",g="audioDecode",v="videoDecode",y="close",E="updateConfig",w="key",b="delta";(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){}})(),Date.now||(Date.now=function(){return(new Date).getTime()}),o.postRun=function(){let e=[],r=[],t={};"VideoEncoder"in self&&(t={hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:new VideoDecoder({output:function(e){t.isEmitInfo||(n.opt.debug,postMessage({cmd:i,w:e.codedWidth,h:e.codedHeight}),t.isEmitInfo=!0,t.offscreenCanvas=new OffscreenCanvas(e.codedWidth,e.codedHeight),t.offscreenCanvasCtx=t.offscreenCanvas.getContext("2d")),t.offscreenCanvasCtx.drawImage(e,0,0,e.codedWidth,e.codedHeight);const r=t.offscreenCanvas.transferToImageBitmap();postMessage({cmd:s,buffer:r,delay:n.delay,ts:0},[r]),setTimeout((function(){e.close?e.close():e.destroy()}),100)},error:function(e){}}),decode:function(e,r){const o=e[0]>>4==1;if(t.hasInit){const n=new EncodedVideoChunk({data:e.slice(5),timestamp:r,type:o?w:b});t.decoder.decode(n)}else if(o&&0===e[1]){const r=15&e[0];n.setVideoCodec(r);const o=function(e){const r=e.subarray(1,4);let t="avc1.";for(let e=0;e<3;e++){let n=r[e].toString(16);n.length<2&&(n="0"+n),t+=n}return{codec:t,description:e}}(e.slice(5));t.decoder.configure(o),t.hasInit=!0}},reset(){t.hasInit=!1,t.isEmitInfo=!1,t.offscreenCanvas=null,t.offscreenCanvasCtx=null}});const n={opt:{debug:a.debug,useOffscreen:a.useOffscreen,useWCS:a.useWCS,videoBuffer:a.videoBuffer,openWebglAlignment:a.openWebglAlignment,videoBufferDelay:a.videoBufferDelay},useOffscreen:function(){return n.opt.useOffscreen&&"undefined"!=typeof OffscreenCanvas},initAudioPlanar:function(e,t){postMessage({cmd:d,sampleRate:t,channels:e});const n=[];let a=0;this.playAudioPlanar=function(t,i,s){let d=i;const u=[];let c=0;for(let e=0;e<2;e++){const r=o.HEAPU32[(t>>2)+e]>>2;u[e]=o.HEAPF32.subarray(r,r+d)}if(a){if(!(d>=(i=1024-a)))return a+=d,r[0]=Float32Array.of(...r[0],...u[0]),void(2===e&&(r[1]=Float32Array.of(...r[1],...u[1])));n[0]=Float32Array.of(...r[0],...u[0].subarray(0,i)),2===e&&(n[1]=Float32Array.of(...r[1],...u[1].subarray(0,i))),postMessage({cmd:l,buffer:n,ts:s},n.map((e=>e.buffer))),c=i,d-=i}for(a=d;a>=1024;a-=1024)n[0]=u[0].slice(c,c+=1024),2===e&&(n[1]=u[1].slice(c-1024,c)),postMessage({cmd:l,buffer:n,ts:s},n.map((e=>e.buffer)));a&&(r[0]=u[0].slice(c),2===e&&(r[1]=u[1].slice(c)))}},setVideoCodec:function(e){postMessage({cmd:c,code:e})},setAudioCodec:function(e){postMessage({cmd:u,code:e})},setVideoSize:function(e,r){postMessage({cmd:i,w:e,h:r});const t=e*r,a=t>>2;n.useOffscreen()?(this.offscreenCanvas=new OffscreenCanvas(e,r),this.offscreenCanvasGL=this.offscreenCanvas.getContext("webgl"),this.webglObj=((e,r)=>{var t=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n"),n=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");r&&e.pixelStorei(e.UNPACK_ALIGNMENT,1);var o=e.createShader(e.VERTEX_SHADER);e.shaderSource(o,t),e.compileShader(o),e.getShaderParameter(o,e.COMPILE_STATUS);var a=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(a,n),e.compileShader(a),e.getShaderParameter(a,e.COMPILE_STATUS);var i=e.createProgram();e.attachShader(i,o),e.attachShader(i,a),e.linkProgram(i),e.getProgramParameter(i,e.LINK_STATUS),e.useProgram(i);var s=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),e.STATIC_DRAW);var l=e.getAttribLocation(i,"vertexPos");e.enableVertexAttribArray(l),e.vertexAttribPointer(l,2,e.FLOAT,!1,0,0);var d=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,d),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var u=e.getAttribLocation(i,"texturePos");function c(r,t){var n=e.createTexture();return e.bindTexture(e.TEXTURE_2D,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),e.uniform1i(e.getUniformLocation(i,r),t),n}e.enableVertexAttribArray(u),e.vertexAttribPointer(u,2,e.FLOAT,!1,0,0);var f=c("ySampler",0),p=c("uSampler",1),m=c("vSampler",2);return{render:function(r,t,n,o,a){e.viewport(0,0,r,t),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,f),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,r,t,0,e.LUMINANCE,e.UNSIGNED_BYTE,n),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,p),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,r/2,t/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,o),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,m),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,r/2,t/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,a),e.drawArrays(e.TRIANGLE_STRIP,0,4)},destroy:function(){try{e.deleteProgram(i),e.deleteBuffer(s),e.deleteBuffer(d),e.deleteTexture(f),e.deleteTexture(p),e.deleteTexture(m)}catch(e){}}}})(this.offscreenCanvasGL,n.opt.openWebglAlignment),this.draw=function(n,i,l,d){const u=o.HEAPU8.subarray(i,i+t),c=o.HEAPU8.subarray(l,l+a),f=o.HEAPU8.subarray(d,d+a);this.webglObj.render(e,r,u,c,f);const p=this.offscreenCanvas.transferToImageBitmap();postMessage({cmd:s,buffer:p,delay:this.delay,ts:n},[p])}):this.draw=function(e,r,n,i,l,d){const u=[Uint8Array.from(o.HEAPU8.subarray(r,r+t)),Uint8Array.from(o.HEAPU8.subarray(n,n+a)),Uint8Array.from(o.HEAPU8.subarray(i,i+a))];postMessage({cmd:s,output:u,delay:this.delay,ts:e},u.map((e=>e.buffer)))}},getDelay:function(e){if(!e)return-1;if(this.firstTimestamp){if(e){const r=Date.now()-this.startTimestamp,t=e-this.firstTimestamp;this.delay=r>=t?r-t:t-r}}else this.firstTimestamp=e,this.startTimestamp=Date.now(),this.delay=-1;return this.delay},resetDelay:function(){this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1},init:function(){n.opt.debug;const r=e=>{n.opt.useWCS&&n.useOffscreen()&&e.type===p&&t.decode?t.decode(e.payload,e.ts):e.decoder.decode(e.payload,e.ts)};this.stopId=setInterval((()=>{if(e.length)if(this.dropping){let t=e.shift();for(t&&t.type===f&&0===t.payload[1]&&r(t);!t.isIFrame&&e.length;)t=e.shift(),t.type===f&&0===t.payload[1]&&r(t);t.isIFrame&&(this.dropping=!1,r(t))}else{let t=e[0];if(-1===this.getDelay(t.ts))e.shift(),r(t);else if(this.delay>n.opt.videoBuffer+n.opt.videoBufferDelay)this.resetDelay(),this.dropping=!0;else for(;e.length&&(t=e[0],this.getDelay(t.ts)>n.opt.videoBuffer);)e.shift(),r(t)}}),10)},close:function(){var o,a,i,s;n.opt.debug,clearInterval(this.stopId),this.stopId=null,null==T||null===(o=T.clear)||void 0===o||o.call(T),null==_||null===(a=_.clear)||void 0===a||a.call(_),null===(i=t)||void 0===i||null===(s=i.reset)||void 0===s||s.call(i),this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1,this.dropping=!1,this.webglObj&&(this.webglObj.destroy(),this.offscreenCanvas=null,this.offscreenCanvasGL=null,this.offscreenCanvasCtx=null),e=[],r=[],delete this.playAudioPlanar,delete this.draw},pushBuffer:function(r,t){t.type===f?e.push({ts:t.ts,payload:r,decoder:T,type:f}):t.type===p&&e.push({ts:t.ts,payload:r,decoder:_,type:p,isIFrame:t.isIFrame})}},T=new o.AudioDecoder(n),_=new o.VideoDecoder(n);self.onmessage=function(e){const r=e.data;switch(r.cmd){case m:try{n.opt=Object.assign(n.opt,JSON.parse(r.opt))}catch(e){}T.sample_rate=r.sampleRate,n.init();break;case h:n.pushBuffer(r.buffer,r.options);break;case g:T.decode(r.buffer,r.ts);break;case v:_.decode(r.buffer,r.ts);break;case y:n.close();break;case E:n.opt[r.key]=r.value}}},o.onRuntimeInitialized=function(){setTimeout((()=>{postMessage({cmd:m})}),10)}}));
|
|
9
|
+
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var r,t;var n=function(){if(t)return r;t=1;var e=!0;if((a=void 0!==a?a:{}).ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");var n,o,a={print:function(e){},printErr:function(e){postMessage({cmd:"wasmError",message:e})}},i=Object.assign({},a),s="./this.program",l="";if("undefined"!=typeof document&&document.currentScript&&(l=document.currentScript.src),l=l.startsWith("blob:")?"":l.substr(0,l.replace(/[?#].*/,"").lastIndexOf("/")+1),"object"!=typeof window&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");n=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},o=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)};var d,u,c,f=a.print||console.log.bind(console),p=a.printErr||console.error.bind(console);Object.assign(a,i),i=null,d="fetchSettings",Object.getOwnPropertyDescriptor(a,d)&&L(`\`Module.${d}\` was supplied but \`${d}\` not included in INCOMING_MODULE_JS_API`),a.arguments&&a.arguments,Y("arguments","arguments_"),a.thisProgram&&(s=a.thisProgram),Y("thisProgram","thisProgram"),a.quit&&a.quit,Y("quit","quit_"),_(void 0===a.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),_(void 0===a.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),_(void 0===a.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),_(void 0===a.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),_(void 0===a.read,"Module.read option was removed (modify read_ in JS)"),_(void 0===a.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),_(void 0===a.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),_(void 0===a.setWindowTitle,"Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)"),_(void 0===a.TOTAL_MEMORY,"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),Y("asm","wasmExports"),Y("read","read_"),Y("readAsync","readAsync"),Y("readBinary","readBinary"),Y("setWindowTitle","setWindowTitle"),_(!0,"worker environment detected but not enabled at build time. Add `worker` to `-sENVIRONMENT` to enable."),_(!0,"node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable."),_(!0,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable."),a.wasmBinary&&(u=a.wasmBinary),Y("wasmBinary","wasmBinary"),"object"!=typeof WebAssembly&&p("no native wasm support detected");var m,h,g,v,y,E,w,b,T=!1;function _(e,r){e||L("Assertion failed"+(r?": "+r:""))}function C(){var e=c.buffer;a.HEAP8=m=new Int8Array(e),a.HEAP16=g=new Int16Array(e),a.HEAPU8=h=new Uint8Array(e),a.HEAPU16=v=new Uint16Array(e),a.HEAP32=y=new Int32Array(e),a.HEAPU32=E=new Uint32Array(e),a.HEAPF32=w=new Float32Array(e),a.HEAPF64=b=new Float64Array(e)}function S(){if(!T){var e=ut();0==e&&(e+=4);var r=E[e>>2],t=E[e+4>>2];34821223==r&&2310721022==t||L(`Stack overflow! Stack cookie has been overwritten at ${Z(e)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${Z(t)} ${Z(r)}`),1668509029!=E[0]&&L("Runtime error: The application has corrupted its heap memory area (address zero)!")}}_(!a.STACK_SIZE,"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time"),_("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&null!=Int32Array.prototype.subarray&&null!=Int32Array.prototype.set,"JS engine does not provide full typed array support"),_(!a.wasmMemory,"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"),_(!a.INITIAL_MEMORY,"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically"),function(){var e=new Int16Array(1),r=new Int8Array(e.buffer);if(e[0]=25459,115!==r[0]||99!==r[1])throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"}();var P=[],A=[],k=[],F=!1;_(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),_(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),_(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),_(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var D=0,O=null,M=null,$={};function N(e){for(var r=e;;){if(!$[e])return e;e=r+Math.random()}}function I(e){var r,t;D++,null===(r=(t=a).monitorRunDependencies)||void 0===r||r.call(t,D),e?(_(!$[e]),$[e]=1,null===O&&"undefined"!=typeof setInterval&&(O=setInterval((()=>{if(T)return clearInterval(O),void(O=null);var e=!1;for(var r in $)e||(e=!0,p("still waiting on run dependencies:")),p(`dependency: ${r}`);e&&p("(end of list)")}),1e4))):p("warning: run dependency added without ID")}function R(e){var r,t;if(D--,null===(r=(t=a).monitorRunDependencies)||void 0===r||r.call(t,D),e?(_($[e]),delete $[e]):p("warning: run dependency removed without ID"),0==D&&(null!==O&&(clearInterval(O),O=null),M)){var n=M;M=null,n()}}function L(e){var r,t;throw null===(r=(t=a).onAbort)||void 0===r||r.call(t,e),p(e="Aborted("+e+")"),T=!0,new WebAssembly.RuntimeError(e)}var U,x,B,j=e=>e.startsWith("data:application/octet-stream;base64,"),W=e=>e.startsWith("file://");function z(e,r){return function(){_(F,`native function \`${e}\` called before runtime initialization`);var t=nt[e];return _(t,`exported native function \`${e}\` not found`),_(arguments.length<=r,`native function \`${e}\` called with ${arguments.length} args but expects ${r}`),t(...arguments)}}function H(){var e,r="decoder.wasm";return j(r)?r:(e=r,a.locateFile?a.locateFile(e,l):l+e)}function G(e){if(e==U&&u)return new Uint8Array(u);throw"both async and sync fetching of the wasm failed"}function V(r,t,n){return function(r){return!u&&e&&"function"==typeof fetch?fetch(r,{credentials:"same-origin"}).then((e=>{if(!e.ok)throw`failed to load wasm binary file at '${r}'`;return e.arrayBuffer()})).catch((()=>G(r))):Promise.resolve().then((()=>G(r)))}(r).then((e=>WebAssembly.instantiate(e,t))).then(n,(e=>{p(`failed to asynchronously prepare wasm: ${e}`),W(U)&&p(`warning: Loading from a file URI (${U}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`),L(e)}))}function Y(e,r){let t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];Object.getOwnPropertyDescriptor(a,e)||Object.defineProperty(a,e,{configurable:!0,get(){L(`\`Module.${e}\` has been replaced by \`${r}\``+(t?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":""))}})}function X(e){return"FS_createPath"===e||"FS_createDataFile"===e||"FS_createPreloadedFile"===e||"FS_unlink"===e||"addRunDependency"===e||"FS_createLazyFile"===e||"FS_createDevice"===e||"removeRunDependency"===e}function q(e,r){"undefined"!=typeof globalThis&&Object.defineProperty(globalThis,e,{configurable:!0,get(){Q(`\`${e}\` is not longer defined by emscripten. ${r}`)}})}function K(e){Object.getOwnPropertyDescriptor(a,e)||Object.defineProperty(a,e,{configurable:!0,get(){var r=`'${e}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;X(e)&&(r+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),L(r)}})}q("buffer","Please use HEAP8.buffer or wasmMemory.buffer"),q("asm","Please use wasmExports instead");var J=e=>{for(;e.length>0;)e.shift()(a)};a.noExitRuntime;var Z=e=>(_("number"==typeof e),"0x"+(e>>>=0).toString(16).padStart(8,"0")),Q=e=>{Q.shown||={},Q.shown[e]||(Q.shown[e]=1,p(e))},ee="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,re=(e,r,t)=>{for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&ee)return ee.decode(e.subarray(r,o));for(var a="";r<o;){var i=e[r++];if(128&i){var s=63&e[r++];if(192!=(224&i)){var l=63&e[r++];if(224==(240&i)?i=(15&i)<<12|s<<6|l:(240!=(248&i)&&Q("Invalid UTF-8 leading byte "+Z(i)+" encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),i=(7&i)<<18|s<<12|l<<6|63&e[r++]),i<65536)a+=String.fromCharCode(i);else{var d=i-65536;a+=String.fromCharCode(55296|d>>10,56320|1023&d)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a},te=(e,r)=>(_("number"==typeof e,`UTF8ToString expects a number (got ${typeof e})`),e?re(h,e,r):"");function ne(){_(null!=_e.varargs);var e=y[+_e.varargs>>2];return _e.varargs+=4,e}var oe=ne,ae={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=ae.isAbs(e),t="/"===e.substr(-1);return(e=ae.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=ae.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=ae.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];return ae.normalize(r.join("/"))},join2:(e,r)=>ae.normalize(e+"/"+r)},ie=e=>(ie=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);L("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")})())(e),se={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?t<0||arguments.length<=t?void 0:arguments[t]:Te.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=ae.isAbs(n)}return(r?"/":"")+(e=ae.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r<e.length&&""===e[r];r++);for(var t=e.length-1;t>=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=se.resolve(e).substr(1),r=se.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s<a;s++)if(n[s]!==o[s]){i=s;break}var l=[];for(s=i;s<n.length;s++)l.push("..");return(l=l.concat(o.slice(i))).join("/")}},le=[],de=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r},ue=(e,r,t,n)=>{if(_("string"==typeof e,`stringToUTF8Array expects a string (got ${typeof e})`),!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i);if(s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)break;s>1114111&&Q("Invalid Unicode code point "+Z(s)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-o};function ce(e,r,t){var n=de(e)+1,o=new Array(n),a=ue(e,o,0,o.length);return o.length=a,o}var fe,pe,me,he={ttys:[],init(){},shutdown(){},register(e,r){he.ttys[e]={input:[],output:[],ops:r},Te.registerDevice(e,he.stream_ops)},stream_ops:{open(e){var r=he.ttys[e.node.rdev];if(!r)throw new Te.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new Te.ErrnoError(60);for(var a=0,i=0;i<n;i++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new Te.ErrnoError(29)}if(void 0===s&&0===a)throw new Te.ErrnoError(6);if(null==s)break;a++,r[t+i]=s}return a&&(e.node.timestamp=Date.now()),a},write(e,r,t,n,o){if(!e.tty||!e.tty.ops.put_char)throw new Te.ErrnoError(60);try{for(var a=0;a<n;a++)e.tty.ops.put_char(e.tty,r[t+a])}catch(e){throw new Te.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),a}},default_tty_ops:{get_char:e=>(()=>{if(!le.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n"),!e)return null;le=ce(e)}return le.shift()})(),put_char(e,r){null===r||10===r?(f(re(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(f(re(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(p(re(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(p(re(e.output,0)),e.output=[])}}},ge=e=>{L("internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported")},ve={ops_table:null,mount:e=>ve.createNode(null,"/",16895,0),createNode(e,r,t,n){if(Te.isBlkdev(t)||Te.isFIFO(t))throw new Te.ErrnoError(63);ve.ops_table||={dir:{node:{getattr:ve.node_ops.getattr,setattr:ve.node_ops.setattr,lookup:ve.node_ops.lookup,mknod:ve.node_ops.mknod,rename:ve.node_ops.rename,unlink:ve.node_ops.unlink,rmdir:ve.node_ops.rmdir,readdir:ve.node_ops.readdir,symlink:ve.node_ops.symlink},stream:{llseek:ve.stream_ops.llseek}},file:{node:{getattr:ve.node_ops.getattr,setattr:ve.node_ops.setattr},stream:{llseek:ve.stream_ops.llseek,read:ve.stream_ops.read,write:ve.stream_ops.write,allocate:ve.stream_ops.allocate,mmap:ve.stream_ops.mmap,msync:ve.stream_ops.msync}},link:{node:{getattr:ve.node_ops.getattr,setattr:ve.node_ops.setattr,readlink:ve.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ve.node_ops.getattr,setattr:ve.node_ops.setattr},stream:Te.chrdev_stream_ops}};var o=Te.createNode(e,r,t,n);return Te.isDir(o.mode)?(o.node_ops=ve.ops_table.dir.node,o.stream_ops=ve.ops_table.dir.stream,o.contents={}):Te.isFile(o.mode)?(o.node_ops=ve.ops_table.file.node,o.stream_ops=ve.ops_table.file.stream,o.usedBytes=0,o.contents=null):Te.isLink(o.mode)?(o.node_ops=ve.ops_table.link.node,o.stream_ops=ve.ops_table.link.stream):Te.isChrdev(o.mode)&&(o.node_ops=ve.ops_table.chrdev.node,o.stream_ops=ve.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=Te.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,Te.isDir(e.mode)?r.size=4096:Te.isFile(e.mode)?r.size=e.usedBytes:Te.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&ve.resizeFileStorage(e,r.size)},lookup(e,r){throw Te.genericErrors[44]},mknod:(e,r,t,n)=>ve.createNode(e,r,t,n),rename(e,r,t){if(Te.isDir(e.mode)){var n;try{n=Te.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new Te.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=Te.lookupNode(e,r);for(var n in t.contents)throw new Te.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t of Object.keys(e.contents))r.push(t);return r},symlink(e,r,t){var n=ve.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!Te.isLink(e.mode))throw new Te.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(_(i>=0),i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s<i;s++)r[t+s]=a[o+s];return i},write(e,r,t,n,o,a){if(_(!(r instanceof ArrayBuffer)),r.buffer===m.buffer&&(a=!1),!n)return 0;var i=e.node;if(i.timestamp=Date.now(),r.subarray&&(!i.contents||i.contents.subarray)){if(a)return _(0===o,"canOwn must imply no weird position inside the file"),i.contents=r.subarray(t,t+n),i.usedBytes=n,n;if(0===i.usedBytes&&0===o)return i.contents=r.slice(t,t+n),i.usedBytes=n,n;if(o+n<=i.usedBytes)return i.contents.set(r.subarray(t,t+n),o),n}if(ve.expandFileStorage(i,o+n),i.contents.subarray&&r.subarray)i.contents.set(r.subarray(t,t+n),o);else for(var s=0;s<n;s++)i.contents[o+s]=r[t+s];return i.usedBytes=Math.max(i.usedBytes,o+n),n},llseek(e,r,t){var n=r;if(1===t?n+=e.position:2===t&&Te.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new Te.ErrnoError(28);return n},allocate(e,r,t){ve.expandFileStorage(e.node,r+t),e.node.usedBytes=Math.max(e.node.usedBytes,r+t)},mmap(e,r,t,n,o){if(!Te.isFile(e.node.mode))throw new Te.ErrnoError(43);var a,i,s=e.node.contents;if(2&o||s.buffer!==m.buffer){if((t>0||t+r<s.length)&&(s=s.subarray?s.subarray(t,t+r):Array.prototype.slice.call(s,t,t+r)),i=!0,!(a=ge()))throw new Te.ErrnoError(48);m.set(s,a)}else i=!1,a=s.byteOffset;return{ptr:a,allocated:i}},msync:(e,r,t,n,o)=>(ve.stream_ops.write(e,r,0,n,t,!1),0)}},ye=a.preloadPlugins||[],Ee=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},we={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"},be={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},Te={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class extends Error{constructor(e){for(var r in super(we[e]),this.name="ErrnoError",this.errno=e,be)if(be[r]===e){this.code=r;break}}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(e){this.node=e}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return!!(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{constructor(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Te.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return Te.isDir(this.mode)}get isDevice(){return Te.isChrdev(this.mode)}},lookupPath(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=se.resolve(e)))return{path:"",node:null};if(r=Object.assign({follow_mount:!0,recurse_count:0},r),r.recurse_count>8)throw new Te.ErrnoError(32);for(var t=e.split("/").filter((e=>!!e)),n=Te.root,o="/",a=0;a<t.length;a++){var i=a===t.length-1;if(i&&r.parent)break;if(n=Te.lookupNode(n,t[a]),o=ae.join2(o,t[a]),Te.isMountpoint(n)&&(!i||i&&r.follow_mount)&&(n=n.mounted.root),!i||r.follow)for(var s=0;Te.isLink(n.mode);){var l=Te.readlink(o);if(o=se.resolve(ae.dirname(o),l),n=Te.lookupPath(o,{recurse_count:r.recurse_count+1}).node,s++>40)throw new Te.ErrnoError(32)}}return{path:o,node:n}},getPath(e){for(var r;;){if(Te.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n<r.length;n++)t=(t<<5)-t+r.charCodeAt(n)|0;return(e+t>>>0)%Te.nameTable.length},hashAddNode(e){var r=Te.hashName(e.parent.id,e.name);e.name_next=Te.nameTable[r],Te.nameTable[r]=e},hashRemoveNode(e){var r=Te.hashName(e.parent.id,e.name);if(Te.nameTable[r]===e)Te.nameTable[r]=e.name_next;else for(var t=Te.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=Te.mayLookup(e);if(t)throw new Te.ErrnoError(t);for(var n=Te.hashName(e.id,r),o=Te.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return Te.lookup(e,r)},createNode(e,r,t,n){_("object"==typeof e);var o=new Te.FSNode(e,r,t,n);return Te.hashAddNode(o),o},destroyNode(e){Te.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>Te.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!Te.isDir(e.mode))return 54;var r=Te.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{Te.lookupNode(e,r);return 20}catch(e){}return Te.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=Te.lookupNode(e,r)}catch(e){return e.errno}var o=Te.nodePermissions(e,"wx");if(o)return o;if(t){if(!Te.isDir(n.mode))return 54;if(Te.isRoot(n)||Te.getPath(n)===Te.cwd())return 10}else if(Te.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?Te.isLink(e.mode)?32:Te.isDir(e.mode)&&("r"!==Te.flagsToPermissionString(r)||512&r)?31:Te.nodePermissions(e,Te.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Te.MAX_OPEN_FDS;e++)if(!Te.streams[e])return e;throw new Te.ErrnoError(33)},getStreamChecked(e){var r=Te.getStream(e);if(!r)throw new Te.ErrnoError(8);return r},getStream:e=>Te.streams[e],createStream(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return e=Object.assign(new Te.FSStream,e),-1==r&&(r=Te.nextfd()),e.fd=r,Te.streams[r]=e,e},closeStream(e){Te.streams[e]=null},dupStream(e){var r,t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;var o=Te.createStream(e,n);return null===(r=o.stream_ops)||void 0===r||null===(t=r.dup)||void 0===t||t.call(r,o),o},chrdev_stream_ops:{open(e){var r,t,n=Te.getDevice(e.node.rdev);e.stream_ops=n.stream_ops,null===(r=(t=e.stream_ops).open)||void 0===r||r.call(t,e)},llseek(){throw new Te.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){Te.devices[e]={stream_ops:r}},getDevice:e=>Te.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push(...n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),Te.syncFSRequests++,Te.syncFSRequests>1&&p(`warning: ${Te.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=Te.getMounts(Te.root.mount),n=0;function o(e){return _(Te.syncFSRequests>0),Te.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach((r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)}))},mount(e,r,t){if("string"==typeof e)throw e;var n,o="/"===t,a=!t;if(o&&Te.root)throw new Te.ErrnoError(10);if(!o&&!a){var i=Te.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,Te.isMountpoint(n))throw new Te.ErrnoError(10);if(!Te.isDir(n.mode))throw new Te.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},l=e.mount(s);return l.mount=s,s.root=l,o?Te.root=l:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),l},unmount(e){var r=Te.lookupPath(e,{follow_mount:!1});if(!Te.isMountpoint(r.node))throw new Te.ErrnoError(28);var t=r.node,n=t.mounted,o=Te.getMounts(n);Object.keys(Te.nameTable).forEach((e=>{for(var r=Te.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&Te.destroyNode(r),r=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);_(-1!==a),t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=Te.lookupPath(e,{parent:!0}).node,o=ae.basename(e);if(!o||"."===o||".."===o)throw new Te.ErrnoError(28);var a=Te.mayCreate(n,o);if(a)throw new Te.ErrnoError(a);if(!n.node_ops.mknod)throw new Te.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,Te.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,Te.mknod(e,r,0)),mkdirTree(e,r){for(var t=e.split("/"),n="",o=0;o<t.length;++o)if(t[o]){n+="/"+t[o];try{Te.mkdir(n,r)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,r,t)=>(void 0===t&&(t=r,r=438),r|=8192,Te.mknod(e,r,t)),symlink(e,r){if(!se.resolve(e))throw new Te.ErrnoError(44);var t=Te.lookupPath(r,{parent:!0}).node;if(!t)throw new Te.ErrnoError(44);var n=ae.basename(r),o=Te.mayCreate(t,n);if(o)throw new Te.ErrnoError(o);if(!t.node_ops.symlink)throw new Te.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,o=ae.dirname(e),a=ae.dirname(r),i=ae.basename(e),s=ae.basename(r);if(t=Te.lookupPath(e,{parent:!0}).node,n=Te.lookupPath(r,{parent:!0}).node,!t||!n)throw new Te.ErrnoError(44);if(t.mount!==n.mount)throw new Te.ErrnoError(75);var l,d=Te.lookupNode(t,i),u=se.relative(e,a);if("."!==u.charAt(0))throw new Te.ErrnoError(28);if("."!==(u=se.relative(r,o)).charAt(0))throw new Te.ErrnoError(55);try{l=Te.lookupNode(n,s)}catch(e){}if(d!==l){var c=Te.isDir(d.mode),f=Te.mayDelete(t,i,c);if(f)throw new Te.ErrnoError(f);if(f=l?Te.mayDelete(n,s,c):Te.mayCreate(n,s))throw new Te.ErrnoError(f);if(!t.node_ops.rename)throw new Te.ErrnoError(63);if(Te.isMountpoint(d)||l&&Te.isMountpoint(l))throw new Te.ErrnoError(10);if(n!==t&&(f=Te.nodePermissions(t,"w")))throw new Te.ErrnoError(f);Te.hashRemoveNode(d);try{t.node_ops.rename(d,n,s)}catch(e){throw e}finally{Te.hashAddNode(d)}}},rmdir(e){var r=Te.lookupPath(e,{parent:!0}).node,t=ae.basename(e),n=Te.lookupNode(r,t),o=Te.mayDelete(r,t,!0);if(o)throw new Te.ErrnoError(o);if(!r.node_ops.rmdir)throw new Te.ErrnoError(63);if(Te.isMountpoint(n))throw new Te.ErrnoError(10);r.node_ops.rmdir(r,t),Te.destroyNode(n)},readdir(e){var r=Te.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new Te.ErrnoError(54);return r.node_ops.readdir(r)},unlink(e){var r=Te.lookupPath(e,{parent:!0}).node;if(!r)throw new Te.ErrnoError(44);var t=ae.basename(e),n=Te.lookupNode(r,t),o=Te.mayDelete(r,t,!1);if(o)throw new Te.ErrnoError(o);if(!r.node_ops.unlink)throw new Te.ErrnoError(63);if(Te.isMountpoint(n))throw new Te.ErrnoError(10);r.node_ops.unlink(r,t),Te.destroyNode(n)},readlink(e){var r=Te.lookupPath(e).node;if(!r)throw new Te.ErrnoError(44);if(!r.node_ops.readlink)throw new Te.ErrnoError(28);return se.resolve(Te.getPath(r.parent),r.node_ops.readlink(r))},stat(e,r){var t=Te.lookupPath(e,{follow:!r}).node;if(!t)throw new Te.ErrnoError(44);if(!t.node_ops.getattr)throw new Te.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>Te.stat(e,!0),chmod(e,r,t){var n;"string"==typeof e?n=Te.lookupPath(e,{follow:!t}).node:n=e;if(!n.node_ops.setattr)throw new Te.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod(e,r){Te.chmod(e,r,!0)},fchmod(e,r){var t=Te.getStreamChecked(e);Te.chmod(t.node,r)},chown(e,r,t,n){var o;"string"==typeof e?o=Te.lookupPath(e,{follow:!n}).node:o=e;if(!o.node_ops.setattr)throw new Te.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(e,r,t){Te.chown(e,r,t,!0)},fchown(e,r,t){var n=Te.getStreamChecked(e);Te.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new Te.ErrnoError(28);var t;"string"==typeof e?t=Te.lookupPath(e,{follow:!0}).node:t=e;if(!t.node_ops.setattr)throw new Te.ErrnoError(63);if(Te.isDir(t.mode))throw new Te.ErrnoError(31);if(!Te.isFile(t.mode))throw new Te.ErrnoError(28);var n=Te.nodePermissions(t,"w");if(n)throw new Te.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=Te.getStreamChecked(e);if(!(2097155&t.flags))throw new Te.ErrnoError(28);Te.truncate(t.node,r)},utime(e,r,t){var n=Te.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open(e,r,t){if(""===e)throw new Te.ErrnoError(44);var n;if(t=void 0===t?438:t,t=64&(r="string"==typeof r?(e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r})(r):r)?4095&t|32768:0,"object"==typeof e)n=e;else{e=ae.normalize(e);try{n=Te.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var o=!1;if(64&r)if(n){if(128&r)throw new Te.ErrnoError(20)}else n=Te.mknod(e,t,0),o=!0;if(!n)throw new Te.ErrnoError(44);if(Te.isChrdev(n.mode)&&(r&=-513),65536&r&&!Te.isDir(n.mode))throw new Te.ErrnoError(54);if(!o){var i=Te.mayOpen(n,r);if(i)throw new Te.ErrnoError(i)}512&r&&!o&&Te.truncate(n,0),r&=-131713;var s=Te.createStream({node:n,path:Te.getPath(n),flags:r,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&r||(Te.readFiles||(Te.readFiles={}),e in Te.readFiles||(Te.readFiles[e]=1)),s},close(e){if(Te.isClosed(e))throw new Te.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Te.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Te.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Te.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,o){if(_(t>=0),n<0||o<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(1==(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.read)throw new Te.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new Te.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write(e,r,t,n,o,a){if(_(t>=0),n<0||o<0)throw new Te.ErrnoError(28);if(Te.isClosed(e))throw new Te.ErrnoError(8);if(!(2097155&e.flags))throw new Te.ErrnoError(8);if(Te.isDir(e.node.mode))throw new Te.ErrnoError(31);if(!e.stream_ops.write)throw new Te.ErrnoError(28);e.seekable&&1024&e.flags&&Te.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new Te.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},allocate(e,r,t){if(Te.isClosed(e))throw new Te.ErrnoError(8);if(r<0||t<=0)throw new Te.ErrnoError(28);if(!(2097155&e.flags))throw new Te.ErrnoError(8);if(!Te.isFile(e.node.mode)&&!Te.isDir(e.node.mode))throw new Te.ErrnoError(43);if(!e.stream_ops.allocate)throw new Te.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,o){if(2&n&&!(2&o)&&2!=(2097155&e.flags))throw new Te.ErrnoError(2);if(1==(2097155&e.flags))throw new Te.ErrnoError(2);if(!e.stream_ops.mmap)throw new Te.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>(_(t>=0),e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0),ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new Te.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,n=Te.open(e,r.flags),o=Te.stat(e).size,a=new Uint8Array(o);return Te.read(n,a,0,o,0),"utf8"===r.encoding?t=re(a,0):"binary"===r.encoding&&(t=a),Te.close(n),t},writeFile(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t.flags=t.flags||577;var n=Te.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(de(r)+1),a=ue(r,o,0,o.length);Te.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");Te.write(n,r,0,r.byteLength,void 0,t.canOwn)}Te.close(n)},cwd:()=>Te.currentPath,chdir(e){var r=Te.lookupPath(e,{follow:!0});if(null===r.node)throw new Te.ErrnoError(44);if(!Te.isDir(r.node.mode))throw new Te.ErrnoError(54);var t=Te.nodePermissions(r.node,"x");if(t)throw new Te.ErrnoError(t);Te.currentPath=r.path},createDefaultDirectories(){Te.mkdir("/tmp"),Te.mkdir("/home"),Te.mkdir("/home/web_user")},createDefaultDevices(){Te.mkdir("/dev"),Te.registerDevice(Te.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),Te.mkdev("/dev/null",Te.makedev(1,3)),he.register(Te.makedev(5,0),he.default_tty_ops),he.register(Te.makedev(6,0),he.default_tty1_ops),Te.mkdev("/dev/tty",Te.makedev(5,0)),Te.mkdev("/dev/tty1",Te.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(r=ie(e).byteLength),e[--r]);Te.createDevice("/dev","random",t),Te.createDevice("/dev","urandom",t),Te.mkdir("/dev/shm"),Te.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Te.mkdir("/proc");var e=Te.mkdir("/proc/self");Te.mkdir("/proc/self/fd"),Te.mount({mount(){var r=Te.createNode(e,"fd",16895,73);return r.node_ops={lookup(e,r){var t=+r,n=Te.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},r}},{},"/proc/self/fd")},createStandardStreams(){a.stdin?Te.createDevice("/dev","stdin",a.stdin):Te.symlink("/dev/tty","/dev/stdin"),a.stdout?Te.createDevice("/dev","stdout",null,a.stdout):Te.symlink("/dev/tty","/dev/stdout"),a.stderr?Te.createDevice("/dev","stderr",null,a.stderr):Te.symlink("/dev/tty1","/dev/stderr");var e=Te.open("/dev/stdin",0),r=Te.open("/dev/stdout",1),t=Te.open("/dev/stderr",1);_(0===e.fd,`invalid handle for stdin (${e.fd})`),_(1===r.fd,`invalid handle for stdout (${r.fd})`),_(2===t.fd,`invalid handle for stderr (${t.fd})`)},staticInit(){[44].forEach((e=>{Te.genericErrors[e]=new Te.ErrnoError(e),Te.genericErrors[e].stack="<generic error, no stack>"})),Te.nameTable=new Array(4096),Te.mount(ve,{},"/"),Te.createDefaultDirectories(),Te.createDefaultDevices(),Te.createSpecialDirectories(),Te.filesystems={MEMFS:ve}},init(e,r,t){_(!Te.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),Te.init.initialized=!0,a.stdin=e||a.stdin,a.stdout=r||a.stdout,a.stderr=t||a.stderr,Te.createStandardStreams()},quit(){Te.init.initialized=!1,st(0);for(var e=0;e<Te.streams.length;e++){var r=Te.streams[e];r&&Te.close(r)}},findObject(e,r){var t=Te.analyzePath(e,r);return t.exists?t.object:null},analyzePath(e,r){try{e=(n=Te.lookupPath(e,{follow:!r})).path}catch(e){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Te.lookupPath(e,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=ae.basename(e),n=Te.lookupPath(e,{follow:!r}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(e){t.error=e.errno}return t},createPath(e,r,t,n){e="string"==typeof e?e:Te.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var i=ae.join2(e,a);try{Te.mkdir(i)}catch(e){}e=i}}return i},createFile(e,r,t,n,o){var a=ae.join2("string"==typeof e?e:Te.getPath(e),r),i=Ee(n,o);return Te.create(a,i)},createDataFile(e,r,t,n,o,a){var i=r;e&&(e="string"==typeof e?e:Te.getPath(e),i=r?ae.join2(e,r):e);var s=Ee(n,o),l=Te.create(i,s);if(t){if("string"==typeof t){for(var d=new Array(t.length),u=0,c=t.length;u<c;++u)d[u]=t.charCodeAt(u);t=d}Te.chmod(l,146|s);var f=Te.open(l,577);Te.write(f,t,0,t.length,0,a),Te.close(f),Te.chmod(l,s)}},createDevice(e,r,t,n){var o=ae.join2("string"==typeof e?e:Te.getPath(e),r),a=Ee(!!t,!!n);Te.createDevice.major||(Te.createDevice.major=64);var i=Te.makedev(Te.createDevice.major++,0);return Te.registerDevice(i,{open(e){e.seekable=!1},close(e){var r;null!=n&&null!==(r=n.buffer)&&void 0!==r&&r.length&&n(10)},read(e,r,n,o,a){for(var i=0,s=0;s<o;s++){var l;try{l=t()}catch(e){throw new Te.ErrnoError(29)}if(void 0===l&&0===i)throw new Te.ErrnoError(6);if(null==l)break;i++,r[n+s]=l}return i&&(e.node.timestamp=Date.now()),i},write(e,r,t,o,a){for(var i=0;i<o;i++)try{n(r[t+i])}catch(e){throw new Te.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),i}}),Te.mkdev(o,a,i)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.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(!n)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=ce(n(e.url)),e.usedBytes=e.contents.length}catch(e){throw new Te.ErrnoError(29)}},createLazyFile(e,r,t,n,o){if("undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a={isDevice:!1,url:t},i=Te.createFile(e,r,a,n,o);a.contents?i.contents=a.contents:a.url&&(i.contents=null,i.url=a.url),Object.defineProperties(i,{usedBytes:{get:function(){return this.contents.length}}});var s={};function l(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(_(i>=0),a.slice)for(var s=0;s<i;s++)r[t+s]=a[o+s];else for(s=0;s<i;s++)r[t+s]=a.get(o+s);return i}return Object.keys(i.stream_ops).forEach((e=>{var r=i.stream_ops[e];s[e]=function(){return Te.forceLoadFile(i),r(...arguments)}})),s.read=(e,r,t,n,o)=>(Te.forceLoadFile(i),l(e,r,t,n,o)),s.mmap=(e,r,t,n,o)=>{Te.forceLoadFile(i);var a=ge();if(!a)throw new Te.ErrnoError(48);return l(e,m,a,r,t),{ptr:a,allocated:!0}},i.stream_ops=s,i},absolutePath(){L("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder(){L("FS.createFolder has been removed; use FS.mkdir instead")},createLink(){L("FS.createLink has been removed; use FS.symlink instead")},joinPath(){L("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc(){L("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath(){L("FS.standardizePath has been removed; use PATH.normalize instead")}},_e={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(ae.isAbs(r))return r;var n;-100===e?n=Te.cwd():n=_e.getStreamFromFD(e).path;if(0==r.length){if(!t)throw new Te.ErrnoError(44);return n}return ae.join2(n,r)},doStat(e,r,t){var n=e(r);y[t>>2]=n.dev,y[t+4>>2]=n.mode,E[t+8>>2]=n.nlink,y[t+12>>2]=n.uid,y[t+16>>2]=n.gid,y[t+20>>2]=n.rdev,B=[n.size>>>0,(x=n.size,+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)],y[t+24>>2]=B[0],y[t+28>>2]=B[1],y[t+32>>2]=4096,y[t+36>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return B=[Math.floor(o/1e3)>>>0,(x=Math.floor(o/1e3),+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)],y[t+40>>2]=B[0],y[t+44>>2]=B[1],E[t+48>>2]=o%1e3*1e3,B=[Math.floor(a/1e3)>>>0,(x=Math.floor(a/1e3),+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)],y[t+56>>2]=B[0],y[t+60>>2]=B[1],E[t+64>>2]=a%1e3*1e3,B=[Math.floor(i/1e3)>>>0,(x=Math.floor(i/1e3),+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)],y[t+72>>2]=B[0],y[t+76>>2]=B[1],E[t+80>>2]=i%1e3*1e3,B=[n.ino>>>0,(x=n.ino,+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)],y[t+88>>2]=B[0],y[t+92>>2]=B[1],0},doMsync(e,r,t,n,o){if(!Te.isFile(r.node.mode))throw new Te.ErrnoError(43);if(2&n)return 0;var a=h.slice(e,e+t);Te.msync(r,a,o,t,n)},getStreamFromFD:e=>Te.getStreamChecked(e),varargs:void 0,getStr:e=>te(e)},Ce=e=>{for(var r="",t=e;h[t];)r+=fe[h[t++]];return r},Se={},Pe={},Ae={},ke=e=>{throw new pe(e)},Fe=e=>{throw new me(e)},De=(e,r,t)=>{function n(r){var n=t(r);n.length!==e.length&&Fe("Mismatched type converter count");for(var o=0;o<e.length;++o)Oe(e[o],n[o])}e.forEach((function(e){Ae[e]=r}));var o=new Array(r.length),a=[],i=0;r.forEach(((e,r)=>{Pe.hasOwnProperty(e)?o[r]=Pe[e]:(a.push(e),Se.hasOwnProperty(e)||(Se[e]=[]),Se[e].push((()=>{o[r]=Pe[e],++i===a.length&&n(o)})))})),0===a.length&&n(o)};function Oe(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in r))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n=r.name;if(e||ke(`type "${n}" must have a positive integer typeid pointer`),Pe.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;ke(`Cannot register type '${n}' twice`)}if(Pe[e]=r,delete Ae[e],Se.hasOwnProperty(e)){var o=Se[e];delete Se[e],o.forEach((e=>e()))}}(e,r,t)}var Me,$e=e=>{ke(e.$$.ptrType.registeredClass.name+" instance already deleted")},Ne=!1,Ie=e=>{},Re=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},Le=(e,r,t)=>{if(r===t)return e;if(void 0===t.baseClass)return null;var n=Le(e,r,t.baseClass);return null===n?null:t.downcast(n)},Ue={},xe=()=>Object.keys(He).length,Be=()=>{var e=[];for(var r in He)He.hasOwnProperty(r)&&e.push(He[r]);return e},je=[],We=()=>{for(;je.length;){var e=je.pop();e.$$.deleteScheduled=!1,e.delete()}},ze=e=>{Me=e,je.length&&Me&&Me(We)},He={},Ge=(e,r)=>(r=((e,r)=>{for(void 0===r&&ke("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r})(e,r),He[r]),Ve=(e,r)=>(r.ptrType&&r.ptr||Fe("makeClassHandle requires ptr and ptrType"),!!r.smartPtrType!==!!r.smartPtr&&Fe("Both smartPtrType and smartPtr must be specified"),r.count={value:1},Xe(Object.create(e,{$$:{value:r,writable:!0}})));function Ye(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=Ge(this.registeredClass,r);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var n=t.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?Ve(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):Ve(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,i=this.registeredClass.getActualType(r),s=Ue[i];if(!s)return o.call(this);a=this.isConst?s.constPointerType:s.pointerType;var l=Le(r,this.registeredClass,a.registeredClass);return null===l?o.call(this):this.isSmartPointer?Ve(a.registeredClass.instancePrototype,{ptrType:a,ptr:l,smartPtrType:this,smartPtr:e}):Ve(a.registeredClass.instancePrototype,{ptrType:a,ptr:l})}var Xe=e=>"undefined"==typeof FinalizationRegistry?(Xe=e=>e,e):(Ne=new FinalizationRegistry((e=>{Re(e.$$)})),Xe=e=>{var r=e.$$;if(!!r.smartPtr){var t={$$:r},n=r.ptrType.registeredClass;t.leakWarning=new Error(`Embind found a leaked C++ instance ${n.name} <${Z(r.ptr)}>.\nWe'll free it automatically in this case, but this functionality is not reliable across various environments.\nMake sure to invoke .delete() manually once you're done with the instance instead.\nOriginally allocated`),"captureStackTrace"in Error&&Error.captureStackTrace(t.leakWarning,Ye),Ne.register(e,t,e)}return e},Ie=e=>Ne.unregister(e),Xe(e));function qe(){}var Ke=(e,r)=>Object.defineProperty(r,"name",{value:e}),Je=(e,r,t)=>{if(void 0===e[r].overloadTable){var n=e[r];e[r]=function(){for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];return e[r].overloadTable.hasOwnProperty(o.length)||ke(`Function '${t}' called with an invalid number of arguments (${o.length}) - expects one of (${e[r].overloadTable})!`),e[r].overloadTable[o.length].apply(this,o)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}};function Ze(e,r,t,n,o,a,i,s){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=o,this.getActualType=a,this.upcast=i,this.downcast=s,this.pureVirtualFunctions=[]}var Qe=(e,r,t)=>{for(;r!==t;)r.upcast||ke(`Expected null or instance of ${t.name}, got an instance of ${r.name}`),e=r.upcast(e),r=r.baseClass;return e};function er(e,r){if(null===r)return this.isReference&&ke(`null is not a valid ${this.name}`),0;r.$$||ke(`Cannot pass "${Cr(r)}" as a ${this.name}`),r.$$.ptr||ke(`Cannot pass deleted object as a pointer of type ${this.name}`);var t=r.$$.ptrType.registeredClass;return Qe(r.$$.ptr,t,this.registeredClass)}function rr(e,r){var t;if(null===r)return this.isReference&&ke(`null is not a valid ${this.name}`),this.isSmartPointer?(t=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,t),t):0;r&&r.$$||ke(`Cannot pass "${Cr(r)}" as a ${this.name}`),r.$$.ptr||ke(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&r.$$.ptrType.isConst&&ke(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);var n=r.$$.ptrType.registeredClass;if(t=Qe(r.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===r.$$.smartPtr&&ke("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:ke(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var o=r.clone();t=this.rawShare(t,Tr.toHandle((()=>o.delete()))),null!==e&&e.push(this.rawDestructor,t)}break;default:ke("Unsupporting sharing policy")}return t}function tr(e,r){if(null===r)return this.isReference&&ke(`null is not a valid ${this.name}`),0;r.$$||ke(`Cannot pass "${Cr(r)}" as a ${this.name}`),r.$$.ptr||ke(`Cannot pass deleted object as a pointer of type ${this.name}`),r.$$.ptrType.isConst&&ke(`Cannot convert argument of type ${r.$$.ptrType.name} to parameter type ${this.name}`);var t=r.$$.ptrType.registeredClass;return Qe(r.$$.ptr,t,this.registeredClass)}function nr(e){return this.fromWireType(E[e>>2])}function or(e,r,t,n,o,a,i,s,l,d,u){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=n,this.isSmartPointer=o,this.pointeeType=a,this.sharingPolicy=i,this.rawGetPointee=s,this.rawConstructor=l,this.rawShare=d,this.rawDestructor=u,o||void 0!==r.baseClass?this.toWireType=rr:n?(this.toWireType=er,this.destructorFunction=null):(this.toWireType=tr,this.destructorFunction=null)}var ar,ir,sr=e=>ar.get(e),lr=function(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return e.includes("j")?((e,r,t)=>(_("dynCall_"+(e=e.replace(/p/g,"i"))in a,`bad function pointer type - dynCall function not found for sig '${e}'`),null!=t&&t.length?_(t.length===e.substring(1).replace(/j/g,"--").length):_(1==e.length),(0,a["dynCall_"+e])(r,...t)))(e,r,t):(_(sr(r),`missing table entry in dynCall: ${r}`),sr(r)(...t))},dr=(e,r)=>{var t,n,o=(e=Ce(e)).includes("j")?(n=r,_((t=e).includes("j")||t.includes("p"),"getDynCaller should only be called with i64 sigs"),function(){for(var e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];return lr(t,n,r)}):sr(r);return"function"!=typeof o&&ke(`unknown function pointer with signature ${e}: ${r}`),o},ur=e=>{var r=it(e),t=Ce(r);return ot(r),t},cr=(e,r)=>{var t=[],n={};throw r.forEach((function e(r){n[r]||Pe[r]||(Ae[r]?Ae[r].forEach(e):(t.push(r),n[r]=!0))})),new ir(`${e}: `+t.map(ur).join([", "]))},fr=(e,r)=>{for(var t=[],n=0;n<e;n++)t.push(E[r+4*n>>2]);return t},pr=e=>{for(;e.length;){var r=e.pop();e.pop()(r)}};function mr(e){for(var r=1;r<e.length;++r)if(null!==e[r]&&void 0===e[r].destructorFunction)return!0;return!1}function hr(e,r){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var t=Ke(e.name||"unknownFunctionName",(function(){}));t.prototype=e.prototype;var n=new t,o=e.apply(n,r);return o instanceof Object?o:n}function gr(e,r,t,n,o,a){var i=r.length;i<2&&ke("argTypes array size mismatch! Must at least get return value and 'this' types!"),_(!a,"Async bindings are only supported with JSPI.");for(var s=null!==r[1]&&null!==t,l=mr(r),d="void"!==r[0].name,u=[e,ke,n,o,pr,r[0],r[1]],c=0;c<i-2;++c)u.push(r[c+2]);if(!l)for(c=s?1:2;c<r.length;++c)null!==r[c].destructorFunction&&u.push(r[c].destructorFunction);let[f,p]=function(e,r,t,n){for(var o=mr(e),a=e.length,i="",s="",l=0;l<a-2;++l)i+=(0!==l?", ":"")+"arg"+l,s+=(0!==l?", ":"")+"arg"+l+"Wired";var d=`\n return function (${i}) {\n if (arguments.length !== ${a-2}) {\n throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ${a-2}');\n }`;o&&(d+="var destructors = [];\n");var u=o?"destructors":"null",c=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(r&&(d+="var thisWired = classParam['toWireType']("+u+", this);\n"),l=0;l<a-2;++l)d+="var arg"+l+"Wired = argType"+l+"['toWireType']("+u+", arg"+l+");\n",c.push("argType"+l);if(r&&(s="thisWired"+(s.length>0?", ":"")+s),d+=(t||n?"var rv = ":"")+"invoker(fn"+(s.length>0?", ":"")+s+");\n",o)d+="runDestructors(destructors);\n";else for(l=r?1:2;l<e.length;++l){var f=1===l?"thisWired":"arg"+(l-2)+"Wired";null!==e[l].destructorFunction&&(d+=`${f}_dtor(${f});\n`,c.push(`${f}_dtor`))}return t&&(d+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),d+="}\n",[c,d=`if (arguments.length !== ${c.length}){ throw new Error(humanName + "Expected ${c.length} closure arguments " + arguments.length + " given."); }\n${d}`]}(r,s,d,a);f.push(p);var m=hr(Function,f)(...u);return Ke(e,m)}var vr=(e,r,t)=>(e instanceof Object||ke(`${t} with invalid "this": ${e}`),e instanceof r.registeredClass.constructor||ke(`${t} incompatible with "this" of type ${e.constructor.name}`),e.$$.ptr||ke(`cannot call emscripten binding method ${t} on deleted object`),Qe(e.$$.ptr,e.$$.ptrType.registeredClass,r.registeredClass)),yr=[],Er=[],wr=e=>{e>9&&0==--Er[e+1]&&(_(void 0!==Er[e],"Decref for unallocated handle."),Er[e]=void 0,yr.push(e))},br=()=>Er.length/2-5-yr.length,Tr={toValue:e=>(e||ke("Cannot use deleted val. handle = "+e),_(2===e||void 0!==Er[e]&&e%2==0,`invalid handle: ${e}`),Er[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const r=yr.pop()||Er.length;return Er[r]=e,Er[r+1]=1,r}}}},_r={name:"emscripten::val",fromWireType:e=>{var r=Tr.toValue(e);return wr(e),r},toWireType:(e,r)=>Tr.toHandle(r),argPackAdvance:8,readValueFromPointer:nr,destructorFunction:null},Cr=e=>{if(null===e)return"null";var r=typeof e;return"object"===r||"array"===r||"function"===r?e.toString():""+e},Sr=(e,r)=>{switch(r){case 4:return function(e){return this.fromWireType(w[e>>2])};case 8:return function(e){return this.fromWireType(b[e>>3])};default:throw new TypeError(`invalid float width (${r}): ${e}`)}},Pr=(e,r,t)=>{switch(r){case 1:return t?e=>m[e]:e=>h[e];case 2:return t?e=>g[e>>1]:e=>v[e>>1];case 4:return t?e=>y[e>>2]:e=>E[e>>2];default:throw new TypeError(`invalid integer width (${r}): ${e}`)}},Ar=(e,r,t)=>(_("number"==typeof t,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),ue(e,h,r,t)),kr="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Fr=(e,r)=>{_(e%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var t=e,n=t>>1,o=n+r/2;!(n>=o)&&v[n];)++n;if((t=n<<1)-e>32&&kr)return kr.decode(h.subarray(e,t));for(var a="",i=0;!(i>=r/2);++i){var s=g[e+2*i>>1];if(0==s)break;a+=String.fromCharCode(s)}return a},Dr=(e,r,t)=>{if(_(r%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),_("number"==typeof t,"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),t??=2147483647,t<2)return 0;for(var n=r,o=(t-=2)<2*e.length?t/2:e.length,a=0;a<o;++a){var i=e.charCodeAt(a);g[r>>1]=i,r+=2}return g[r>>1]=0,r-n},Or=e=>2*e.length,Mr=(e,r)=>{_(e%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");for(var t=0,n="";!(t>=r/4);){var o=y[e+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},$r=(e,r,t)=>{if(_(r%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!"),_("number"==typeof t,"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),t??=2147483647,t<4)return 0;for(var n=r,o=n+t-4,a=0;a<e.length;++a){var i=e.charCodeAt(a);if(i>=55296&&i<=57343)i=65536+((1023&i)<<10)|1023&e.charCodeAt(++a);if(y[r>>2]=i,(r+=4)+4>o)break}return y[r>>2]=0,r-n},Nr=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n>=55296&&n<=57343&&++t,r+=4}return r},Ir=(e,r)=>{var t=Pe[e];return void 0===t&&ke(`${r} has unknown type ${ur(e)}`),t},Rr=(e,r,t)=>{var n=[],o=e.toWireType(n,t);return n.length&&(E[r>>2]=Tr.toHandle(n)),o},Lr={},Ur=[],xr=(e,r)=>(_(e==e>>>0||e==(0|e)),_(r===(0|r)),r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN),Br=[0,31,60,91,121,152,182,213,244,274,305,335],jr=[0,31,59,90,120,151,181,212,243,273,304,334],Wr=e=>{var r;return((r=e.getFullYear())%4==0&&(r%100!=0||r%400==0)?Br:jr)[e.getMonth()]+e.getDate()-1},zr=(e,r)=>(_(r===(0|r)),(e>>>0)+4294967296*r),Hr=(e,r)=>{if(e<=0)return e;var t=r<=32?Math.abs(1<<r-1):Math.pow(2,r-1);return e>=t&&(r<=32||e>t)&&(e=-2*t+e),e},Gr=(e,r)=>e>=0?e:r<=32?2*Math.abs(1<<r-1)+e:Math.pow(2,r)+e,Vr=e=>{for(var r=e;h[r];)++r;return r-e},Yr=(e,r)=>{_(!(3&r));var t=e,n=r;function o(e){var r;return n=function(e,r){return"double"===r||"i64"===r?7&e&&(_(4==(7&e)),e+=4):_(!(3&e)),e}(n,e),"double"===e?(r=b[n>>3],n+=8):"i64"==e?(r=[y[n>>2],y[n+4>>2]],n+=8):(_(!(3&n)),e="i32",r=y[n>>2],n+=4),r}for(var a,i,s,l,d,u,c=[];;){var f=t;if(0===(a=m[t]))break;if(i=m[t+1],37==a){var p=!1,g=!1,v=!1,E=!1,w=!1;e:for(;;){switch(i){case 43:p=!0;break;case 45:g=!0;break;case 35:v=!0;break;case 48:if(E)break e;E=!0;break;case 32:w=!0;break;default:break e}t++,i=m[t+1]}var T=0;if(42==i)T=o("i32"),t++,i=m[t+1];else for(;i>=48&&i<=57;)T=10*T+(i-48),t++,i=m[t+1];var C,S=!1,P=-1;if(46==i){if(P=0,S=!0,t++,42==(i=m[t+1]))P=o("i32"),t++;else for(;;){var A=m[t+1];if(A<48||A>57)break;P=10*P+(A-48),t++}i=m[t+1]}switch(P<0&&(P=6,S=!1),String.fromCharCode(i)){case"h":104==m[t+2]?(t++,C=1):C=2;break;case"l":108==m[t+2]?(t++,C=8):C=4;break;case"L":case"q":case"j":C=8;break;case"z":case"t":case"I":C=4;break;default:C=null}switch(C&&t++,i=m[t+1],String.fromCharCode(i)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":var k=100==i||105==i;if(s=o("i"+8*(C=C||4)),8==C&&(s=117==i?(d=s[0],u=s[1],(d>>>0)+4294967296*(u>>>0)):zr(s[0],s[1])),C<=4){var F=Math.pow(256,C)-1;s=(k?Hr:Gr)(s&F,8*C)}var D=Math.abs(s),O="";if(100==i||105==i)N=Hr(s,8*C).toString(10);else if(117==i)N=Gr(s,8*C).toString(10),s=Math.abs(s);else if(111==i)N=(v?"0":"")+D.toString(8);else if(120==i||88==i){if(O=v&&0!=s?"0x":"",s<0){s=-s,N=(D-1).toString(16);for(var M=[],$=0;$<N.length;$++)M.push((15-parseInt(N[$],16)).toString(16));for(N=M.join("");N.length<2*C;)N="f"+N}else N=D.toString(16);88==i&&(O=O.toUpperCase(),N=N.toUpperCase())}else 112==i&&(0===D?N="(nil)":(O="0x",N=D.toString(16)));if(S)for(;N.length<P;)N="0"+N;for(s>=0&&(p?O="+"+O:w&&(O=" "+O)),"-"==N.charAt(0)&&(O="-"+O,N=N.substr(1));O.length+N.length<T;)g?N+=" ":E?N="0"+N:O=" "+O;(N=O+N).split("").forEach((function(e){c.push(e.charCodeAt(0))}));break;case"f":case"F":case"e":case"E":case"g":case"G":var N;if(s=o("double"),isNaN(s))N="nan",E=!1;else if(isFinite(s)){var I=!1,R=Math.min(P,20);if(103==i||71==i){I=!0,P=P||1;var L=parseInt(s.toExponential(R).split("e")[1],10);P>L&&L>=-4?(i=(103==i?"f":"F").charCodeAt(0),P-=L+1):(i=(103==i?"e":"E").charCodeAt(0),P--),R=Math.min(P,20)}101==i||69==i?(N=s.toExponential(R),/[eE][-+]\d$/.test(N)&&(N=N.slice(0,-1)+"0"+N.slice(-1))):102!=i&&70!=i||(N=s.toFixed(R),0===s&&((l=s)<0||0===l&&1/l==-1/0)&&(N="-"+N));var U=N.split("e");if(I&&!v)for(;U[0].length>1&&U[0].includes(".")&&("0"==U[0].slice(-1)||"."==U[0].slice(-1));)U[0]=U[0].slice(0,-1);else for(v&&-1==N.indexOf(".")&&(U[0]+=".");P>R++;)U[0]+="0";N=U[0]+(U.length>1?"e"+U[1]:""),69==i&&(N=N.toUpperCase()),s>=0&&(p?N="+"+N:w&&(N=" "+N))}else N=(s<0?"-":"")+"inf",E=!1;for(;N.length<T;)g?N+=" ":N=!E||"-"!=N[0]&&"+"!=N[0]?(E?"0":" ")+N:N[0]+"0"+N.slice(1);i<97&&(N=N.toUpperCase()),N.split("").forEach((function(e){c.push(e.charCodeAt(0))}));break;case"s":var x=o("i8*"),B=x?Vr(x):6;if(S&&(B=Math.min(B,P)),!g)for(;B<T--;)c.push(32);if(x)for($=0;$<B;$++)c.push(h[x++]);else c=c.concat(ce("(null)".substr(0,B)));if(g)for(;B<T--;)c.push(32);break;case"c":for(g&&c.push(o("i8"));--T>0;)c.push(32);g||c.push(o("i8"));break;case"n":var j=o("i32*");y[j>>2]=c.length;break;case"%":c.push(a);break;default:for($=f;$<t+2;$++)c.push(m[$])}t+=2}else c.push(a),t+=1}return c};function Xr(e){var r=(new Error).stack.toString(),t=r.lastIndexOf("_emscripten_log"),n=r.lastIndexOf("_emscripten_get_callstack"),o=r.indexOf("\n",Math.max(t,n))+1;r=r.slice(o),8&e&&"undefined"==typeof emscripten_source_map&&(Q('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),e^=8,e|=16);var a=r.split("\n");r="";var i=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),s=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),l=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var d in a){var u=a[d],c="",f="",p=0,m=0,h=l.exec(u);if(h&&5==h.length)c=h[1],f=h[2],p=h[3],m=h[4];else{if((h=i.exec(u))||(h=s.exec(u)),!(h&&h.length>=4)){r+=u+"\n";continue}c=h[1],f=h[2],p=h[3],m=0|h[4]}var g=!1;if(8&e){var v,y=emscripten_source_map.originalPositionFor({line:p,column:m});(g=null===(v=y)||void 0===v?void 0:v.source)&&(64&e&&(y.source=y.source.substring(y.source.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=` at ${c} (${y.source}:${y.line}:${y.column})\n`)}(16&e||!g)&&(64&e&&(f=f.substring(f.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=(g?` = ${c}`:` at ${c}`)+` (${f}:${p}:${m})\n`)}return r=r.replace(/\s+$/,"")}var qr,Kr,Jr,Zr=e=>{var r=c.buffer,t=(e-r.byteLength+65535)/65536;try{return c.grow(t),C(),1}catch(t){p(`growMemory: Attempted to grow heap from ${r.byteLength} bytes to ${e} bytes, but got error: ${t}`)}},Qr={},et=()=>{if(!et.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:s||"./this.program"};for(var r in Qr)void 0===Qr[r]?delete e[r]:e[r]=Qr[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);et.strings=t}return et.strings};Te.createPreloadedFile=(e,r,t,n,a,i,s,l,d,u)=>{var c=r?se.resolve(ae.join2(e,r)):e,f=N(`cp ${c}`);function p(t){function o(t){null==u||u(),l||((e,r,t,n,o,a)=>{Te.createDataFile(e,r,t,n,o,a)})(e,r,t,n,a,d),null==i||i(),R(f)}((e,r,t,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return ye.forEach((a=>{o||a.canHandle(r)&&(a.handle(e,r,t,n),o=!0)})),o})(t,c,o,(()=>{null==s||s(),R(f)}))||o(t)}I(f),"string"==typeof t?((e,r,t,n)=>{var a=N(`al ${e}`);o(e,(t=>{_(t,`Loading data file "${e}" failed (no arrayBuffer).`),r(new Uint8Array(t)),a&&R(a)}),(r=>{if(!t)throw`Loading data file "${e}" failed.`;t()})),a&&I(a)})(t,p,s):p(t)},Te.staticInit(),(()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);fe=e})(),pe=a.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},me=a.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Object.assign(qe.prototype,{isAliasOf(e){if(!(this instanceof qe))return!1;if(!(e instanceof qe))return!1;var r=this.$$.ptrType.registeredClass,t=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,o=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return r===n&&t===o},clone(){if(this.$$.ptr||$e(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,r=Xe(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return r.$$.count.value+=1,r.$$.deleteScheduled=!1,r},delete(){this.$$.ptr||$e(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ke("Object already scheduled for deletion"),Ie(this),Re(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||$e(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ke("Object already scheduled for deletion"),je.push(this),1===je.length&&Me&&Me(We),this.$$.deleteScheduled=!0,this}}),a.getInheritedInstanceCount=xe,a.getLiveInheritedInstances=Be,a.flushPendingDeletes=We,a.setDelayFunction=ze,Object.assign(or.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var r;null===(r=this.rawDestructor)||void 0===r||r.call(this,e)},argPackAdvance:8,readValueFromPointer:nr,fromWireType:Ye}),ir=a.UnboundTypeError=(qr=Error,(Jr=Ke(Kr="UnboundTypeError",(function(e){this.name=Kr,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(qr.prototype),Jr.prototype.constructor=Jr,Jr.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},Jr),Er.push(0,1,void 0,1,null,1,!0,1,!1,1),_(10===Er.length),a.count_emval_handles=br;var rt,tt={__assert_fail:(e,r,t,n)=>{L(`Assertion failed: ${te(e)}, at: `+[r?te(r):"unknown filename",t,n?te(n):"unknown function"])},__syscall_fcntl64:function(e,r,t){_e.varargs=t;try{var n=_e.getStreamFromFD(e);switch(r){case 0:if((o=ne())<0)return-28;for(;Te.streams[o];)o++;return Te.dupStream(n,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=ne();return n.flags|=o,0;case 12:o=oe();return g[o+0>>1]=2,0}return-28}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_openat:function(e,r,t,n){_e.varargs=n;try{r=_e.getStr(r),r=_e.calculateAt(e,r);var o=n?ne():0;return Te.open(r,t,o).fd}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return-e.errno}},_abort_js:()=>{L("native code called abort()")},_embind_register_bigint:(e,r,t,n,o)=>{},_embind_register_bool:(e,r,t,n)=>{Oe(e,{name:r=Ce(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?t:n},argPackAdvance:8,readValueFromPointer:function(e){return this.fromWireType(h[e])},destructorFunction:null})},_embind_register_class:(e,r,t,n,o,i,s,l,d,u,c,f,p)=>{c=Ce(c),i=dr(o,i),l&&=dr(s,l),u&&=dr(d,u),p=dr(f,p);var m=(e=>{if(void 0===e)return"_unknown";var r=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return r>=48&&r<=57?`_${e}`:e})(c);((e,r,t)=>{a.hasOwnProperty(e)?(ke(`Cannot register public name '${e}' twice`),Je(a,e,e),a.hasOwnProperty(t)&&ke(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),a[e].overloadTable[t]=r):a[e]=r})(m,(function(){cr(`Cannot construct ${c} due to unbound types`,[n])})),De([e,r,t],n?[n]:[],(r=>{var t,o;r=r[0],o=n?(t=r.registeredClass).instancePrototype:qe.prototype;var s=Ke(c,(function(){if(Object.getPrototypeOf(this)!==d)throw new pe("Use 'new' to construct "+c);if(void 0===f.constructor_body)throw new pe(c+" has no accessible constructor");for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];var n=f.constructor_body[r.length];if(void 0===n)throw new pe(`Tried to invoke ctor of ${c} with invalid number of parameters (${r.length}) - expected (${Object.keys(f.constructor_body).toString()}) parameters instead!`);return n.apply(this,r)})),d=Object.create(o,{constructor:{value:s}});s.prototype=d;var f=new Ze(c,s,d,p,t,i,l,u);f.baseClass&&(f.baseClass.__derivedClasses??=[],f.baseClass.__derivedClasses.push(f));var h=new or(c,f,!0,!1,!1),g=new or(c+"*",f,!1,!1,!1),v=new or(c+" const*",f,!1,!0,!1);return Ue[e]={pointerType:g,constPointerType:v},((e,r,t)=>{a.hasOwnProperty(e)||Fe("Replacing nonexistent public symbol"),void 0!==a[e].overloadTable&&void 0!==t||(a[e]=r,a[e].argCount=t)})(m,s),[h,g,v]}))},_embind_register_class_constructor:(e,r,t,n,o,a)=>{_(r>0);var i=fr(r,t);o=dr(n,o),De([],[e],(e=>{var t=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[r-1])throw new pe(`Cannot register multiple constructors with identical number of parameters (${r-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[r-1]=()=>{cr(`Cannot construct ${e.name} due to unbound types`,i)},De([],i,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[r-1]=gr(t,n,null,o,a),[]))),[]}))},_embind_register_class_function:(e,r,t,n,o,a,i,s,l)=>{var d=fr(t,n);r=(e=>{const r=(e=e.trim()).indexOf("(");return-1!==r?(_(")"==e[e.length-1],"Parentheses for argument names should match."),e.substr(0,r)):e})(r=Ce(r)),a=dr(o,a),De([],[e],(e=>{var n=`${(e=e[0]).name}.${r}`;function o(){cr(`Cannot call ${n} due to unbound types`,d)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(r);var u=e.registeredClass.instancePrototype,c=u[r];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===t-2?(o.argCount=t-2,o.className=e.name,u[r]=o):(Je(u,r,n),u[r].overloadTable[t-2]=o),De([],d,(o=>{var s=gr(n,o,e,a,i,l);return void 0===u[r].overloadTable?(s.argCount=t-2,u[r]=s):u[r].overloadTable[t-2]=s,[]})),[]}))},_embind_register_class_property:(e,r,t,n,o,a,i,s,l,d)=>{r=Ce(r),o=dr(n,o),De([],[e],(e=>{var n=`${(e=e[0]).name}.${r}`,u={get(){cr(`Cannot access ${n} due to unbound types`,[t,i])},enumerable:!0,configurable:!0};return u.set=l?()=>cr(`Cannot access ${n} due to unbound types`,[t,i]):e=>ke(n+" is a read-only property"),Object.defineProperty(e.registeredClass.instancePrototype,r,u),De([],l?[t,i]:[t],(t=>{var i=t[0],u={get(){var r=vr(this,e,n+" getter");return i.fromWireType(o(a,r))},enumerable:!0};if(l){l=dr(s,l);var c=t[1];u.set=function(r){var t=vr(this,e,n+" setter"),o=[];l(d,t,c.toWireType(o,r)),pr(o)}}return Object.defineProperty(e.registeredClass.instancePrototype,r,u),[]})),[]}))},_embind_register_emval:e=>Oe(e,_r),_embind_register_float:(e,r,t)=>{Oe(e,{name:r=Ce(r),fromWireType:e=>e,toWireType:(e,r)=>{if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError(`Cannot convert ${Cr(r)} to ${this.name}`);return r},argPackAdvance:8,readValueFromPointer:Sr(r,t),destructorFunction:null})},_embind_register_integer:(e,r,t,n,o)=>{r=Ce(r),-1===o&&(o=4294967295);var a=e=>e;if(0===n){var i=32-8*t;a=e=>e<<i>>>i}var s=r.includes("unsigned"),l=(e,t)=>{if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError(`Cannot convert "${Cr(e)}" to ${t}`);if(e<n||e>o)throw new TypeError(`Passing a number "${Cr(e)}" from JS side to C/C++ side to an argument of type "${r}", which is outside the valid range [${n}, ${o}]!`)};Oe(e,{name:r,fromWireType:a,toWireType:s?function(e,r){return l(r,this.name),r>>>0}:function(e,r){return l(r,this.name),r},argPackAdvance:8,readValueFromPointer:Pr(r,t,0!==n),destructorFunction:null})},_embind_register_memory_view:(e,r,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][r];function o(e){var r=E[e>>2],t=E[e+4>>2];return new n(m.buffer,t,r)}Oe(e,{name:t=Ce(t),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},_embind_register_std_string:(e,r)=>{var t="std::string"===(r=Ce(r));Oe(e,{name:r,fromWireType(e){var r,n=E[e>>2],o=e+4;if(t)for(var a=o,i=0;i<=n;++i){var s=o+i;if(i==n||0==h[s]){var l=te(a,s-a);void 0===r?r=l:(r+=String.fromCharCode(0),r+=l),a=s+1}}else{var d=new Array(n);for(i=0;i<n;++i)d[i]=String.fromCharCode(h[o+i]);r=d.join("")}return ot(e),r},toWireType(e,r){var n;r instanceof ArrayBuffer&&(r=new Uint8Array(r));var o="string"==typeof r;o||r instanceof Uint8Array||r instanceof Uint8ClampedArray||r instanceof Int8Array||ke("Cannot pass non-string to std::string"),n=t&&o?de(r):r.length;var a=at(4+n+1),i=a+4;if(E[a>>2]=n,t&&o)Ar(r,i,n+1);else if(o)for(var s=0;s<n;++s){var l=r.charCodeAt(s);l>255&&(ot(i),ke("String has UTF-16 code units that do not fit in 8 bits")),h[i+s]=l}else for(s=0;s<n;++s)h[i+s]=r[s];return null!==e&&e.push(ot,a),a},argPackAdvance:8,readValueFromPointer:nr,destructorFunction(e){ot(e)}})},_embind_register_std_wstring:(e,r,t)=>{var n,o,a,i;t=Ce(t),2===r?(n=Fr,o=Dr,i=Or,a=e=>v[e>>1]):4===r&&(n=Mr,o=$r,i=Nr,a=e=>E[e>>2]),Oe(e,{name:t,fromWireType:e=>{for(var t,o=E[e>>2],i=e+4,s=0;s<=o;++s){var l=e+4+s*r;if(s==o||0==a(l)){var d=n(i,l-i);void 0===t?t=d:(t+=String.fromCharCode(0),t+=d),i=l+r}}return ot(e),t},toWireType:(e,n)=>{"string"!=typeof n&&ke(`Cannot pass non-string to C++ string type ${t}`);var a=i(n),s=at(4+a+r);return E[s>>2]=a/r,o(n,s+4,a+r),null!==e&&e.push(ot,s),s},argPackAdvance:8,readValueFromPointer:nr,destructorFunction(e){ot(e)}})},_embind_register_void:(e,r)=>{Oe(e,{isVoid:!0,name:r=Ce(r),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,r)=>{}})},_emval_as:(e,r,t)=>(e=Tr.toValue(e),r=Ir(r,"emval::as"),Rr(r,t,e)),_emval_call_method:(e,r,t,n,o)=>{var a,i;return(e=Ur[e])(r=Tr.toValue(r),r[t=void 0===(i=Lr[a=t])?Ce(a):i],n,o)},_emval_decref:wr,_emval_get_method_caller:(e,r,t)=>{var n=((e,r)=>{for(var t=new Array(e),n=0;n<e;++n)t[n]=Ir(E[r+4*n>>2],"parameter "+n);return t})(e,r),o=n.shift();e--;var a="return function (obj, func, destructorsRef, args) {\n",i=0,s=[];0===t&&s.push("obj");for(var l=["retType"],d=[o],u=0;u<e;++u)s.push("arg"+u),l.push("argType"+u),d.push(n[u]),a+=` var arg${u} = argType${u}.readValueFromPointer(args${i?"+"+i:""});\n`,i+=n[u].argPackAdvance;a+=` var rv = ${1===t?"new func":"func.call"}(${s.join(", ")});\n`,o.isVoid||(l.push("emval_returnValue"),d.push(Rr),a+=" return emval_returnValue(retType, destructorsRef, rv);\n"),a+="};\n",l.push(a);var c,f,p=hr(Function,l)(...d),m=`methodCaller<(${n.map((e=>e.name)).join(", ")}) => ${o.name}>`;return c=Ke(m,p),f=Ur.length,Ur.push(c),f},_emval_run_destructors:e=>{var r=Tr.toValue(e);pr(r),wr(e)},_emval_take_value:(e,r)=>{var t=(e=Ir(e,"_emval_take_value")).readValueFromPointer(r);return Tr.toHandle(t)},_gmtime_js:function(e,r,t){var n=xr(e,r),o=new Date(1e3*n);y[t>>2]=o.getUTCSeconds(),y[t+4>>2]=o.getUTCMinutes(),y[t+8>>2]=o.getUTCHours(),y[t+12>>2]=o.getUTCDate(),y[t+16>>2]=o.getUTCMonth(),y[t+20>>2]=o.getUTCFullYear()-1900,y[t+24>>2]=o.getUTCDay();var a=Date.UTC(o.getUTCFullYear(),0,1,0,0,0,0),i=(o.getTime()-a)/864e5|0;y[t+28>>2]=i},_localtime_js:function(e,r,t){var n=xr(e,r),o=new Date(1e3*n);y[t>>2]=o.getSeconds(),y[t+4>>2]=o.getMinutes(),y[t+8>>2]=o.getHours(),y[t+12>>2]=o.getDate(),y[t+16>>2]=o.getMonth(),y[t+20>>2]=o.getFullYear()-1900,y[t+24>>2]=o.getDay();var a=0|Wr(o);y[t+28>>2]=a,y[t+36>>2]=-60*o.getTimezoneOffset();var i=new Date(o.getFullYear(),0,1),s=new Date(o.getFullYear(),6,1).getTimezoneOffset(),l=i.getTimezoneOffset(),d=0|(s!=l&&o.getTimezoneOffset()==Math.min(l,s));y[t+32>>2]=d},_mktime_js:function(e){var r,t=(()=>{var r=new Date(y[e+20>>2]+1900,y[e+16>>2],y[e+12>>2],y[e+8>>2],y[e+4>>2],y[e>>2],0),t=y[e+32>>2],n=r.getTimezoneOffset(),o=new Date(r.getFullYear(),0,1),a=new Date(r.getFullYear(),6,1).getTimezoneOffset(),i=o.getTimezoneOffset(),s=Math.min(i,a);if(t<0)y[e+32>>2]=Number(a!=i&&s==n);else if(t>0!=(s==n)){var l=Math.max(i,a),d=t>0?s:l;r.setTime(r.getTime()+6e4*(d-n))}y[e+24>>2]=r.getDay();var u=0|Wr(r);y[e+28>>2]=u,y[e>>2]=r.getSeconds(),y[e+4>>2]=r.getMinutes(),y[e+8>>2]=r.getHours(),y[e+12>>2]=r.getDate(),y[e+16>>2]=r.getMonth(),y[e+20>>2]=r.getYear();var c=r.getTime();return isNaN(c)?-1:c/1e3})();return x=t,r=+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0,lt(r),t>>>0},_tzset_js:(e,r,t,n)=>{var o=(new Date).getFullYear(),a=new Date(o,0,1),i=new Date(o,6,1),s=a.getTimezoneOffset(),l=i.getTimezoneOffset(),d=Math.max(s,l);E[e>>2]=60*d,y[r>>2]=Number(s!=l);var u=e=>e.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1],c=u(a),f=u(i);_(c),_(f),_(de(c)<=16,`timezone name truncated to fit in TZNAME_MAX (${c})`),_(de(f)<=16,`timezone name truncated to fit in TZNAME_MAX (${f})`),l<s?(Ar(c,t,17),Ar(f,n,17)):(Ar(c,n,17),Ar(f,t,17))},emscripten_date_now:()=>Date.now(),emscripten_log:(e,r,t)=>{var n=Yr(r,t);((e,r)=>{24&e&&(r=r.replace(/\s+$/,""),r+=(r.length>0?"\n":"")+Xr(e)),1&e||(6&e?p(r):f(r))})(e,re(n,0))},emscripten_resize_heap:e=>{var r=h.length;_((e>>>=0)>r);var t=2147483648;if(e>t)return p(`Cannot enlarge memory, requested ${e} bytes, but the limit is 2147483648 bytes!`),!1;for(var n,o,a=1;a<=4;a*=2){var i=r*(1+.2/a);i=Math.min(i,e+100663296);var s=Math.min(t,(n=Math.max(e,i))+((o=65536)-n%o)%o);if(Zr(s))return!0}return p(`Failed to grow the heap from ${r} bytes to ${s} bytes, not enough memory!`),!1},environ_get:(e,r)=>{var t=0;return et().forEach(((n,o)=>{var a=r+t;E[e+4*o>>2]=a,((e,r)=>{for(var t=0;t<e.length;++t)_(e.charCodeAt(t)===(255&e.charCodeAt(t))),m[r++]=e.charCodeAt(t);m[r]=0})(n,a),t+=n.length+1})),0},environ_sizes_get:(e,r)=>{var t=et();E[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),E[r>>2]=n,0},fd_close:function(e){try{var r=_e.getStreamFromFD(e);return Te.close(r),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}},fd_fdstat_get:function(e,r){try{var t=_e.getStreamFromFD(e),n=t.tty?2:Te.isDir(t.mode)?3:Te.isLink(t.mode)?7:4;return m[r]=n,g[r+2>>1]=0,B=[0,(x=0,+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)],y[r+8>>2]=B[0],y[r+12>>2]=B[1],B=[0,(x=0,+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)],y[r+16>>2]=B[0],y[r+20>>2]=B[1],0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}},fd_read:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var i=E[r>>2],s=E[r+4>>2];r+=8;var l=Te.read(e,m,i,s,n);if(l<0)return-1;if(o+=l,l<s)break}return o})(_e.getStreamFromFD(e),r,t);return E[n>>2]=o,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}},fd_seek:function(e,r,t,n,o){var a=xr(r,t);try{if(isNaN(a))return 61;var i=_e.getStreamFromFD(e);return Te.llseek(i,a,n),B=[i.position>>>0,(x=i.position,+Math.abs(x)>=1?x>0?+Math.floor(x/4294967296)>>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)],y[o>>2]=B[0],y[o+4>>2]=B[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}},fd_write:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var i=E[r>>2],s=E[r+4>>2];r+=8;var l=Te.write(e,m,i,s,n);if(l<0)return-1;o+=l}return o})(_e.getStreamFromFD(e),r,t);return E[n>>2]=o,0}catch(e){if(void 0===Te||"ErrnoError"!==e.name)throw e;return e.errno}}},nt=function(){var e={env:tt,wasi_snapshot_preview1:tt};function r(e,r){var t;return nt=e.exports,_(c=nt.memory,"memory not found in wasm exports"),C(),_(ar=nt.__indirect_function_table,"table not found in wasm exports"),t=nt.__wasm_call_ctors,A.unshift(t),R("wasm-instantiate"),nt}I("wasm-instantiate");var t,n,o,i=a;if(a.instantiateWasm)try{return a.instantiateWasm(e,r)}catch(e){return p(`Module.instantiateWasm callback failed with error: ${e}`),!1}return U||(U=H()),t=U,n=e,o=function(e){_(a===i,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),i=null,r(e.instance)},u||"function"!=typeof WebAssembly.instantiateStreaming||j(t)||"function"!=typeof fetch?V(t,n,o):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,n).then(o,(function(e){return p(`wasm streaming compile failed: ${e}`),p("falling back to ArrayBuffer instantiation"),V(t,n,o)})))),{}}(),ot=z("free",1),at=z("malloc",1),it=z("__getTypeName",1),st=z("fflush",1),lt=z("_emscripten_tempret_set",1),dt=()=>(dt=nt.emscripten_stack_init)(),ut=()=>(ut=nt.emscripten_stack_get_end)();function ct(){var e;dt(),_(!(3&(e=ut()))),0==e&&(e+=4),E[e>>2]=34821223,E[e+4>>2]=2310721022,E[0]=1668509029}function ft(){function e(){rt||(rt=!0,a.calledRun=!0,T||(_(!F),F=!0,S(),a.noFSInit||Te.init.initialized||Te.init(),Te.ignorePermissions=!1,J(A),a.onRuntimeInitialized&&a.onRuntimeInitialized(),_(!a._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),function(){if(S(),a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)e=a.postRun.shift(),k.unshift(e);var e;J(k)}()))}D>0||(ct(),function(){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)e=a.preRun.shift(),P.unshift(e);var e;J(P)}(),D>0||(a.setStatus?(a.setStatus("Running..."),setTimeout((function(){setTimeout((function(){a.setStatus("")}),1),e()}),1)):e(),S()))}if(a.dynCall_ijiii=z("dynCall_ijiii",6),a.dynCall_viiijj=z("dynCall_viiijj",8),a.dynCall_jij=z("dynCall_jij",4),a.dynCall_jii=z("dynCall_jii",3),a.dynCall_jiji=z("dynCall_jiji",5),a._ff_h264_cabac_tables=119404,["writeI53ToI64","writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","readI53FromI64","readI53FromU64","stackAlloc","getTempRet0","exitJS","arraySum","addDays","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","readEmAsmArgs","jstoi_q","listenOnce","autoResumeAudioContext","setWasmTableEntry","handleException","keepRuntimeAlive","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","asmjsMangle","HandleAllocator","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","getCFunc","ccall","cwrap","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","intArrayToString","AsciiToString","stringToNewUTF8","stringToUTF8OnStack","writeArrayToMemory","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","convertPCtoSourceLocation","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","createDyncallWrapper","safeSetTimeout","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","getPromise","makePromise","idsToPromises","makePromiseCallback","ExceptionInfo","findMatchingCatch","Browser_asyncPrepareDataCounter","setMainLoop","getSocketFromFD","getSocketAddress","FS_unlink","FS_mkdirTree","_setNetworkCallback","heapObjectForWebGLType","toTypedArrayIndex","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","registerWebGlEventCallback","runAndAbortIfError","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","setErrNo","demangle","stackTrace","getFunctionArgsName","createJsInvokerSignature","registerInheritedInstance","unregisterInheritedInstance","enumReadValueFromPointer","emval_get_global"].forEach((function(e){"undefined"==typeof globalThis||Object.getOwnPropertyDescriptor(globalThis,e)||Object.defineProperty(globalThis,e,{configurable:!0,get(){var r=`\`${e}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`,t=e;t.startsWith("_")||(t="$"+e),r+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${t}')`,X(e)&&(r+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),Q(r)}}),K(e)})),["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","FS_createFolder","FS_createPath","FS_createLazyFile","FS_createLink","FS_createDevice","FS_readFile","out","err","callMain","abort","wasmMemory","wasmExports","writeStackCookie","checkStackCookie","convertI32PairToI53","convertI32PairToI53Checked","convertU32PairToI53","stackSave","stackRestore","setTempRet0","ptrToString","zeroMemory","getHeapMax","growMemory","ENV","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","isLeapYear","ydayFromDate","ERRNO_CODES","ERRNO_MESSAGES","DNS","Protocols","Sockets","initRandomFill","randomFill","timers","warnOnce","emscriptenLog","readEmAsmArgsArray","jstoi_s","getExecutableName","dynCallLegacy","getDynCaller","dynCall","getWasmTableEntry","asyncLoad","alignMemory","mmapAlloc","wasmTable","noExitRuntime","freeTableIndexes","functionsInTableMap","reallyNegative","unSign","strLen","reSign","formatString","setValue","getValue","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","intArrayFromString","stringToAscii","UTF16Decoder","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","JSEvents","specialHTMLTargets","findCanvasEventTarget","currentFullscreenStrategy","restoreOldWindowedStyle","jsStackTrace","getCallstack","UNWIND_CACHE","ExitStatus","getEnvStrings","doReadv","doWritev","promiseMap","uncaughtExceptionCount","exceptionLast","exceptionCaught","Browser","getPreloadedImageData__data","wget","SYSCALLS","preloadPlugins","FS_createPreloadedFile","FS_modeStringToFlags","FS_getMode","FS_stdin_getChar_buffer","FS_stdin_getChar","FS","FS_createDataFile","MEMFS","TTY","PIPEFS","SOCKFS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","GL","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","allocateUTF8","allocateUTF8OnStack","InternalError","BindingError","throwInternalError","throwBindingError","registeredTypes","awaitingDependencies","typeDependencies","tupleRegistrations","structRegistrations","sharedRegisterType","whenDependentTypesAreResolved","embind_charCodes","embind_init_charCodes","readLatin1String","getTypeName","getFunctionName","heap32VectorToArray","requireRegisteredType","usesDestructorStack","createJsInvoker","UnboundTypeError","PureVirtualError","GenericWireTypeSize","EmValType","init_embind","throwUnboundTypeError","ensureOverloadTable","exposePublicSymbol","replacePublicSymbol","extendError","createNamedFunction","embindRepr","registeredInstances","getBasestPointer","getInheritedInstance","getInheritedInstanceCount","getLiveInheritedInstances","registeredPointers","registerType","integerReadValueFromPointer","floatReadValueFromPointer","readPointer","runDestructors","newFunc","craftInvokerFunction","embind__requireFunction","genericPointerToWireType","constNoSmartPtrRawPointerToWireType","nonConstNoSmartPtrRawPointerToWireType","init_RegisteredPointer","RegisteredPointer","RegisteredPointer_fromWireType","runDestructor","releaseClassHandle","finalizationRegistry","detachFinalizer_deps","detachFinalizer","attachFinalizer","makeClassHandle","init_ClassHandle","ClassHandle","throwInstanceAlreadyDeleted","deletionQueue","flushPendingDeletes","delayFunction","setDelayFunction","RegisteredClass","shallowCopyInternalPointer","downcastPointer","upcastPointer","validateThis","char_0","char_9","makeLegalFunctionName","emval_freelist","emval_handles","emval_symbols","init_emval","count_emval_handles","getStringOrSymbol","Emval","emval_returnValue","emval_lookupTypes","emval_methodCallers","emval_addMethodCaller","reflectConstruct"].forEach(K),M=function e(){rt||ft(),rt||(M=e)},a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();return ft(),r=a}(),o=e(n);const a={videoBuffer:200,videoBufferDelay:1e3,debug:!1,openWebglAlignment:!1},i="initVideo",s="render",l="playAudio",d="initAudio",u="audioCode",c="videoCode",f=1,p=2,m="init",h="decode",g="audioDecode",v="videoDecode",y="close",E="updateConfig",w="key",b="delta";(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){}})(),Date.now||(Date.now=function(){return(new Date).getTime()}),o.postRun=function(){let e=[],r=[],t={};"VideoEncoder"in self&&(t={hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:new VideoDecoder({output:function(e){t.isEmitInfo||(n.opt.debug,postMessage({cmd:i,w:e.codedWidth,h:e.codedHeight}),t.isEmitInfo=!0,t.offscreenCanvas=new OffscreenCanvas(e.codedWidth,e.codedHeight),t.offscreenCanvasCtx=t.offscreenCanvas.getContext("2d")),t.offscreenCanvasCtx.drawImage(e,0,0,e.codedWidth,e.codedHeight);const r=t.offscreenCanvas.transferToImageBitmap();postMessage({cmd:s,buffer:r,delay:n.delay,ts:0},[r]),setTimeout((function(){e.close?e.close():e.destroy()}),100)},error:function(e){}}),decode:function(e,r){const o=e[0]>>4==1;if(t.hasInit){const n=new EncodedVideoChunk({data:e.slice(5),timestamp:r,type:o?w:b});t.decoder.decode(n)}else if(o&&0===e[1]){const r=15&e[0];n.setVideoCodec(r);const o=function(e){const r=e.subarray(1,4);let t="avc1.";for(let e=0;e<3;e++){let n=r[e].toString(16);n.length<2&&(n="0"+n),t+=n}return{codec:t,description:e}}(e.slice(5));t.decoder.configure(o),t.hasInit=!0}},reset(){t.hasInit=!1,t.isEmitInfo=!1,t.offscreenCanvas=null,t.offscreenCanvasCtx=null}});const n={opt:{debug:a.debug,useOffscreen:a.useOffscreen,useWCS:a.useWCS,videoBuffer:a.videoBuffer,openWebglAlignment:a.openWebglAlignment,videoBufferDelay:a.videoBufferDelay},useOffscreen:function(){return n.opt.useOffscreen&&"undefined"!=typeof OffscreenCanvas},initAudioPlanar:function(e,t){postMessage({cmd:d,sampleRate:t,channels:e});const n=[];let a=0;this.playAudioPlanar=function(t,i,s){let d=i;const u=[];let c=0;for(let e=0;e<2;e++){const r=o.HEAPU32[(t>>2)+e]>>2;u[e]=o.HEAPF32.subarray(r,r+d)}if(a){if(!(d>=(i=1024-a)))return a+=d,r[0]=Float32Array.of(...r[0],...u[0]),void(2===e&&(r[1]=Float32Array.of(...r[1],...u[1])));n[0]=Float32Array.of(...r[0],...u[0].subarray(0,i)),2===e&&(n[1]=Float32Array.of(...r[1],...u[1].subarray(0,i))),postMessage({cmd:l,buffer:n,ts:s},n.map((e=>e.buffer))),c=i,d-=i}for(a=d;a>=1024;a-=1024)n[0]=u[0].slice(c,c+=1024),2===e&&(n[1]=u[1].slice(c-1024,c)),postMessage({cmd:l,buffer:n,ts:s},n.map((e=>e.buffer)));a&&(r[0]=u[0].slice(c),2===e&&(r[1]=u[1].slice(c)))}},setVideoCodec:function(e){postMessage({cmd:c,code:e})},setAudioCodec:function(e){postMessage({cmd:u,code:e})},setVideoSize:function(e,r){postMessage({cmd:i,w:e,h:r});const t=e*r,a=t>>2;n.useOffscreen()?(this.offscreenCanvas=new OffscreenCanvas(e,r),this.offscreenCanvasGL=this.offscreenCanvas.getContext("webgl"),this.webglObj=((e,r)=>{var t=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n"),n=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");r&&e.pixelStorei(e.UNPACK_ALIGNMENT,1);var o=e.createShader(e.VERTEX_SHADER);e.shaderSource(o,t),e.compileShader(o),e.getShaderParameter(o,e.COMPILE_STATUS);var a=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(a,n),e.compileShader(a),e.getShaderParameter(a,e.COMPILE_STATUS);var i=e.createProgram();e.attachShader(i,o),e.attachShader(i,a),e.linkProgram(i),e.getProgramParameter(i,e.LINK_STATUS),e.useProgram(i);var s=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),e.STATIC_DRAW);var l=e.getAttribLocation(i,"vertexPos");e.enableVertexAttribArray(l),e.vertexAttribPointer(l,2,e.FLOAT,!1,0,0);var d=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,d),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var u=e.getAttribLocation(i,"texturePos");function c(r,t){var n=e.createTexture();return e.bindTexture(e.TEXTURE_2D,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),e.uniform1i(e.getUniformLocation(i,r),t),n}e.enableVertexAttribArray(u),e.vertexAttribPointer(u,2,e.FLOAT,!1,0,0);var f=c("ySampler",0),p=c("uSampler",1),m=c("vSampler",2);return{render:function(r,t,n,o,a){e.viewport(0,0,r,t),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,f),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,r,t,0,e.LUMINANCE,e.UNSIGNED_BYTE,n),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,p),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,r/2,t/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,o),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,m),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,r/2,t/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,a),e.drawArrays(e.TRIANGLE_STRIP,0,4)},destroy:function(){try{e.deleteProgram(i),e.deleteBuffer(s),e.deleteBuffer(d),e.deleteTexture(f),e.deleteTexture(p),e.deleteTexture(m)}catch(e){}}}})(this.offscreenCanvasGL,n.opt.openWebglAlignment),this.draw=function(n,i,l,d){const u=o.HEAPU8.subarray(i,i+t),c=o.HEAPU8.subarray(l,l+a),f=o.HEAPU8.subarray(d,d+a);this.webglObj.render(e,r,u,c,f);const p=this.offscreenCanvas.transferToImageBitmap();postMessage({cmd:s,buffer:p,delay:this.delay,ts:n},[p])}):this.draw=function(e,r,n,i,l,d){const u=[Uint8Array.from(o.HEAPU8.subarray(r,r+t)),Uint8Array.from(o.HEAPU8.subarray(n,n+a)),Uint8Array.from(o.HEAPU8.subarray(i,i+a))];postMessage({cmd:s,output:u,delay:this.delay,ts:e,w:l,h:d},u.map((e=>e.buffer)))}},getDelay:function(e){if(!e)return-1;if(this.firstTimestamp){if(e){const r=Date.now()-this.startTimestamp,t=e-this.firstTimestamp;this.delay=r>=t?r-t:t-r}}else this.firstTimestamp=e,this.startTimestamp=Date.now(),this.delay=-1;return this.delay},resetDelay:function(){this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1},init:function(){n.opt.debug;const r=e=>{n.opt.useWCS&&n.useOffscreen()&&e.type===p&&t.decode?t.decode(e.payload,e.ts):e.decoder.decode(e.payload,e.ts)};this.stopId=setInterval((()=>{if(e.length)if(this.dropping){let t=e.shift();for(t&&t.type===f&&0===t.payload[1]&&r(t);!t.isIFrame&&e.length;)t=e.shift(),t.type===f&&0===t.payload[1]&&r(t);t.isIFrame&&(this.dropping=!1,r(t))}else{let t=e[0];if(-1===this.getDelay(t.ts))e.shift(),r(t);else if(this.delay>n.opt.videoBuffer+n.opt.videoBufferDelay)this.resetDelay(),this.dropping=!0;else for(;e.length&&(t=e[0],this.getDelay(t.ts)>n.opt.videoBuffer);)e.shift(),r(t)}}),10)},close:function(){var o,a,i,s;n.opt.debug,clearInterval(this.stopId),this.stopId=null,null==T||null===(o=T.clear)||void 0===o||o.call(T),null==_||null===(a=_.clear)||void 0===a||a.call(_),null===(i=t)||void 0===i||null===(s=i.reset)||void 0===s||s.call(i),this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1,this.dropping=!1,this.webglObj&&(this.webglObj.destroy(),this.offscreenCanvas=null,this.offscreenCanvasGL=null,this.offscreenCanvasCtx=null),e=[],r=[],delete this.playAudioPlanar,delete this.draw},pushBuffer:function(r,t){t.type===f?e.push({ts:t.ts,payload:r,decoder:T,type:f}):t.type===p&&e.push({ts:t.ts,payload:r,decoder:_,type:p,isIFrame:t.isIFrame})}},T=new o.AudioDecoder(n),_=new o.VideoDecoder(n);self.onmessage=function(e){const r=e.data;switch(r.cmd){case m:try{n.opt=Object.assign(n.opt,JSON.parse(r.opt))}catch(e){}T.sample_rate=r.sampleRate,n.init();break;case h:n.pushBuffer(r.buffer,r.options);break;case g:T.decode(r.buffer,r.ts);break;case v:_.decode(r.buffer,r.ts);break;case y:n.close();break;case E:n.opt[r.key]=r.value}}},o.onRuntimeInitialized=function(){setTimeout((()=>{postMessage({cmd:m})}),10)}}));
|