UNPKG

@qs-coder/libheif-js

Version:

Emscripten distribution of libheif for Node.JS and the browser

2 lines 1.46 MB
var libheif=(()=>{var Le=Object.create;var wA=Object.defineProperty;var ye=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var Je=Object.getPrototypeOf,be=Object.prototype.hasOwnProperty;var De=(f=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(f,{get:(N,y)=>(typeof require!="undefined"?require:N)[y]}):f)(function(f){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+f+'" is not supported')});var Ej=(f,N)=>()=>(N||f((N={exports:{}}).exports,N),N.exports),we=(f,N)=>{for(var y in N)wA(f,y,{get:N[y],enumerable:!0})},A6=(f,N,y,K)=>{if(N&&typeof N=="object"||typeof N=="function")for(let r of Oe(N))!be.call(f,r)&&r!==y&&wA(f,r,{get:()=>N[r],enumerable:!(K=ye(N,r))||K.enumerable});return f};var Ce=(f,N,y)=>(y=f!=null?Le(Je(f)):{},A6(N||!f||!f.__esModule?wA(y,"default",{value:f,enumerable:!0}):y,f)),Se=f=>A6(wA({},"__esModule",{value:!0}),f);var j6=(()=>{for(var f=new Uint8Array(128),N=0;N<64;N++)f[N<26?N+65:N<52?N+71:N<62?N-4:N*4-205]=N;return y=>{for(var K=y.length,r=new Uint8Array((K-(y[K-1]=="=")-(y[K-2]=="="))*3/4|0),z=0,AA=0;z<K;){var sj=f[y.charCodeAt(z++)],qA=f[y.charCodeAt(z++)],jA=f[y.charCodeAt(z++)],_A=f[y.charCodeAt(z++)];r[AA++]=sj<<2|qA>>4,r[AA++]=qA<<4|jA>>2,r[AA++]=jA<<6|_A}return r}})();var e6=Ej((Ia,t6)=>{t6.exports={}});var k6=Ej((ga,r6)=>{r6.exports={}});var a6=Ej((B6,nj)=>{var l6=(()=>{var f,N=typeof document!="undefined"?(f=document.currentScript)==null?void 0:f.src:void 0;return typeof __filename!="undefined"&&(N||(N=__filename)),function(y={}){var K,r=y,z,AA,sj=new Promise((A,j)=>{z=A,AA=j}),qA=typeof window=="object",jA=typeof importScripts=="function",_A=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",Gj=Object.assign({},r),dj=[],CA="./this.program",$j=(A,j)=>{throw j},M="";function i6(A){return r.locateFile?r.locateFile(A,M):M+A}var oA,SA,hA;if(_A){var PA=e6(),uj=k6();M=__dirname+"/",oA=(A,j)=>(A=RA(A)?new URL(A):uj.normalize(A),PA.readFileSync(A,j?void 0:"utf8")),hA=A=>{var j=oA(A,!0);return j.buffer||(j=new Uint8Array(j)),j},SA=(A,j,t,e=!0)=>{A=RA(A)?new URL(A):uj.normalize(A),PA.readFile(A,e?void 0:"utf8",(k,a)=>{k?t(k):j(e?a.buffer:a)})},!r.thisProgram&&process.argv.length>1&&(CA=process.argv[1].replace(/\\/g,"/")),dj=process.argv.slice(2),$j=(A,j)=>{throw process.exitCode=A,j}}else(qA||jA)&&(jA?M=self.location.href:typeof document!="undefined"&&document.currentScript&&(M=document.currentScript.src),N&&(M=N),M.startsWith("blob:")?M="":M=M.substr(0,M.replace(/[?#].*/,"").lastIndexOf("/")+1),oA=A=>{var j=new XMLHttpRequest;return j.open("GET",A,!1),j.send(null),j.responseText},jA&&(hA=A=>{var j=new XMLHttpRequest;return j.open("GET",A,!1),j.responseType="arraybuffer",j.send(null),new Uint8Array(j.response)}),SA=(A,j,t)=>{if(RA(A)){var e=new XMLHttpRequest;e.open("GET",A,!0),e.responseType="arraybuffer",e.onload=()=>{if(e.status==200||e.status==0&&e.response){j(e.response);return}t()},e.onerror=t,e.send(null);return}fetch(A,{credentials:"same-origin"}).then(k=>k.ok?k.arrayBuffer():Promise.reject(new Error(k.status+" : "+k.url))).then(j,t)});var MA=r.print||console.log.bind(console),iA=r.printErr||console.error.bind(console);Object.assign(r,Gj),Gj=null,r.arguments&&(dj=r.arguments),r.thisProgram&&(CA=r.thisProgram),r.quit&&($j=r.quit);var KA;r.wasmBinary&&(KA=r.wasmBinary);var mA,pj=!1,E6,O,b,R,EA,H,m,Hj,cj;function qj(){var A=mA.buffer;r.HEAP8=O=new Int8Array(A),r.HEAP16=R=new Int16Array(A),r.HEAPU8=b=new Uint8Array(A),r.HEAPU16=EA=new Uint16Array(A),r.HEAP32=H=new Int32Array(A),r.HEAPU32=m=new Uint32Array(A),r.HEAPF32=Hj=new Float32Array(A),r.HEAPF64=cj=new Float64Array(A)}var hj=[],mj=[],Nj=[],n6=!1;function s6(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)$6(r.preRun.shift());UA(hj)}function G6(){n6=!0,!r.noFSInit&&!l.init.initialized&&l.init(),l.ignorePermissions=!1,W.init(),UA(mj)}function d6(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)p6(r.postRun.shift());UA(Nj)}function $6(A){hj.unshift(A)}function u6(A){mj.unshift(A)}function p6(A){Nj.unshift(A)}var tA=0,TA=null,nA=null;function Te(A){return A}function XA(A){var j;tA++,(j=r.monitorRunDependencies)==null||j.call(r,tA)}function NA(A){var j;if(tA--,(j=r.monitorRunDependencies)==null||j.call(r,tA),tA==0&&(TA!==null&&(clearInterval(TA),TA=null),nA)){var t=nA;nA=null,t()}}function sA(A){var j;(j=r.onAbort)==null||j.call(r,A),A="Aborted("+A+")",iA(A),pj=!0,E6=1,A+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(A);throw AA(t),t}var H6="data:application/octet-stream;base64,",c6=A=>A.startsWith(H6),RA=A=>A.startsWith("file://");function q6(){var A="libheif.wasm";return c6(A)?A:i6(A)}var fA;function h6(A){if(A==fA&&KA)return new Uint8Array(KA);if(hA)return hA(A);throw'sync fetching of the wasm failed: you can preload it to Module["wasmBinary"] manually, or emcc.py will do that for you when generating HTML (but not JS)'}function m6(A,j){var t,e=h6(A);t=new WebAssembly.Module(e);var k=new WebAssembly.Instance(t,j);return[k,t]}function N6(){return{a:ve}}function f6(){var A=N6();function j(e,k){return B=e.exports,mA=B.Q,qj(),Dj=B.T,u6(B.R),NA("wasm-instantiate"),B}if(XA("wasm-instantiate"),r.instantiateWasm)try{return r.instantiateWasm(A,j)}catch(e){iA(`Module.instantiateWasm callback failed with error: ${e}`),AA(e)}fA||(fA=q6());var t=m6(fA,A);return j(t[0])}var q,J,UA=A=>{for(;A.length>0;)A.shift()(r)},Xe=r.noExitRuntime||!0,fj=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0,kA=(A,j,t)=>{for(var e=j+t,k=j;A[k]&&!(k>=e);)++k;if(k-j>16&&A.buffer&&fj)return fj.decode(A.subarray(j,k));for(var a="";j<k;){var _=A[j++];if(!(_&128)){a+=String.fromCharCode(_);continue}var o=A[j++]&63;if((_&224)==192){a+=String.fromCharCode((_&31)<<6|o);continue}var i=A[j++]&63;if((_&240)==224?_=(_&15)<<12|o<<6|i:_=(_&7)<<18|o<<12|i<<6|A[j++]&63,_<65536)a+=String.fromCharCode(_);else{var E=_-65536;a+=String.fromCharCode(55296|E>>10,56320|E&1023)}}return a},eA=(A,j)=>A?kA(b,A,j):"",v6=(A,j,t,e)=>{sA(`Assertion failed: ${eA(A)}, at: `+[j?eA(j):"unknown filename",t,e?eA(e):"unknown function"])};class F6{constructor(j){this.excPtr=j,this.ptr=j-24}set_type(j){m[this.ptr+4>>2]=j}get_type(){return m[this.ptr+4>>2]}set_destructor(j){m[this.ptr+8>>2]=j}get_destructor(){return m[this.ptr+8>>2]}set_caught(j){j=j?1:0,O[this.ptr+12]=j}get_caught(){return O[this.ptr+12]!=0}set_rethrown(j){j=j?1:0,O[this.ptr+13]=j}get_rethrown(){return O[this.ptr+13]!=0}init(j,t){this.set_adjusted_ptr(0),this.set_type(j),this.set_destructor(t)}set_adjusted_ptr(j){m[this.ptr+16>>2]=j}get_adjusted_ptr(){return m[this.ptr+16>>2]}get_exception_ptr(){var j=Ie(this.get_type());if(j)return m[this.excPtr>>2];var t=this.get_adjusted_ptr();return t!==0?t:this.excPtr}}var vj=0,I6=0,g6=(A,j,t)=>{var e=new F6(A);throw e.init(j,t),vj=A,I6++,vj};function vA(){var A=H[+D.varargs>>2];return D.varargs+=4,A}var lA=vA,F={isAbs:A=>A.charAt(0)==="/",splitPath:A=>{var j=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return j.exec(A).slice(1)},normalizeArray:(A,j)=>{for(var t=0,e=A.length-1;e>=0;e--){var k=A[e];k==="."?A.splice(e,1):k===".."?(A.splice(e,1),t++):t&&(A.splice(e,1),t--)}if(j)for(;t;t--)A.unshift("..");return A},normalize:A=>{var j=F.isAbs(A),t=A.substr(-1)==="/";return A=F.normalizeArray(A.split("/").filter(e=>!!e),!j).join("/"),!A&&!j&&(A="."),A&&t&&(A+="/"),(j?"/":"")+A},dirname:A=>{var j=F.splitPath(A),t=j[0],e=j[1];return!t&&!e?".":(e&&(e=e.substr(0,e.length-1)),t+e)},basename:A=>{if(A==="/")return"/";A=F.normalize(A),A=A.replace(/\/$/,"");var j=A.lastIndexOf("/");return j===-1?A:A.substr(j+1)},join:(...A)=>F.normalize(A.join("/")),join2:(A,j)=>F.normalize(A+"/"+j)},x6=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return e=>crypto.getRandomValues(e);if(_A)try{var A=De("crypto"),j=A.randomFillSync;if(j)return e=>A.randomFillSync(e);var t=A.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch{}sA("initRandomDevice")},Fj=A=>(Fj=x6())(A),U={resolve:(...A)=>{for(var j="",t=!1,e=A.length-1;e>=-1&&!t;e--){var k=e>=0?A[e]:l.cwd();if(typeof k!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!k)return"";j=k+"/"+j,t=F.isAbs(k)}return j=F.normalizeArray(j.split("/").filter(a=>!!a),!t).join("/"),(t?"/":"")+j||"."},relative:(A,j)=>{A=U.resolve(A).substr(1),j=U.resolve(j).substr(1);function t(E){for(var s=0;s<E.length&&E[s]==="";s++);for(var G=E.length-1;G>=0&&E[G]==="";G--);return s>G?[]:E.slice(s,G-s+1)}for(var e=t(A.split("/")),k=t(j.split("/")),a=Math.min(e.length,k.length),_=a,o=0;o<a;o++)if(e[o]!==k[o]){_=o;break}for(var i=[],o=_;o<e.length;o++)i.push("..");return i=i.concat(k.slice(_)),i.join("/")}},VA=[],YA=A=>{for(var j=0,t=0;t<A.length;++t){var e=A.charCodeAt(t);e<=127?j++:e<=2047?j+=2:e>=55296&&e<=57343?(j+=4,++t):j+=3}return j},zA=(A,j,t,e)=>{if(!(e>0))return 0;for(var k=t,a=t+e-1,_=0;_<A.length;++_){var o=A.charCodeAt(_);if(o>=55296&&o<=57343){var i=A.charCodeAt(++_);o=65536+((o&1023)<<10)|i&1023}if(o<=127){if(t>=a)break;j[t++]=o}else if(o<=2047){if(t+1>=a)break;j[t++]=192|o>>6,j[t++]=128|o&63}else if(o<=65535){if(t+2>=a)break;j[t++]=224|o>>12,j[t++]=128|o>>6&63,j[t++]=128|o&63}else{if(t+3>=a)break;j[t++]=240|o>>18,j[t++]=128|o>>12&63,j[t++]=128|o>>6&63,j[t++]=128|o&63}}return j[t]=0,t-k};function FA(A,j,t){var e=t>0?t:YA(A)+1,k=new Array(e),a=zA(A,k,0,k.length);return j&&(k.length=a),k}var L6=()=>{if(!VA.length){var A=null;if(_A){var j=256,t=Buffer.alloc(j),e=0,k=process.stdin.fd;try{e=PA.readSync(k,t,0,j)}catch(a){if(a.toString().includes("EOF"))e=0;else throw a}e>0&&(A=t.slice(0,e).toString("utf-8"))}else typeof window!="undefined"&&typeof window.prompt=="function"&&(A=window.prompt("Input: "),A!==null&&(A+=` `));if(!A)return null;VA=FA(A,!0)}return VA.shift()},W={ttys:[],init(){},shutdown(){},register(A,j){W.ttys[A]={input:[],output:[],ops:j},l.registerDevice(A,W.stream_ops)},stream_ops:{open(A){var j=W.ttys[A.node.rdev];if(!j)throw new l.ErrnoError(43);A.tty=j,A.seekable=!1},close(A){A.tty.ops.fsync(A.tty)},fsync(A){A.tty.ops.fsync(A.tty)},read(A,j,t,e,k){if(!A.tty||!A.tty.ops.get_char)throw new l.ErrnoError(60);for(var a=0,_=0;_<e;_++){var o;try{o=A.tty.ops.get_char(A.tty)}catch{throw new l.ErrnoError(29)}if(o===void 0&&a===0)throw new l.ErrnoError(6);if(o==null)break;a++,j[t+_]=o}return a&&(A.node.timestamp=Date.now()),a},write(A,j,t,e,k){if(!A.tty||!A.tty.ops.put_char)throw new l.ErrnoError(60);try{for(var a=0;a<e;a++)A.tty.ops.put_char(A.tty,j[t+a])}catch{throw new l.ErrnoError(29)}return e&&(A.node.timestamp=Date.now()),a}},default_tty_ops:{get_char(A){return L6()},put_char(A,j){j===null||j===10?(MA(kA(A.output,0)),A.output=[]):j!=0&&A.output.push(j)},fsync(A){A.output&&A.output.length>0&&(MA(kA(A.output,0)),A.output=[])},ioctl_tcgets(A){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(A,j,t){return 0},ioctl_tiocgwinsz(A){return[24,80]}},default_tty1_ops:{put_char(A,j){j===null||j===10?(iA(kA(A.output,0)),A.output=[]):j!=0&&A.output.push(j)},fsync(A){A.output&&A.output.length>0&&(iA(kA(A.output,0)),A.output=[])}}},Ij=A=>{sA()},c={ops_table:null,mount(A){return c.createNode(null,"/",16895,0)},createNode(A,j,t,e){if(l.isBlkdev(t)||l.isFIFO(t))throw new l.ErrnoError(63);c.ops_table||(c.ops_table={dir:{node:{getattr:c.node_ops.getattr,setattr:c.node_ops.setattr,lookup:c.node_ops.lookup,mknod:c.node_ops.mknod,rename:c.node_ops.rename,unlink:c.node_ops.unlink,rmdir:c.node_ops.rmdir,readdir:c.node_ops.readdir,symlink:c.node_ops.symlink},stream:{llseek:c.stream_ops.llseek}},file:{node:{getattr:c.node_ops.getattr,setattr:c.node_ops.setattr},stream:{llseek:c.stream_ops.llseek,read:c.stream_ops.read,write:c.stream_ops.write,allocate:c.stream_ops.allocate,mmap:c.stream_ops.mmap,msync:c.stream_ops.msync}},link:{node:{getattr:c.node_ops.getattr,setattr:c.node_ops.setattr,readlink:c.node_ops.readlink},stream:{}},chrdev:{node:{getattr:c.node_ops.getattr,setattr:c.node_ops.setattr},stream:l.chrdev_stream_ops}});var k=l.createNode(A,j,t,e);return l.isDir(k.mode)?(k.node_ops=c.ops_table.dir.node,k.stream_ops=c.ops_table.dir.stream,k.contents={}):l.isFile(k.mode)?(k.node_ops=c.ops_table.file.node,k.stream_ops=c.ops_table.file.stream,k.usedBytes=0,k.contents=null):l.isLink(k.mode)?(k.node_ops=c.ops_table.link.node,k.stream_ops=c.ops_table.link.stream):l.isChrdev(k.mode)&&(k.node_ops=c.ops_table.chrdev.node,k.stream_ops=c.ops_table.chrdev.stream),k.timestamp=Date.now(),A&&(A.contents[j]=k,A.timestamp=k.timestamp),k},getFileDataAsTypedArray(A){return A.contents?A.contents.subarray?A.contents.subarray(0,A.usedBytes):new Uint8Array(A.contents):new Uint8Array(0)},expandFileStorage(A,j){var t=A.contents?A.contents.length:0;if(!(t>=j)){var e=1048576;j=Math.max(j,t*(t<e?2:1.125)>>>0),t!=0&&(j=Math.max(j,256));var k=A.contents;A.contents=new Uint8Array(j),A.usedBytes>0&&A.contents.set(k.subarray(0,A.usedBytes),0)}},resizeFileStorage(A,j){if(A.usedBytes!=j)if(j==0)A.contents=null,A.usedBytes=0;else{var t=A.contents;A.contents=new Uint8Array(j),t&&A.contents.set(t.subarray(0,Math.min(j,A.usedBytes))),A.usedBytes=j}},node_ops:{getattr(A){var j={};return j.dev=l.isChrdev(A.mode)?A.id:1,j.ino=A.id,j.mode=A.mode,j.nlink=1,j.uid=0,j.gid=0,j.rdev=A.rdev,l.isDir(A.mode)?j.size=4096:l.isFile(A.mode)?j.size=A.usedBytes:l.isLink(A.mode)?j.size=A.link.length:j.size=0,j.atime=new Date(A.timestamp),j.mtime=new Date(A.timestamp),j.ctime=new Date(A.timestamp),j.blksize=4096,j.blocks=Math.ceil(j.size/j.blksize),j},setattr(A,j){j.mode!==void 0&&(A.mode=j.mode),j.timestamp!==void 0&&(A.timestamp=j.timestamp),j.size!==void 0&&c.resizeFileStorage(A,j.size)},lookup(A,j){throw l.genericErrors[44]},mknod(A,j,t,e){return c.createNode(A,j,t,e)},rename(A,j,t){if(l.isDir(A.mode)){var e;try{e=l.lookupNode(j,t)}catch{}if(e)for(var k in e.contents)throw new l.ErrnoError(55)}delete A.parent.contents[A.name],A.parent.timestamp=Date.now(),A.name=t,j.contents[t]=A,j.timestamp=A.parent.timestamp},unlink(A,j){delete A.contents[j],A.timestamp=Date.now()},rmdir(A,j){var t=l.lookupNode(A,j);for(var e in t.contents)throw new l.ErrnoError(55);delete A.contents[j],A.timestamp=Date.now()},readdir(A){var j=[".",".."];for(var t of Object.keys(A.contents))j.push(t);return j},symlink(A,j,t){var e=c.createNode(A,j,41471,0);return e.link=t,e},readlink(A){if(!l.isLink(A.mode))throw new l.ErrnoError(28);return A.link}},stream_ops:{read(A,j,t,e,k){var a=A.node.contents;if(k>=A.node.usedBytes)return 0;var _=Math.min(A.node.usedBytes-k,e);if(_>8&&a.subarray)j.set(a.subarray(k,k+_),t);else for(var o=0;o<_;o++)j[t+o]=a[k+o];return _},write(A,j,t,e,k,a){if(j.buffer===O.buffer&&(a=!1),!e)return 0;var _=A.node;if(_.timestamp=Date.now(),j.subarray&&(!_.contents||_.contents.subarray)){if(a)return _.contents=j.subarray(t,t+e),_.usedBytes=e,e;if(_.usedBytes===0&&k===0)return _.contents=j.slice(t,t+e),_.usedBytes=e,e;if(k+e<=_.usedBytes)return _.contents.set(j.subarray(t,t+e),k),e}if(c.expandFileStorage(_,k+e),_.contents.subarray&&j.subarray)_.contents.set(j.subarray(t,t+e),k);else for(var o=0;o<e;o++)_.contents[k+o]=j[t+o];return _.usedBytes=Math.max(_.usedBytes,k+e),e},llseek(A,j,t){var e=j;if(t===1?e+=A.position:t===2&&l.isFile(A.node.mode)&&(e+=A.node.usedBytes),e<0)throw new l.ErrnoError(28);return e},allocate(A,j,t){c.expandFileStorage(A.node,j+t),A.node.usedBytes=Math.max(A.node.usedBytes,j+t)},mmap(A,j,t,e,k){if(!l.isFile(A.node.mode))throw new l.ErrnoError(43);var a,_,o=A.node.contents;if(!(k&2)&&o.buffer===O.buffer)_=!1,a=o.byteOffset;else{if((t>0||t+j<o.length)&&(o.subarray?o=o.subarray(t,t+j):o=Array.prototype.slice.call(o,t,t+j)),_=!0,a=Ij(j),!a)throw new l.ErrnoError(48);O.set(o,a)}return{ptr:a,allocated:_}},msync(A,j,t,e,k){return c.stream_ops.write(A,j,0,e,t,!1),0}}},y6=(A,j,t,e)=>{var k=e?"":`al ${A}`;SA(A,a=>{j(new Uint8Array(a)),k&&NA(k)},a=>{if(t)t();else throw`Loading data file "${A}" failed.`}),k&&XA(k)},O6=(A,j,t,e,k,a)=>{l.createDataFile(A,j,t,e,k,a)},J6=r.preloadPlugins||[],b6=(A,j,t,e)=>{typeof Browser!="undefined"&&Browser.init();var k=!1;return J6.forEach(a=>{k||a.canHandle(j)&&(a.handle(A,j,t,e),k=!0)}),k},D6=(A,j,t,e,k,a,_,o,i,E)=>{var s=j?U.resolve(F.join2(A,j)):A,G=`cp ${s}`;function d(u){function p(L){E==null||E(),o||O6(A,j,L,e,k,i),a==null||a(),NA(G)}b6(u,s,p,()=>{_==null||_(),NA(G)})||p(u)}XA(G),typeof t=="string"?y6(t,d,_):d(t)},w6=A=>{var j={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},t=j[A];if(typeof t=="undefined")throw new Error(`Unknown file open mode: ${A}`);return t},WA=(A,j)=>{var t=0;return A&&(t|=365),j&&(t|=146),t},l={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(A){this.name="ErrnoError",this.errno=A}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(A){this.node=A}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(A){this.shared.flags=A}get position(){return this.shared.position}set position(A){this.shared.position=A}},FSNode:class{constructor(A,j,t,e){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=l.nextInode++,this.name=j,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=e,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(A){A?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(A){A?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return l.isDir(this.mode)}get isDevice(){return l.isChrdev(this.mode)}},lookupPath(A,j={}){if(A=U.resolve(A),!A)return{path:"",node:null};var t={follow_mount:!0,recurse_count:0};if(j=Object.assign(t,j),j.recurse_count>8)throw new l.ErrnoError(32);for(var e=A.split("/").filter(G=>!!G),k=l.root,a="/",_=0;_<e.length;_++){var o=_===e.length-1;if(o&&j.parent)break;if(k=l.lookupNode(k,e[_]),a=F.join2(a,e[_]),l.isMountpoint(k)&&(!o||o&&j.follow_mount)&&(k=k.mounted.root),!o||j.follow)for(var i=0;l.isLink(k.mode);){var E=l.readlink(a);a=U.resolve(F.dirname(a),E);var s=l.lookupPath(a,{recurse_count:j.recurse_count+1});if(k=s.node,i++>40)throw new l.ErrnoError(32)}}return{path:a,node:k}},getPath(A){for(var j;;){if(l.isRoot(A)){var t=A.mount.mountpoint;return j?t[t.length-1]!=="/"?`${t}/${j}`:t+j:t}j=j?`${A.name}/${j}`:A.name,A=A.parent}},hashName(A,j){for(var t=0,e=0;e<j.length;e++)t=(t<<5)-t+j.charCodeAt(e)|0;return(A+t>>>0)%l.nameTable.length},hashAddNode(A){var j=l.hashName(A.parent.id,A.name);A.name_next=l.nameTable[j],l.nameTable[j]=A},hashRemoveNode(A){var j=l.hashName(A.parent.id,A.name);if(l.nameTable[j]===A)l.nameTable[j]=A.name_next;else for(var t=l.nameTable[j];t;){if(t.name_next===A){t.name_next=A.name_next;break}t=t.name_next}},lookupNode(A,j){var t=l.mayLookup(A);if(t)throw new l.ErrnoError(t);for(var e=l.hashName(A.id,j),k=l.nameTable[e];k;k=k.name_next){var a=k.name;if(k.parent.id===A.id&&a===j)return k}return l.lookup(A,j)},createNode(A,j,t,e){var k=new l.FSNode(A,j,t,e);return l.hashAddNode(k),k},destroyNode(A){l.hashRemoveNode(A)},isRoot(A){return A===A.parent},isMountpoint(A){return!!A.mounted},isFile(A){return(A&61440)===32768},isDir(A){return(A&61440)===16384},isLink(A){return(A&61440)===40960},isChrdev(A){return(A&61440)===8192},isBlkdev(A){return(A&61440)===24576},isFIFO(A){return(A&61440)===4096},isSocket(A){return(A&49152)===49152},flagsToPermissionString(A){var j=["r","w","rw"][A&3];return A&512&&(j+="w"),j},nodePermissions(A,j){return l.ignorePermissions?0:j.includes("r")&&!(A.mode&292)||j.includes("w")&&!(A.mode&146)||j.includes("x")&&!(A.mode&73)?2:0},mayLookup(A){if(!l.isDir(A.mode))return 54;var j=l.nodePermissions(A,"x");return j||(A.node_ops.lookup?0:2)},mayCreate(A,j){try{var t=l.lookupNode(A,j);return 20}catch{}return l.nodePermissions(A,"wx")},mayDelete(A,j,t){var e;try{e=l.lookupNode(A,j)}catch(a){return a.errno}var k=l.nodePermissions(A,"wx");if(k)return k;if(t){if(!l.isDir(e.mode))return 54;if(l.isRoot(e)||l.getPath(e)===l.cwd())return 10}else if(l.isDir(e.mode))return 31;return 0},mayOpen(A,j){return A?l.isLink(A.mode)?32:l.isDir(A.mode)&&(l.flagsToPermissionString(j)!=="r"||j&512)?31:l.nodePermissions(A,l.flagsToPermissionString(j)):44},MAX_OPEN_FDS:4096,nextfd(){for(var A=0;A<=l.MAX_OPEN_FDS;A++)if(!l.streams[A])return A;throw new l.ErrnoError(33)},getStreamChecked(A){var j=l.getStream(A);if(!j)throw new l.ErrnoError(8);return j},getStream:A=>l.streams[A],createStream(A,j=-1){return A=Object.assign(new l.FSStream,A),j==-1&&(j=l.nextfd()),A.fd=j,l.streams[j]=A,A},closeStream(A){l.streams[A]=null},dupStream(A,j=-1){var t,e,k=l.createStream(A,j);return(e=(t=k.stream_ops)==null?void 0:t.dup)==null||e.call(t,k),k},chrdev_stream_ops:{open(A){var j,t,e=l.getDevice(A.node.rdev);A.stream_ops=e.stream_ops,(t=(j=A.stream_ops).open)==null||t.call(j,A)},llseek(){throw new l.ErrnoError(70)}},major:A=>A>>8,minor:A=>A&255,makedev:(A,j)=>A<<8|j,registerDevice(A,j){l.devices[A]={stream_ops:j}},getDevice:A=>l.devices[A],getMounts(A){for(var j=[],t=[A];t.length;){var e=t.pop();j.push(e),t.push(...e.mounts)}return j},syncfs(A,j){typeof A=="function"&&(j=A,A=!1),l.syncFSRequests++,l.syncFSRequests>1&&iA(`warning: ${l.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=l.getMounts(l.root.mount),e=0;function k(_){return l.syncFSRequests--,j(_)}function a(_){if(_)return a.errored?void 0:(a.errored=!0,k(_));++e>=t.length&&k(null)}t.forEach(_=>{if(!_.type.syncfs)return a(null);_.type.syncfs(_,A,a)})},mount(A,j,t){var e=t==="/",k=!t,a;if(e&&l.root)throw new l.ErrnoError(10);if(!e&&!k){var _=l.lookupPath(t,{follow_mount:!1});if(t=_.path,a=_.node,l.isMountpoint(a))throw new l.ErrnoError(10);if(!l.isDir(a.mode))throw new l.ErrnoError(54)}var o={type:A,opts:j,mountpoint:t,mounts:[]},i=A.mount(o);return i.mount=o,o.root=i,e?l.root=i:a&&(a.mounted=o,a.mount&&a.mount.mounts.push(o)),i},unmount(A){var j=l.lookupPath(A,{follow_mount:!1});if(!l.isMountpoint(j.node))throw new l.ErrnoError(28);var t=j.node,e=t.mounted,k=l.getMounts(e);Object.keys(l.nameTable).forEach(_=>{for(var o=l.nameTable[_];o;){var i=o.name_next;k.includes(o.mount)&&l.destroyNode(o),o=i}}),t.mounted=null;var a=t.mount.mounts.indexOf(e);t.mount.mounts.splice(a,1)},lookup(A,j){return A.node_ops.lookup(A,j)},mknod(A,j,t){var e=l.lookupPath(A,{parent:!0}),k=e.node,a=F.basename(A);if(!a||a==="."||a==="..")throw new l.ErrnoError(28);var _=l.mayCreate(k,a);if(_)throw new l.ErrnoError(_);if(!k.node_ops.mknod)throw new l.ErrnoError(63);return k.node_ops.mknod(k,a,j,t)},create(A,j){return j=j!==void 0?j:438,j&=4095,j|=32768,l.mknod(A,j,0)},mkdir(A,j){return j=j!==void 0?j:511,j&=1023,j|=16384,l.mknod(A,j,0)},mkdirTree(A,j){for(var t=A.split("/"),e="",k=0;k<t.length;++k)if(t[k]){e+="/"+t[k];try{l.mkdir(e,j)}catch(a){if(a.errno!=20)throw a}}},mkdev(A,j,t){return typeof t=="undefined"&&(t=j,j=438),j|=8192,l.mknod(A,j,t)},symlink(A,j){if(!U.resolve(A))throw new l.ErrnoError(44);var t=l.lookupPath(j,{parent:!0}),e=t.node;if(!e)throw new l.ErrnoError(44);var k=F.basename(j),a=l.mayCreate(e,k);if(a)throw new l.ErrnoError(a);if(!e.node_ops.symlink)throw new l.ErrnoError(63);return e.node_ops.symlink(e,k,A)},rename(A,j){var t=F.dirname(A),e=F.dirname(j),k=F.basename(A),a=F.basename(j),_,o,i;if(_=l.lookupPath(A,{parent:!0}),o=_.node,_=l.lookupPath(j,{parent:!0}),i=_.node,!o||!i)throw new l.ErrnoError(44);if(o.mount!==i.mount)throw new l.ErrnoError(75);var E=l.lookupNode(o,k),s=U.relative(A,e);if(s.charAt(0)!==".")throw new l.ErrnoError(28);if(s=U.relative(j,t),s.charAt(0)!==".")throw new l.ErrnoError(55);var G;try{G=l.lookupNode(i,a)}catch{}if(E!==G){var d=l.isDir(E.mode),u=l.mayDelete(o,k,d);if(u)throw new l.ErrnoError(u);if(u=G?l.mayDelete(i,a,d):l.mayCreate(i,a),u)throw new l.ErrnoError(u);if(!o.node_ops.rename)throw new l.ErrnoError(63);if(l.isMountpoint(E)||G&&l.isMountpoint(G))throw new l.ErrnoError(10);if(i!==o&&(u=l.nodePermissions(o,"w"),u))throw new l.ErrnoError(u);l.hashRemoveNode(E);try{o.node_ops.rename(E,i,a),E.parent=i}catch(p){throw p}finally{l.hashAddNode(E)}}},rmdir(A){var j=l.lookupPath(A,{parent:!0}),t=j.node,e=F.basename(A),k=l.lookupNode(t,e),a=l.mayDelete(t,e,!0);if(a)throw new l.ErrnoError(a);if(!t.node_ops.rmdir)throw new l.ErrnoError(63);if(l.isMountpoint(k))throw new l.ErrnoError(10);t.node_ops.rmdir(t,e),l.destroyNode(k)},readdir(A){var j=l.lookupPath(A,{follow:!0}),t=j.node;if(!t.node_ops.readdir)throw new l.ErrnoError(54);return t.node_ops.readdir(t)},unlink(A){var j=l.lookupPath(A,{parent:!0}),t=j.node;if(!t)throw new l.ErrnoError(44);var e=F.basename(A),k=l.lookupNode(t,e),a=l.mayDelete(t,e,!1);if(a)throw new l.ErrnoError(a);if(!t.node_ops.unlink)throw new l.ErrnoError(63);if(l.isMountpoint(k))throw new l.ErrnoError(10);t.node_ops.unlink(t,e),l.destroyNode(k)},readlink(A){var j=l.lookupPath(A),t=j.node;if(!t)throw new l.ErrnoError(44);if(!t.node_ops.readlink)throw new l.ErrnoError(28);return U.resolve(l.getPath(t.parent),t.node_ops.readlink(t))},stat(A,j){var t=l.lookupPath(A,{follow:!j}),e=t.node;if(!e)throw new l.ErrnoError(44);if(!e.node_ops.getattr)throw new l.ErrnoError(63);return e.node_ops.getattr(e)},lstat(A){return l.stat(A,!0)},chmod(A,j,t){var e;if(typeof A=="string"){var k=l.lookupPath(A,{follow:!t});e=k.node}else e=A;if(!e.node_ops.setattr)throw new l.ErrnoError(63);e.node_ops.setattr(e,{mode:j&4095|e.mode&-4096,timestamp:Date.now()})},lchmod(A,j){l.chmod(A,j,!0)},fchmod(A,j){var t=l.getStreamChecked(A);l.chmod(t.node,j)},chown(A,j,t,e){var k;if(typeof A=="string"){var a=l.lookupPath(A,{follow:!e});k=a.node}else k=A;if(!k.node_ops.setattr)throw new l.ErrnoError(63);k.node_ops.setattr(k,{timestamp:Date.now()})},lchown(A,j,t){l.chown(A,j,t,!0)},fchown(A,j,t){var e=l.getStreamChecked(A);l.chown(e.node,j,t)},truncate(A,j){if(j<0)throw new l.ErrnoError(28);var t;if(typeof A=="string"){var e=l.lookupPath(A,{follow:!0});t=e.node}else t=A;if(!t.node_ops.setattr)throw new l.ErrnoError(63);if(l.isDir(t.mode))throw new l.ErrnoError(31);if(!l.isFile(t.mode))throw new l.ErrnoError(28);var k=l.nodePermissions(t,"w");if(k)throw new l.ErrnoError(k);t.node_ops.setattr(t,{size:j,timestamp:Date.now()})},ftruncate(A,j){var t=l.getStreamChecked(A);if(!(t.flags&2097155))throw new l.ErrnoError(28);l.truncate(t.node,j)},utime(A,j,t){var e=l.lookupPath(A,{follow:!0}),k=e.node;k.node_ops.setattr(k,{timestamp:Math.max(j,t)})},open(A,j,t){if(A==="")throw new l.ErrnoError(44);j=typeof j=="string"?w6(j):j,j&64?(t=typeof t=="undefined"?438:t,t=t&4095|32768):t=0;var e;if(typeof A=="object")e=A;else{A=F.normalize(A);try{var k=l.lookupPath(A,{follow:!(j&131072)});e=k.node}catch{}}var a=!1;if(j&64)if(e){if(j&128)throw new l.ErrnoError(20)}else e=l.mknod(A,t,0),a=!0;if(!e)throw new l.ErrnoError(44);if(l.isChrdev(e.mode)&&(j&=-513),j&65536&&!l.isDir(e.mode))throw new l.ErrnoError(54);if(!a){var _=l.mayOpen(e,j);if(_)throw new l.ErrnoError(_)}j&512&&!a&&l.truncate(e,0),j&=-131713;var o=l.createStream({node:e,path:l.getPath(e),flags:j,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1});return o.stream_ops.open&&o.stream_ops.open(o),r.logReadFiles&&!(j&1)&&(l.readFiles||(l.readFiles={}),A in l.readFiles||(l.readFiles[A]=1)),o},close(A){if(l.isClosed(A))throw new l.ErrnoError(8);A.getdents&&(A.getdents=null);try{A.stream_ops.close&&A.stream_ops.close(A)}catch(j){throw j}finally{l.closeStream(A.fd)}A.fd=null},isClosed(A){return A.fd===null},llseek(A,j,t){if(l.isClosed(A))throw new l.ErrnoError(8);if(!A.seekable||!A.stream_ops.llseek)throw new l.ErrnoError(70);if(t!=0&&t!=1&&t!=2)throw new l.ErrnoError(28);return A.position=A.stream_ops.llseek(A,j,t),A.ungotten=[],A.position},read(A,j,t,e,k){if(e<0||k<0)throw new l.ErrnoError(28);if(l.isClosed(A))throw new l.ErrnoError(8);if((A.flags&2097155)===1)throw new l.ErrnoError(8);if(l.isDir(A.node.mode))throw new l.ErrnoError(31);if(!A.stream_ops.read)throw new l.ErrnoError(28);var a=typeof k!="undefined";if(!a)k=A.position;else if(!A.seekable)throw new l.ErrnoError(70);var _=A.stream_ops.read(A,j,t,e,k);return a||(A.position+=_),_},write(A,j,t,e,k,a){if(e<0||k<0)throw new l.ErrnoError(28);if(l.isClosed(A))throw new l.ErrnoError(8);if(!(A.flags&2097155))throw new l.ErrnoError(8);if(l.isDir(A.node.mode))throw new l.ErrnoError(31);if(!A.stream_ops.write)throw new l.ErrnoError(28);A.seekable&&A.flags&1024&&l.llseek(A,0,2);var _=typeof k!="undefined";if(!_)k=A.position;else if(!A.seekable)throw new l.ErrnoError(70);var o=A.stream_ops.write(A,j,t,e,k,a);return _||(A.position+=o),o},allocate(A,j,t){if(l.isClosed(A))throw new l.ErrnoError(8);if(j<0||t<=0)throw new l.ErrnoError(28);if(!(A.flags&2097155))throw new l.ErrnoError(8);if(!l.isFile(A.node.mode)&&!l.isDir(A.node.mode))throw new l.ErrnoError(43);if(!A.stream_ops.allocate)throw new l.ErrnoError(138);A.stream_ops.allocate(A,j,t)},mmap(A,j,t,e,k){if(e&2&&!(k&2)&&(A.flags&2097155)!==2)throw new l.ErrnoError(2);if((A.flags&2097155)===1)throw new l.ErrnoError(2);if(!A.stream_ops.mmap)throw new l.ErrnoError(43);return A.stream_ops.mmap(A,j,t,e,k)},msync(A,j,t,e,k){return A.stream_ops.msync?A.stream_ops.msync(A,j,t,e,k):0},ioctl(A,j,t){if(!A.stream_ops.ioctl)throw new l.ErrnoError(59);return A.stream_ops.ioctl(A,j,t)},readFile(A,j={}){if(j.flags=j.flags||0,j.encoding=j.encoding||"binary",j.encoding!=="utf8"&&j.encoding!=="binary")throw new Error(`Invalid encoding type "${j.encoding}"`);var t,e=l.open(A,j.flags),k=l.stat(A),a=k.size,_=new Uint8Array(a);return l.read(e,_,0,a,0),j.encoding==="utf8"?t=kA(_,0):j.encoding==="binary"&&(t=_),l.close(e),t},writeFile(A,j,t={}){t.flags=t.flags||577;var e=l.open(A,t.flags,t.mode);if(typeof j=="string"){var k=new Uint8Array(YA(j)+1),a=zA(j,k,0,k.length);l.write(e,k,0,a,void 0,t.canOwn)}else if(ArrayBuffer.isView(j))l.write(e,j,0,j.byteLength,void 0,t.canOwn);else throw new Error("Unsupported data type");l.close(e)},cwd:()=>l.currentPath,chdir(A){var j=l.lookupPath(A,{follow:!0});if(j.node===null)throw new l.ErrnoError(44);if(!l.isDir(j.node.mode))throw new l.ErrnoError(54);var t=l.nodePermissions(j.node,"x");if(t)throw new l.ErrnoError(t);l.currentPath=j.path},createDefaultDirectories(){l.mkdir("/tmp"),l.mkdir("/home"),l.mkdir("/home/web_user")},createDefaultDevices(){l.mkdir("/dev"),l.registerDevice(l.makedev(1,3),{read:()=>0,write:(e,k,a,_,o)=>_}),l.mkdev("/dev/null",l.makedev(1,3)),W.register(l.makedev(5,0),W.default_tty_ops),W.register(l.makedev(6,0),W.default_tty1_ops),l.mkdev("/dev/tty",l.makedev(5,0)),l.mkdev("/dev/tty1",l.makedev(6,0));var A=new Uint8Array(1024),j=0,t=()=>(j===0&&(j=Fj(A).byteLength),A[--j]);l.createDevice("/dev","random",t),l.createDevice("/dev","urandom",t),l.mkdir("/dev/shm"),l.mkdir("/dev/shm/tmp")},createSpecialDirectories(){l.mkdir("/proc");var A=l.mkdir("/proc/self");l.mkdir("/proc/self/fd"),l.mount({mount(){var j=l.createNode(A,"fd",16895,73);return j.node_ops={lookup(t,e){var k=+e,a=l.getStreamChecked(k),_={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>a.path}};return _.parent=_,_}},j}},{},"/proc/self/fd")},createStandardStreams(){r.stdin?l.createDevice("/dev","stdin",r.stdin):l.symlink("/dev/tty","/dev/stdin"),r.stdout?l.createDevice("/dev","stdout",null,r.stdout):l.symlink("/dev/tty","/dev/stdout"),r.stderr?l.createDevice("/dev","stderr",null,r.stderr):l.symlink("/dev/tty1","/dev/stderr");var A=l.open("/dev/stdin",0),j=l.open("/dev/stdout",1),t=l.open("/dev/stderr",1)},staticInit(){[44].forEach(A=>{l.genericErrors[A]=new l.ErrnoError(A),l.genericErrors[A].stack="<generic error, no stack>"}),l.nameTable=new Array(4096),l.mount(c,{},"/"),l.createDefaultDirectories(),l.createDefaultDevices(),l.createSpecialDirectories(),l.filesystems={MEMFS:c}},init(A,j,t){l.init.initialized=!0,r.stdin=A||r.stdin,r.stdout=j||r.stdout,r.stderr=t||r.stderr,l.createStandardStreams()},quit(){l.init.initialized=!1;for(var A=0;A<l.streams.length;A++){var j=l.streams[A];j&&l.close(j)}},findObject(A,j){var t=l.analyzePath(A,j);return t.exists?t.object:null},analyzePath(A,j){try{var t=l.lookupPath(A,{follow:!j});A=t.path}catch{}var e={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var t=l.lookupPath(A,{parent:!0});e.parentExists=!0,e.parentPath=t.path,e.parentObject=t.node,e.name=F.basename(A),t=l.lookupPath(A,{follow:!j}),e.exists=!0,e.path=t.path,e.object=t.node,e.name=t.node.name,e.isRoot=t.path==="/"}catch(k){e.error=k.errno}return e},createPath(A,j,t,e){A=typeof A=="string"?A:l.getPath(A);for(var k=j.split("/").reverse();k.length;){var a=k.pop();if(a){var _=F.join2(A,a);try{l.mkdir(_)}catch{}A=_}}return _},createFile(A,j,t,e,k){var a=F.join2(typeof A=="string"?A:l.getPath(A),j),_=WA(e,k);return l.create(a,_)},createDataFile(A,j,t,e,k,a){var _=j;A&&(A=typeof A=="string"?A:l.getPath(A),_=j?F.join2(A,j):A);var o=WA(e,k),i=l.create(_,o);if(t){if(typeof t=="string"){for(var E=new Array(t.length),s=0,G=t.length;s<G;++s)E[s]=t.charCodeAt(s);t=E}l.chmod(i,o|146);var d=l.open(i,577);l.write(d,t,0,t.length,0,a),l.close(d),l.chmod(i,o)}},createDevice(A,j,t,e){var k=F.join2(typeof A=="string"?A:l.getPath(A),j),a=WA(!!t,!!e);l.createDevice.major||(l.createDevice.major=64);var _=l.makedev(l.createDevice.major++,0);return l.registerDevice(_,{open(o){o.seekable=!1},close(o){var i;(i=e==null?void 0:e.buffer)!=null&&i.length&&e(10)},read(o,i,E,s,G){for(var d=0,u=0;u<s;u++){var p;try{p=t()}catch{throw new l.ErrnoError(29)}if(p===void 0&&d===0)throw new l.ErrnoError(6);if(p==null)break;d++,i[E+u]=p}return d&&(o.node.timestamp=Date.now()),d},write(o,i,E,s,G){for(var d=0;d<s;d++)try{e(i[E+d])}catch{throw new l.ErrnoError(29)}return s&&(o.node.timestamp=Date.now()),d}}),l.mkdev(k,a,_)},forceLoadFile(A){if(A.isDevice||A.isFolder||A.link||A.contents)return!0;if(typeof XMLHttpRequest!="undefined")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(oA)try{A.contents=FA(oA(A.url),!0),A.usedBytes=A.contents.length}catch{throw new l.ErrnoError(29)}else throw new Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile(A,j,t,e,k){class a{constructor(){this.lengthKnown=!1,this.chunks=[]}get(u){if(!(u>this.length-1||u<0)){var p=u%this.chunkSize,L=u/this.chunkSize|0;return this.getter(L)[p]}}setDataGetter(u){this.getter=u}cacheLength(){var u=new XMLHttpRequest;if(u.open("HEAD",t,!1),u.send(null),!(u.status>=200&&u.status<300||u.status===304))throw new Error("Couldn't load "+t+". Status: "+u.status);var p=Number(u.getResponseHeader("Content-length")),L,C=(L=u.getResponseHeader("Accept-Ranges"))&&L==="bytes",I=(L=u.getResponseHeader("Content-Encoding"))&&L==="gzip",n=1024*1024;C||(n=p);var $=(h,P)=>{if(h>P)throw new Error("invalid range ("+h+", "+P+") or no bytes requested!");if(P>p-1)throw new Error("only "+p+" bytes available! programmer error!");var x=new XMLHttpRequest;if(x.open("GET",t,!1),p!==n&&x.setRequestHeader("Range","bytes="+h+"-"+P),x.responseType="arraybuffer",x.overrideMimeType&&x.overrideMimeType("text/plain; charset=x-user-defined"),x.send(null),!(x.status>=200&&x.status<300||x.status===304))throw new Error("Couldn't load "+t+". Status: "+x.status);return x.response!==void 0?new Uint8Array(x.response||[]):FA(x.responseText||"",!0)},g=this;g.setDataGetter(h=>{var P=h*n,x=(h+1)*n-1;if(x=Math.min(x,p-1),typeof g.chunks[h]=="undefined"&&(g.chunks[h]=$(P,x)),typeof g.chunks[h]=="undefined")throw new Error("doXHR failed!");return g.chunks[h]}),(I||!p)&&(n=p=1,p=this.getter(0).length,n=p,MA("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=p,this._chunkSize=n,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!jA)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var _=new a,o={isDevice:!1,contents:_}}else var o={isDevice:!1,url:t};var i=l.createFile(A,j,o,e,k);o.contents?i.contents=o.contents:o.url&&(i.contents=null,i.url=o.url),Object.defineProperties(i,{usedBytes:{get:function(){return this.contents.length}}});var E={},s=Object.keys(i.stream_ops);s.forEach(d=>{var u=i.stream_ops[d];E[d]=(...p)=>(l.forceLoadFile(i),u(...p))});function G(d,u,p,L,C){var I=d.node.contents;if(C>=I.length)return 0;var n=Math.min(I.length-C,L);if(I.slice)for(var $=0;$<n;$++)u[p+$]=I[C+$];else for(var $=0;$<n;$++)u[p+$]=I.get(C+$);return n}return E.read=(d,u,p,L,C)=>(l.forceLoadFile(i),G(d,u,p,L,C)),E.mmap=(d,u,p,L,C)=>{l.forceLoadFile(i);var I=Ij(u);if(!I)throw new l.ErrnoError(48);return G(d,O,I,u,p),{ptr:I,allocated:!0}},i.stream_ops=E,i}},D={DEFAULT_POLLMASK:5,calculateAt(A,j,t){if(F.isAbs(j))return j;var e;if(A===-100)e=l.cwd();else{var k=D.getStreamFromFD(A);e=k.path}if(j.length==0){if(!t)throw new l.ErrnoError(44);return e}return F.join2(e,j)},doStat(A,j,t){var e=A(j);H[t>>2]=e.dev,H[t+4>>2]=e.mode,m[t+8>>2]=e.nlink,H[t+12>>2]=e.uid,H[t+16>>2]=e.gid,H[t+20>>2]=e.rdev,J=[e.size>>>0,(q=e.size,+Math.abs(q)>=1?q>0?+Math.floor(q/4294967296)>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],H[t+24>>2]=J[0],H[t+28>>2]=J[1],H[t+32>>2]=4096,H[t+36>>2]=e.blocks;var k=e.atime.getTime(),a=e.mtime.getTime(),_=e.ctime.getTime();return J=[Math.floor(k/1e3)>>>0,(q=Math.floor(k/1e3),+Math.abs(q)>=1?q>0?+Math.floor(q/4294967296)>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],H[t+40>>2]=J[0],H[t+44>>2]=J[1],m[t+48>>2]=k%1e3*1e3,J=[Math.floor(a/1e3)>>>0,(q=Math.floor(a/1e3),+Math.abs(q)>=1?q>0?+Math.floor(q/4294967296)>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],H[t+56>>2]=J[0],H[t+60>>2]=J[1],m[t+64>>2]=a%1e3*1e3,J=[Math.floor(_/1e3)>>>0,(q=Math.floor(_/1e3),+Math.abs(q)>=1?q>0?+Math.floor(q/4294967296)>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],H[t+72>>2]=J[0],H[t+76>>2]=J[1],m[t+80>>2]=_%1e3*1e3,J=[e.ino>>>0,(q=e.ino,+Math.abs(q)>=1?q>0?+Math.floor(q/4294967296)>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],H[t+88>>2]=J[0],H[t+92>>2]=J[1],0},doMsync(A,j,t,e,k){if(!l.isFile(j.node.mode))throw new l.ErrnoError(43);if(e&2)return 0;var a=b.slice(A,A+t);l.msync(j,a,k,t,e)},getStreamFromFD(A){var j=l.getStreamChecked(A);return j},varargs:void 0,getStr(A){var j=eA(A);return j}};function C6(A,j,t){D.varargs=t;try{var e=D.getStreamFromFD(A);switch(j){case 0:{var k=vA();if(k<0)return-28;for(;l.streams[k];)k++;var a;return a=l.dupStream(e,k),a.fd}case 1:case 2:return 0;case 3:return e.flags;case 4:{var k=vA();return e.flags|=k,0}case 12:{var k=lA(),_=0;return R[k+_>>1]=2,0}case 13:case 14:return 0}return-28}catch(o){if(typeof l=="undefined"||o.name!=="ErrnoError")throw o;return-o.errno}}function S6(A,j,t){D.varargs=t;try{var e=D.getStreamFromFD(A);switch(j){case 21509:return e.tty?0:-59;case 21505:{if(!e.tty)return-59;if(e.tty.ops.ioctl_tcgets){var k=e.tty.ops.ioctl_tcgets(e),a=lA();H[a>>2]=k.c_iflag||0,H[a+4>>2]=k.c_oflag||0,H[a+8>>2]=k.c_cflag||0,H[a+12>>2]=k.c_lflag||0;for(var _=0;_<32;_++)O[a+_+17]=k.c_cc[_]||0;return 0}return 0}case 21510:case 21511:case 21512:return e.tty?0:-59;case 21506:case 21507:case 21508:{if(!e.tty)return-59;if(e.tty.ops.ioctl_tcsets){for(var a=lA(),o=H[a>>2],i=H[a+4>>2],E=H[a+8>>2],s=H[a+12>>2],G=[],_=0;_<32;_++)G.push(O[a+_+17]);return e.tty.ops.ioctl_tcsets(e.tty,j,{c_iflag:o,c_oflag:i,c_cflag:E,c_lflag:s,c_cc:G})}return 0}case 21519:{if(!e.tty)return-59;var a=lA();return H[a>>2]=0,0}case 21520:return e.tty?-28:-59;case 21531:{var a=lA();return l.ioctl(e,j,a)}case 21523:{if(!e.tty)return-59;if(e.tty.ops.ioctl_tiocgwinsz){var d=e.tty.ops.ioctl_tiocgwinsz(e.tty),a=lA();R[a>>1]=d[0],R[a+2>>1]=d[1]}return 0}case 21524:return e.tty?0:-59;case 21515:return e.tty?0:-59;default:return-28}}catch(u){if(typeof l=="undefined"||u.name!=="ErrnoError")throw u;return-u.errno}}function P6(A,j,t,e){D.varargs=e;try{j=D.getStr(j),j=D.calculateAt(A,j);var k=e?vA():0;return l.open(j,t,k).fd}catch(a){if(typeof l=="undefined"||a.name!=="ErrnoError")throw a;return-a.errno}}function M6(A,j,t){try{return j=D.getStr(j),j=D.calculateAt(A,j),t===0?l.unlink(j):t===512?l.rmdir(j):sA("Invalid flags passed to unlinkat"),0}catch(e){if(typeof l=="undefined"||e.name!=="ErrnoError")throw e;return-e.errno}}var K6=()=>{sA("")},IA={},ZA=A=>{for(;A.length;){var j=A.pop(),t=A.pop();t(j)}};function GA(A){return this.fromWireType(m[A>>2])}var BA={},rA={},gA={},gj,xA=A=>{throw new gj(A)},QA=(A,j,t)=>{A.forEach(function(o){gA[o]=j});function e(o){var i=t(o);i.length!==A.length&&xA("Mismatched type converter count");for(var E=0;E<A.length;++E)T(A[E],i[E])}var k=new Array(j.length),a=[],_=0;j.forEach((o,i)=>{rA.hasOwnProperty(o)?k[i]=rA[o]:(a.push(o),BA.hasOwnProperty(o)||(BA[o]=[]),BA[o].push(()=>{k[i]=rA[o],++_,_===a.length&&e(k)}))}),a.length===0&&e(k)},T6=A=>{var j=IA[A];delete IA[A];var t=j.rawConstructor,e=j.rawDestructor,k=j.fields,a=k.map(_=>_.getterReturnType).concat(k.map(_=>_.setterArgumentType));QA([A],a,_=>{var o={};return k.forEach((i,E)=>{var s=i.fieldName,G=_[E],d=i.getter,u=i.getterContext,p=_[E+k.length],L=i.setter,C=i.setterContext;o[s]={read:I=>G.fromWireType(d(u,I)),write:(I,n)=>{var $=[];L(C,I,p.toWireType($,n)),ZA($)}}}),[{name:j.name,fromWireType:i=>{var E={};for(var s in o)E[s]=o[s].read(i);return e(i),E},toWireType:(i,E)=>{for(var s in o)if(!(s in E))throw new TypeError(`Missing field: "${s}"`);var G=t();for(s in o)o[s].write(G,E[s]);return i!==null&&i.push(e,G),G},argPackAdvance:X,readValueFromPointer:GA,destructorFunction:e}]})},X6=(A,j,t,e,k)=>{},R6=()=>{for(var A=new Array(256),j=0;j<256;++j)A[j]=String.fromCharCode(j);xj=A},xj,w=A=>{for(var j="",t=A;b[t];)j+=xj[b[t++]];return j},dA,v=A=>{throw new dA(A)};function U6(A,j,t={}){var e=j.name;if(A||v(`type "${e}" must have a positive integer typeid pointer`),rA.hasOwnProperty(A)){if(t.ignoreDuplicateRegistrations)return;v(`Cannot register type '${e}' twice`)}if(rA[A]=j,delete gA[A],BA.hasOwnProperty(A)){var k=BA[A];delete BA[A],k.forEach(a=>a())}}function T(A,j,t={}){if(!("argPackAdvance"in j))throw new TypeError("registerType registeredInstance requires argPackAdvance");return U6(A,j,t)}var X=8,V6=(A,j,t,e)=>{j=w(j),T(A,{name:j,fromWireType:function(k){return!!k},toWireType:function(k,a){return a?t:e},argPackAdvance:X,readValueFromPointer:function(k){return this.fromWireType(b[k])},destructorFunction:null})},Y6=A=>({count:A.count,deleteScheduled:A.deleteScheduled,preservePointerOnDelete:A.preservePointerOnDelete,ptr:A.ptr,ptrType:A.ptrType,smartPtr:A.smartPtr,smartPtrType:A.smartPtrType}),Aj=A=>{function j(t){return t.$$.ptrType.registeredClass.name}v(j(A)+" instance already deleted")},jj=!1,Lj=A=>{},z6=A=>{A.smartPtr?A.smartPtrType.rawDestructor(A.smartPtr):A.ptrType.registeredClass.rawDestructor(A.ptr)},yj=A=>{A.count.value-=1;var j=A.count.value===0;j&&z6(A)},Oj=(A,j,t)=>{if(j===t)return A;if(t.baseClass===void 0)return null;var e=Oj(A,j,t.baseClass);return e===null?null:t.downcast(e)},Jj={},W6=()=>Object.keys(pA).length,Z6=()=>{var A=[];for(var j in pA)pA.hasOwnProperty(j)&&A.push(pA[j]);return A},$A=[],tj=()=>{for(;$A.length;){var A=$A.pop();A.$$.deleteScheduled=!1,A.delete()}},uA,Q6=A=>{uA=A,$A.length&&uA&&uA(tj)},At=()=>{r.getInheritedInstanceCount=W6,r.getLiveInheritedInstances=Z6,r.flushPendingDeletes=tj,r.setDelayFunction=Q6},pA={},jt=(A,j)=>{for(j===void 0&&v("ptr should not be undefined");A.baseClass;)j=A.upcast(j),A=A.baseClass;return j},tt=(A,j)=>(j=jt(A,j),pA[j]),LA=(A,j)=>{(!j.ptrType||!j.ptr)&&xA("makeClassHandle requires ptr and ptrType");var t=!!j.smartPtrType,e=!!j.smartPtr;return t!==e&&xA("Both smartPtrType and smartPtr must be specified"),j.count={value:1},HA(Object.create(A,{$$:{value:j,writable:!0}}))};function et(A){var j=this.getPointee(A);if(!j)return this.destructor(A),null;var t=tt(this.registeredClass,j);if(t!==void 0){if(t.$$.count.value===0)return t.$$.ptr=j,t.$$.smartPtr=A,t.clone();var e=t.clone();return this.destructor(A),e}function k(){return this.isSmartPointer?LA(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:j,smartPtrType:this,smartPtr:A}):LA(this.registeredClass.instancePrototype,{ptrType:this,ptr:A})}var a=this.registeredClass.getActualType(j),_=Jj[a];if(!_)return k.call(this);var o;this.isConst?o=_.constPointerType:o=_.pointerType;var i=Oj(j,this.registeredClass,o.registeredClass);return i===null?k.call(this):this.isSmartPointer?LA(o.registeredClass.instancePrototype,{ptrType:o,ptr:i,smartPtrType:this,smartPtr:A}):LA(o.registeredClass.instancePrototype,{ptrType:o,ptr:i})}var HA=A=>typeof FinalizationRegistry=="undefined"?(HA=j=>j,A):(jj=new FinalizationRegistry(j=>{yj(j.$$)}),HA=j=>{var t=j.$$,e=!!t.smartPtr;if(e){var k={$$:t};jj.register(j,k,j)}return j},Lj=j=>jj.unregister(j),HA(A)),rt=()=>{Object.assign(yA.prototype,{isAliasOf(A){if(!(this instanceof yA)||!(A instanceof yA))return!1;var j=this.$$.ptrType.registeredClass,t=this.$$.ptr;A.$$=A.$$;for(var e=A.$$.ptrType.registeredClass,k=A.$$.ptr;j.baseClass;)t=j.upcast(t),j=j.baseClass;for(;e.baseClass;)k=e.upcast(k),e=e.baseClass;return j===e&&t===k},clone(){if(this.$$.ptr||Aj(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var A=HA(Object.create(Object.getPrototypeOf(this),{$$:{value:Y6(this.$$)}}));return A.$$.count.value+=1,A.$$.deleteScheduled=!1,A},delete(){this.$$.ptr||Aj(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&v("Object already scheduled for deletion"),Lj(this),yj(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Aj(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&v("Object already scheduled for deletion"),$A.push(this),$A.length===1&&uA&&uA(tj),this.$$.deleteScheduled=!0,this}})};function yA(){}var aA=(A,j)=>Object.defineProperty(j,"name",{value:A}),kt=(A,j,t)=>{if(A[j].overloadTable===void 0){var e=A[j];A[j]=function(...k){return A[j].overloadTable.hasOwnProperty(k.length)||v(`Function '${t}' called with an invalid number of arguments (${k.length}) - expects one of (${A[j].overloadTable})!`),A[j].overloadTable[k.length].apply(this,k)},A[j].overloadTable=[],A[j].overloadTable[e.argCount]=e}},ej=(A,j,t)=>{r.hasOwnProperty(A)?((t===void 0||r[A].overloadTable!==void 0&&r[A].overloadTable[t]!==void 0)&&v(`Cannot register public name '${A}' twice`),kt(r,A,A),r.hasOwnProperty(t)&&v(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),r[A].overloadTable[t]=j):(r[A]=j,t!==void 0&&(r[A].numArguments=t))},lt=48,Bt=57,at=A=>{if(A===void 0)return"_unknown";A=A.replace(/[^a-zA-Z0-9_]/g,"$");var j=A.charCodeAt(0);return j>=lt&&j<=Bt?`_${A}`:A};function _t(A,j,t,e,k,a,_,o){this.name=A,this.constructor=j,this.instancePrototype=t,this.rawDestructor=e,this.baseClass=k,this.getActualType=a,this.upcast=_,this.downcast=o,this.pureVirtualFunctions=[]}var rj=(A,j,t)=>{for(;j!==t;)j.upcast||v(`Expected null or instance of ${t.name}, got an instance of ${j.name}`),A=j.upcast(A),j=j.baseClass;return A};function ot(A,j){if(j===null)return this.isReference&&v(`null is not a valid ${this.name}`),0;j.$$||v(`Cannot pass "${aj(j)}" as a ${this.name}`),j.$$.ptr||v(`Cannot pass deleted object as a pointer of type ${this.name}`);var t=j.$$.ptrType.registeredClass,e=rj(j.$$.ptr,t,this.registeredClass);return e}function it(A,j){var t;if(j===null)return this.isReference&&v(`null is not a valid ${this.name}`),this.isSmartPointer?(t=this.rawConstructor(),A!==null&&A.push(this.rawDestructor,t),t):0;(!j||!j.$$)&&v(`Cannot pass "${aj(j)}" as a ${this.name}`),j.$$.ptr||v(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&j.$$.ptrType.isConst&&v(`Cannot convert argument of type ${j.$$.smartPtrType?j.$$.smartPtrType.name:j.$$.ptrType.name} to parameter type ${this.name}`);var e=j.$$.ptrType.registeredClass;if(t=rj(j.$$.ptr,e,this.registeredClass),this.isSmartPointer)switch(j.$$.smartPtr===void 0&&v("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:j.$$.smartPtrType===this?t=j.$$.smartPtr:v(`Cannot convert argument of type ${j.$$.smartPtrType?j.$$.smartPtrType.name:j.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:t=j.$$.smartPtr;break;case 2:if(j.$$.smartPtrType===this)t=j.$$.smartPtr;else{var k=j.clone();t=this.rawShare(t,S.toHandle(()=>k.delete())),A!==null&&A.push(this.rawDestructor,t)}break;default:v("Unsupporting sharing policy")}return t}function Et(A,j){if(j===null)return this.isReference&&v(`null is not a valid ${this.name}`),0;j.$$||v(`Cannot pass "${aj(j)}" as a ${this.name}`),j.$$.ptr||v(`Cannot pass deleted object as a pointer of type ${this.name}`),j.$$.ptrType.isConst&&v(`Cannot convert argument of type ${j.$$.ptrType.name} to parameter type ${this.name}`);var t=j.$$.ptrType.registeredClass,e=rj(j.$$.ptr,t,this.registeredClass);return e}var nt=()=>{Object.assign(OA.prototype,{getPointee(A){return this.rawGetPointee&&(A=this.rawGetPointee(A)),A},destructor(A){var j;(j=this.rawDestructor)==null||j.call(this,A)},argPackAdvance:X,readValueFromPointer:GA,fromWireType:et})};function OA(A,j,t,e,k,a,_,o,i,E,s){this.name=A,this.registeredClass=j,this.isReference=t,this.isConst=e,this.isSmartPointer=k,this.pointeeType=a,this.sharingPolicy=_,this.rawGetPointee=o,this.rawConstructor=i,this.rawShare=E,this.rawDestructor=s,!k&&j.baseClass===void 0?e?(this.toWireType=ot,this.destructorFunction=null):(this.toWireType=Et,this.destructorFunction=null):this.toWi