scanbot-web-sdk
Version:
Scanbot Web Document and Barcode Scanner SDK
1 lines • 97.2 kB
JavaScript
var initModule=(()=>{var r="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return function(e={}){function t(){return T.buffer!=$.buffer&&I(),$}function n(){return T.buffer!=$.buffer&&I(),M}function o(){return T.buffer!=$.buffer&&I(),D}function a(){return T.buffer!=$.buffer&&I(),A}function i(){return T.buffer!=$.buffer&&I(),F}function s(){return T.buffer!=$.buffer&&I(),W}function u(){return T.buffer!=$.buffer&&I(),O}var c,l,d=e;d.ready=new Promise(((r,e)=>{c=r,l=e}));var f,h,p,m=Object.assign({},d),v="./this.program",y=(r,e)=>{throw e},g=d.ENVIRONMENT_IS_PTHREAD||!1,w="";function _(r){return d.locateFile?d.locateFile(r,w):w+r}w=self.location.href,r&&(w=r),w=0!==w.indexOf("blob:")?w.substr(0,w.replace(/[?#].*/,"").lastIndexOf("/")+1):"",f=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.send(null),e.responseText},p=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)},h=(r,e,t)=>{var n=new XMLHttpRequest;n.open("GET",r,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?e(n.response):t()},n.onerror=t,n.send(null)};var b,E=d.print||console.log.bind(console),k=d.printErr||console.error.bind(console);Object.assign(d,m),m=null,d.arguments&&d.arguments,d.thisProgram&&(v=d.thisProgram),d.quit&&(y=d.quit),d.wasmBinary&&(b=d.wasmBinary);var T,C,P=d.noExitRuntime||!0;"object"!=typeof WebAssembly&&Z("no native wasm support detected");var S,$,M,D,A,F,W,j,O,x=!1;function R(r,e){r||Z(e)}function I(){var r=T.buffer;d.HEAP8=$=new Int8Array(r),d.HEAP16=D=new Int16Array(r),d.HEAPU8=M=new Uint8Array(r),d.HEAPU16=A=new Uint16Array(r),d.HEAP32=F=new Int32Array(r),d.HEAPU32=W=new Uint32Array(r),d.HEAPF32=j=new Float32Array(r),d.HEAPF64=O=new Float64Array(r)}var N,U=d.INITIAL_MEMORY||67108864;if(R(U>=4194304,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+U+"! (STACK_SIZE=4194304)"),g)T=d.wasmMemory;else if(d.wasmMemory)T=d.wasmMemory;else if(!((T=new WebAssembly.Memory({initial:U/65536,maximum:32768,shared:!0})).buffer instanceof SharedArrayBuffer))throw k("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),Error("bad memory");I(),U=T.buffer.byteLength;var z=[],H=[],L=[],B=0;function Y(){return P||B>0}function V(){!0,g||(d.noFSInit||Cr.init.initialized||Cr.init(),Cr.ignorePermissions=!1,_r.init(),Fr(H))}function q(r){z.unshift(r)}var Q=0,G=null,X=null;function K(r){Q++,d.monitorRunDependencies&&d.monitorRunDependencies(Q)}function J(r){if(Q--,d.monitorRunDependencies&&d.monitorRunDependencies(Q),0==Q&&(null!==G&&(clearInterval(G),G=null),X)){var e=X;X=null,e()}}function Z(r){d.onAbort&&d.onAbort(r),k(r="Aborted("+r+")"),x=!0,S=1,r+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(r);throw l(e),e}var rr,er,tr;function nr(r){return r.startsWith("data:application/octet-stream;base64,")}function or(r){if(r==rr&&b)return new Uint8Array(b);if(p)return p(r);throw"both async and sync fetching of the wasm failed"}function ar(r,e,t){return function(r){return b||"function"!=typeof fetch?Promise.resolve().then((()=>or(r))):fetch(r,{credentials:"same-origin"}).then((e=>{if(!e.ok)throw"failed to load wasm binary file at '"+r+"'";return e.arrayBuffer()})).catch((()=>or(r)))}(r).then((r=>WebAssembly.instantiate(r,e))).then((r=>r)).then(t,(r=>{k(`failed to asynchronously prepare wasm: ${r}`),Z(r)}))}nr(rr="ScanbotSDK.Asm-simd-threads.wasm")||(rr=_(rr));var ir={1398236:r=>an(function(){return this[Pr(r)].toString()}.apply((0,eval)("(()=>this)()")))};function sr(r){this.name="ExitStatus",this.message=`Program terminated with exit(${r})`,this.status=r}var ur=r=>{r.terminate(),r.onmessage=r=>{}},cr=r=>{var e=Ar.pthreads[r];R(e),Ar.returnWorkerToPool(e)},lr=r=>{var e=Ar.getNewWorker();if(!e)return 6;Ar.runningWorkers.push(e),Ar.pthreads[r.pthread_ptr]=e,e.pthread_ptr=r.pthread_ptr;var t={cmd:"run",start_routine:r.startRoutine,arg:r.arg,pthread_ptr:r.pthread_ptr};return e.postMessage(t,r.transferList),0},dr={isAbs:r=>"/"===r.charAt(0),splitPath:r=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(r).slice(1),normalizeArray:(r,e)=>{for(var t=0,n=r.length-1;n>=0;n--){var o=r[n];"."===o?r.splice(n,1):".."===o?(r.splice(n,1),t++):t&&(r.splice(n,1),t--)}if(e)for(;t;t--)r.unshift("..");return r},normalize:r=>{var e=dr.isAbs(r),t="/"===r.substr(-1);return(r=dr.normalizeArray(r.split("/").filter((r=>!!r)),!e).join("/"))||e||(r="."),r&&t&&(r+="/"),(e?"/":"")+r},dirname:r=>{var e=dr.splitPath(r),t=e[0],n=e[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:r=>{if("/"===r)return"/";var e=(r=(r=dr.normalize(r)).replace(/\/$/,"")).lastIndexOf("/");return-1===e?r:r.substr(e+1)},join:function(){var r=Array.prototype.slice.call(arguments);return dr.normalize(r.join("/"))},join2:(r,e)=>dr.normalize(r+"/"+e)},fr=r=>(fr=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return r=>(r.set(crypto.getRandomValues(new Uint8Array(r.byteLength))),r);Z("initRandomDevice")})())(r),hr={resolve:function(){for(var r="",e=!1,t=arguments.length-1;t>=-1&&!e;t--){var n=t>=0?arguments[t]:Cr.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";r=n+"/"+r,e=dr.isAbs(n)}return(e?"/":"")+(r=dr.normalizeArray(r.split("/").filter((r=>!!r)),!e).join("/"))||"."},relative:(r,e)=>{function t(r){for(var e=0;e<r.length&&""===r[e];e++);for(var t=r.length-1;t>=0&&""===r[t];t--);return e>t?[]:r.slice(e,t-e+1)}r=hr.resolve(r).substr(1),e=hr.resolve(e).substr(1);for(var n=t(r.split("/")),o=t(e.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s<a;s++)if(n[s]!==o[s]){i=s;break}var u=[];for(s=i;s<n.length;s++)u.push("..");return(u=u.concat(o.slice(i))).join("/")}},pr="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,mr=(r,e,t)=>{for(var n=e+t,o=e;r[o]&&!(o>=n);)++o;if(o-e>16&&r.buffer&&pr)return pr.decode(r.buffer instanceof SharedArrayBuffer?r.slice(e,o):r.subarray(e,o));for(var a="";e<o;){var i=r[e++];if(128&i){var s=63&r[e++];if(192!=(224&i)){var u=63&r[e++];if((i=224==(240&i)?(15&i)<<12|s<<6|u:(7&i)<<18|s<<12|u<<6|63&r[e++])<65536)a+=String.fromCharCode(i);else{var c=i-65536;a+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a},vr=[],yr=r=>{for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++t):e+=3}return e},gr=(r,e,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i<r.length;++i){var s=r.charCodeAt(i);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&r.charCodeAt(++i);if(s<=127){if(t>=a)break;e[t++]=s}else if(s<=2047){if(t+1>=a)break;e[t++]=192|s>>6,e[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;e[t++]=224|s>>12,e[t++]=128|s>>6&63,e[t++]=128|63&s}else{if(t+3>=a)break;e[t++]=240|s>>18,e[t++]=128|s>>12&63,e[t++]=128|s>>6&63,e[t++]=128|63&s}}return e[t]=0,t-o};function wr(r,e,t){var n=t>0?t:yr(r)+1,o=new Array(n),a=gr(r,o,0,o.length);return e&&(o.length=a),o}var _r={ttys:[],init(){},shutdown(){},register(r,e){_r.ttys[r]={input:[],output:[],ops:e},Cr.registerDevice(r,_r.stream_ops)},stream_ops:{open(r){var e=_r.ttys[r.node.rdev];if(!e)throw new Cr.ErrnoError(43);r.tty=e,r.seekable=!1},close(r){r.tty.ops.fsync(r.tty)},fsync(r){r.tty.ops.fsync(r.tty)},read(r,e,t,n,o){if(!r.tty||!r.tty.ops.get_char)throw new Cr.ErrnoError(60);for(var a=0,i=0;i<n;i++){var s;try{s=r.tty.ops.get_char(r.tty)}catch(r){throw new Cr.ErrnoError(29)}if(void 0===s&&0===a)throw new Cr.ErrnoError(6);if(null==s)break;a++,e[t+i]=s}return a&&(r.node.timestamp=Date.now()),a},write(r,e,t,n,o){if(!r.tty||!r.tty.ops.put_char)throw new Cr.ErrnoError(60);try{for(var a=0;a<n;a++)r.tty.ops.put_char(r.tty,e[t+a])}catch(r){throw new Cr.ErrnoError(29)}return n&&(r.node.timestamp=Date.now()),a}},default_tty_ops:{get_char:r=>(()=>{if(!vr.length){var r=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(r=window.prompt("Input: "))&&(r+="\n"):"function"==typeof readline&&null!==(r=readline())&&(r+="\n"),!r)return null;vr=wr(r,!0)}return vr.shift()})(),put_char(r,e){null===e||10===e?(E(mr(r.output,0)),r.output=[]):0!=e&&r.output.push(e)},fsync(r){r.output&&r.output.length>0&&(E(mr(r.output,0)),r.output=[])},ioctl_tcgets:r=>({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:(r,e,t)=>0,ioctl_tiocgwinsz:r=>[24,80]},default_tty1_ops:{put_char(r,e){null===e||10===e?(k(mr(r.output,0)),r.output=[]):0!=e&&r.output.push(e)},fsync(r){r.output&&r.output.length>0&&(k(mr(r.output,0)),r.output=[])}}},br=r=>{r=((r,e)=>Math.ceil(r/e)*e)(r,65536);var e=En(65536,r);return e?((r,e)=>(n().fill(0,r,r+e),r))(e,r):0},Er={ops_table:null,mount:r=>Er.createNode(null,"/",16895,0),createNode(r,e,t,n){if(Cr.isBlkdev(t)||Cr.isFIFO(t))throw new Cr.ErrnoError(63);Er.ops_table||(Er.ops_table={dir:{node:{getattr:Er.node_ops.getattr,setattr:Er.node_ops.setattr,lookup:Er.node_ops.lookup,mknod:Er.node_ops.mknod,rename:Er.node_ops.rename,unlink:Er.node_ops.unlink,rmdir:Er.node_ops.rmdir,readdir:Er.node_ops.readdir,symlink:Er.node_ops.symlink},stream:{llseek:Er.stream_ops.llseek}},file:{node:{getattr:Er.node_ops.getattr,setattr:Er.node_ops.setattr},stream:{llseek:Er.stream_ops.llseek,read:Er.stream_ops.read,write:Er.stream_ops.write,allocate:Er.stream_ops.allocate,mmap:Er.stream_ops.mmap,msync:Er.stream_ops.msync}},link:{node:{getattr:Er.node_ops.getattr,setattr:Er.node_ops.setattr,readlink:Er.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Er.node_ops.getattr,setattr:Er.node_ops.setattr},stream:Cr.chrdev_stream_ops}});var o=Cr.createNode(r,e,t,n);return Cr.isDir(o.mode)?(o.node_ops=Er.ops_table.dir.node,o.stream_ops=Er.ops_table.dir.stream,o.contents={}):Cr.isFile(o.mode)?(o.node_ops=Er.ops_table.file.node,o.stream_ops=Er.ops_table.file.stream,o.usedBytes=0,o.contents=null):Cr.isLink(o.mode)?(o.node_ops=Er.ops_table.link.node,o.stream_ops=Er.ops_table.link.stream):Cr.isChrdev(o.mode)&&(o.node_ops=Er.ops_table.chrdev.node,o.stream_ops=Er.ops_table.chrdev.stream),o.timestamp=Date.now(),r&&(r.contents[e]=o,r.timestamp=o.timestamp),o},getFileDataAsTypedArray:r=>r.contents?r.contents.subarray?r.contents.subarray(0,r.usedBytes):new Uint8Array(r.contents):new Uint8Array(0),expandFileStorage(r,e){var t=r.contents?r.contents.length:0;if(!(t>=e)){e=Math.max(e,t*(t<1048576?2:1.125)>>>0),0!=t&&(e=Math.max(e,256));var n=r.contents;r.contents=new Uint8Array(e),r.usedBytes>0&&r.contents.set(n.subarray(0,r.usedBytes),0)}},resizeFileStorage(r,e){if(r.usedBytes!=e)if(0==e)r.contents=null,r.usedBytes=0;else{var t=r.contents;r.contents=new Uint8Array(e),t&&r.contents.set(t.subarray(0,Math.min(e,r.usedBytes))),r.usedBytes=e}},node_ops:{getattr(r){var e={};return e.dev=Cr.isChrdev(r.mode)?r.id:1,e.ino=r.id,e.mode=r.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=r.rdev,Cr.isDir(r.mode)?e.size=4096:Cr.isFile(r.mode)?e.size=r.usedBytes:Cr.isLink(r.mode)?e.size=r.link.length:e.size=0,e.atime=new Date(r.timestamp),e.mtime=new Date(r.timestamp),e.ctime=new Date(r.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr(r,e){void 0!==e.mode&&(r.mode=e.mode),void 0!==e.timestamp&&(r.timestamp=e.timestamp),void 0!==e.size&&Er.resizeFileStorage(r,e.size)},lookup(r,e){throw Cr.genericErrors[44]},mknod:(r,e,t,n)=>Er.createNode(r,e,t,n),rename(r,e,t){if(Cr.isDir(r.mode)){var n;try{n=Cr.lookupNode(e,t)}catch(r){}if(n)for(var o in n.contents)throw new Cr.ErrnoError(55)}delete r.parent.contents[r.name],r.parent.timestamp=Date.now(),r.name=t,e.contents[t]=r,e.timestamp=r.parent.timestamp,r.parent=e},unlink(r,e){delete r.contents[e],r.timestamp=Date.now()},rmdir(r,e){var t=Cr.lookupNode(r,e);for(var n in t.contents)throw new Cr.ErrnoError(55);delete r.contents[e],r.timestamp=Date.now()},readdir(r){var e=[".",".."];for(var t in r.contents)r.contents.hasOwnProperty(t)&&e.push(t);return e},symlink(r,e,t){var n=Er.createNode(r,e,41471,0);return n.link=t,n},readlink(r){if(!Cr.isLink(r.mode))throw new Cr.ErrnoError(28);return r.link}},stream_ops:{read(r,e,t,n,o){var a=r.node.contents;if(o>=r.node.usedBytes)return 0;var i=Math.min(r.node.usedBytes-o,n);if(i>8&&a.subarray)e.set(a.subarray(o,o+i),t);else for(var s=0;s<i;s++)e[t+s]=a[o+s];return i},write(r,e,n,o,a,i){if(e.buffer===t().buffer&&(i=!1),!o)return 0;var s=r.node;if(s.timestamp=Date.now(),e.subarray&&(!s.contents||s.contents.subarray)){if(i)return s.contents=e.subarray(n,n+o),s.usedBytes=o,o;if(0===s.usedBytes&&0===a)return s.contents=e.slice(n,n+o),s.usedBytes=o,o;if(a+o<=s.usedBytes)return s.contents.set(e.subarray(n,n+o),a),o}if(Er.expandFileStorage(s,a+o),s.contents.subarray&&e.subarray)s.contents.set(e.subarray(n,n+o),a);else for(var u=0;u<o;u++)s.contents[a+u]=e[n+u];return s.usedBytes=Math.max(s.usedBytes,a+o),o},llseek(r,e,t){var n=e;if(1===t?n+=r.position:2===t&&Cr.isFile(r.node.mode)&&(n+=r.node.usedBytes),n<0)throw new Cr.ErrnoError(28);return n},allocate(r,e,t){Er.expandFileStorage(r.node,e+t),r.node.usedBytes=Math.max(r.node.usedBytes,e+t)},mmap(r,e,n,o,a){if(!Cr.isFile(r.node.mode))throw new Cr.ErrnoError(43);var i,s,u=r.node.contents;if(2&a||u.buffer!==t().buffer){if((n>0||n+e<u.length)&&(u=u.subarray?u.subarray(n,n+e):Array.prototype.slice.call(u,n,n+e)),s=!0,!(i=br(e)))throw new Cr.ErrnoError(48);t().set(u,i)}else s=!1,i=u.byteOffset;return{ptr:i,allocated:s}},msync:(r,e,t,n,o)=>(Er.stream_ops.write(r,e,0,n,t,!1),0)}},kr=d.preloadPlugins||[],Tr=(r,e)=>{var t=0;return r&&(t|=365),e&&(t|=146),t},Cr={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(r,e={}){if(!(r=hr.resolve(r)))return{path:"",node:null};if((e=Object.assign({follow_mount:!0,recurse_count:0},e)).recurse_count>8)throw new Cr.ErrnoError(32);for(var t=r.split("/").filter((r=>!!r)),n=Cr.root,o="/",a=0;a<t.length;a++){var i=a===t.length-1;if(i&&e.parent)break;if(n=Cr.lookupNode(n,t[a]),o=dr.join2(o,t[a]),Cr.isMountpoint(n)&&(!i||i&&e.follow_mount)&&(n=n.mounted.root),!i||e.follow)for(var s=0;Cr.isLink(n.mode);){var u=Cr.readlink(o);if(o=hr.resolve(dr.dirname(o),u),n=Cr.lookupPath(o,{recurse_count:e.recurse_count+1}).node,s++>40)throw new Cr.ErrnoError(32)}}return{path:o,node:n}},getPath(r){for(var e;;){if(Cr.isRoot(r)){var t=r.mount.mountpoint;return e?"/"!==t[t.length-1]?`${t}/${e}`:t+e:t}e=e?`${r.name}/${e}`:r.name,r=r.parent}},hashName(r,e){for(var t=0,n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(r+t>>>0)%Cr.nameTable.length},hashAddNode(r){var e=Cr.hashName(r.parent.id,r.name);r.name_next=Cr.nameTable[e],Cr.nameTable[e]=r},hashRemoveNode(r){var e=Cr.hashName(r.parent.id,r.name);if(Cr.nameTable[e]===r)Cr.nameTable[e]=r.name_next;else for(var t=Cr.nameTable[e];t;){if(t.name_next===r){t.name_next=r.name_next;break}t=t.name_next}},lookupNode(r,e){var t=Cr.mayLookup(r);if(t)throw new Cr.ErrnoError(t,r);for(var n=Cr.hashName(r.id,e),o=Cr.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===r.id&&a===e)return o}return Cr.lookup(r,e)},createNode(r,e,t,n){var o=new Cr.FSNode(r,e,t,n);return Cr.hashAddNode(o),o},destroyNode(r){Cr.hashRemoveNode(r)},isRoot:r=>r===r.parent,isMountpoint:r=>!!r.mounted,isFile:r=>32768==(61440&r),isDir:r=>16384==(61440&r),isLink:r=>40960==(61440&r),isChrdev:r=>8192==(61440&r),isBlkdev:r=>24576==(61440&r),isFIFO:r=>4096==(61440&r),isSocket:r=>49152==(49152&r),flagsToPermissionString(r){var e=["r","w","rw"][3&r];return 512&r&&(e+="w"),e},nodePermissions:(r,e)=>Cr.ignorePermissions||(!e.includes("r")||292&r.mode)&&(!e.includes("w")||146&r.mode)&&(!e.includes("x")||73&r.mode)?0:2,mayLookup(r){var e=Cr.nodePermissions(r,"x");return e||(r.node_ops.lookup?0:2)},mayCreate(r,e){try{Cr.lookupNode(r,e);return 20}catch(r){}return Cr.nodePermissions(r,"wx")},mayDelete(r,e,t){var n;try{n=Cr.lookupNode(r,e)}catch(r){return r.errno}var o=Cr.nodePermissions(r,"wx");if(o)return o;if(t){if(!Cr.isDir(n.mode))return 54;if(Cr.isRoot(n)||Cr.getPath(n)===Cr.cwd())return 10}else if(Cr.isDir(n.mode))return 31;return 0},mayOpen:(r,e)=>r?Cr.isLink(r.mode)?32:Cr.isDir(r.mode)&&("r"!==Cr.flagsToPermissionString(e)||512&e)?31:Cr.nodePermissions(r,Cr.flagsToPermissionString(e)):44,MAX_OPEN_FDS:4096,nextfd(){for(var r=0;r<=Cr.MAX_OPEN_FDS;r++)if(!Cr.streams[r])return r;throw new Cr.ErrnoError(33)},getStreamChecked(r){var e=Cr.getStream(r);if(!e)throw new Cr.ErrnoError(8);return e},getStream:r=>Cr.streams[r],createStream:(r,e=-1)=>(Cr.FSStream||(Cr.FSStream=function(){this.shared={}},Cr.FSStream.prototype={},Object.defineProperties(Cr.FSStream.prototype,{object:{get(){return this.node},set(r){this.node=r}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(r){this.shared.flags=r}},position:{get(){return this.shared.position},set(r){this.shared.position=r}}})),r=Object.assign(new Cr.FSStream,r),-1==e&&(e=Cr.nextfd()),r.fd=e,Cr.streams[e]=r,r),closeStream(r){Cr.streams[r]=null},chrdev_stream_ops:{open(r){var e=Cr.getDevice(r.node.rdev);r.stream_ops=e.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek(){throw new Cr.ErrnoError(70)}},major:r=>r>>8,minor:r=>255&r,makedev:(r,e)=>r<<8|e,registerDevice(r,e){Cr.devices[r]={stream_ops:e}},getDevice:r=>Cr.devices[r],getMounts(r){for(var e=[],t=[r];t.length;){var n=t.pop();e.push(n),t.push.apply(t,n.mounts)}return e},syncfs(r,e){"function"==typeof r&&(e=r,r=!1),Cr.syncFSRequests++,Cr.syncFSRequests>1&&k(`warning: ${Cr.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=Cr.getMounts(Cr.root.mount),n=0;function o(r){return Cr.syncFSRequests--,e(r)}function a(r){if(r)return a.errored?void 0:(a.errored=!0,o(r));++n>=t.length&&o(null)}t.forEach((e=>{if(!e.type.syncfs)return a(null);e.type.syncfs(e,r,a)}))},mount(r,e,t){var n,o="/"===t,a=!t;if(o&&Cr.root)throw new Cr.ErrnoError(10);if(!o&&!a){var i=Cr.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,Cr.isMountpoint(n))throw new Cr.ErrnoError(10);if(!Cr.isDir(n.mode))throw new Cr.ErrnoError(54)}var s={type:r,opts:e,mountpoint:t,mounts:[]},u=r.mount(s);return u.mount=s,s.root=u,o?Cr.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount(r){var e=Cr.lookupPath(r,{follow_mount:!1});if(!Cr.isMountpoint(e.node))throw new Cr.ErrnoError(28);var t=e.node,n=t.mounted,o=Cr.getMounts(n);Object.keys(Cr.nameTable).forEach((r=>{for(var e=Cr.nameTable[r];e;){var t=e.name_next;o.includes(e.mount)&&Cr.destroyNode(e),e=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(r,e)=>r.node_ops.lookup(r,e),mknod(r,e,t){var n=Cr.lookupPath(r,{parent:!0}).node,o=dr.basename(r);if(!o||"."===o||".."===o)throw new Cr.ErrnoError(28);var a=Cr.mayCreate(n,o);if(a)throw new Cr.ErrnoError(a);if(!n.node_ops.mknod)throw new Cr.ErrnoError(63);return n.node_ops.mknod(n,o,e,t)},create:(r,e)=>(e=void 0!==e?e:438,e&=4095,e|=32768,Cr.mknod(r,e,0)),mkdir:(r,e)=>(e=void 0!==e?e:511,e&=1023,e|=16384,Cr.mknod(r,e,0)),mkdirTree(r,e){for(var t=r.split("/"),n="",o=0;o<t.length;++o)if(t[o]){n+="/"+t[o];try{Cr.mkdir(n,e)}catch(r){if(20!=r.errno)throw r}}},mkdev:(r,e,t)=>("undefined"==typeof t&&(t=e,e=438),e|=8192,Cr.mknod(r,e,t)),symlink(r,e){if(!hr.resolve(r))throw new Cr.ErrnoError(44);var t=Cr.lookupPath(e,{parent:!0}).node;if(!t)throw new Cr.ErrnoError(44);var n=dr.basename(e),o=Cr.mayCreate(t,n);if(o)throw new Cr.ErrnoError(o);if(!t.node_ops.symlink)throw new Cr.ErrnoError(63);return t.node_ops.symlink(t,n,r)},rename(r,e){var t,n,o=dr.dirname(r),a=dr.dirname(e),i=dr.basename(r),s=dr.basename(e);if(t=Cr.lookupPath(r,{parent:!0}).node,n=Cr.lookupPath(e,{parent:!0}).node,!t||!n)throw new Cr.ErrnoError(44);if(t.mount!==n.mount)throw new Cr.ErrnoError(75);var u,c=Cr.lookupNode(t,i),l=hr.relative(r,a);if("."!==l.charAt(0))throw new Cr.ErrnoError(28);if("."!==(l=hr.relative(e,o)).charAt(0))throw new Cr.ErrnoError(55);try{u=Cr.lookupNode(n,s)}catch(r){}if(c!==u){var d=Cr.isDir(c.mode),f=Cr.mayDelete(t,i,d);if(f)throw new Cr.ErrnoError(f);if(f=u?Cr.mayDelete(n,s,d):Cr.mayCreate(n,s))throw new Cr.ErrnoError(f);if(!t.node_ops.rename)throw new Cr.ErrnoError(63);if(Cr.isMountpoint(c)||u&&Cr.isMountpoint(u))throw new Cr.ErrnoError(10);if(n!==t&&(f=Cr.nodePermissions(t,"w")))throw new Cr.ErrnoError(f);Cr.hashRemoveNode(c);try{t.node_ops.rename(c,n,s)}catch(r){throw r}finally{Cr.hashAddNode(c)}}},rmdir(r){var e=Cr.lookupPath(r,{parent:!0}).node,t=dr.basename(r),n=Cr.lookupNode(e,t),o=Cr.mayDelete(e,t,!0);if(o)throw new Cr.ErrnoError(o);if(!e.node_ops.rmdir)throw new Cr.ErrnoError(63);if(Cr.isMountpoint(n))throw new Cr.ErrnoError(10);e.node_ops.rmdir(e,t),Cr.destroyNode(n)},readdir(r){var e=Cr.lookupPath(r,{follow:!0}).node;if(!e.node_ops.readdir)throw new Cr.ErrnoError(54);return e.node_ops.readdir(e)},unlink(r){var e=Cr.lookupPath(r,{parent:!0}).node;if(!e)throw new Cr.ErrnoError(44);var t=dr.basename(r),n=Cr.lookupNode(e,t),o=Cr.mayDelete(e,t,!1);if(o)throw new Cr.ErrnoError(o);if(!e.node_ops.unlink)throw new Cr.ErrnoError(63);if(Cr.isMountpoint(n))throw new Cr.ErrnoError(10);e.node_ops.unlink(e,t),Cr.destroyNode(n)},readlink(r){var e=Cr.lookupPath(r).node;if(!e)throw new Cr.ErrnoError(44);if(!e.node_ops.readlink)throw new Cr.ErrnoError(28);return hr.resolve(Cr.getPath(e.parent),e.node_ops.readlink(e))},stat(r,e){var t=Cr.lookupPath(r,{follow:!e}).node;if(!t)throw new Cr.ErrnoError(44);if(!t.node_ops.getattr)throw new Cr.ErrnoError(63);return t.node_ops.getattr(t)},lstat:r=>Cr.stat(r,!0),chmod(r,e,t){var n;"string"==typeof r?n=Cr.lookupPath(r,{follow:!t}).node:n=r;if(!n.node_ops.setattr)throw new Cr.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&e|-4096&n.mode,timestamp:Date.now()})},lchmod(r,e){Cr.chmod(r,e,!0)},fchmod(r,e){var t=Cr.getStreamChecked(r);Cr.chmod(t.node,e)},chown(r,e,t,n){var o;"string"==typeof r?o=Cr.lookupPath(r,{follow:!n}).node:o=r;if(!o.node_ops.setattr)throw new Cr.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(r,e,t){Cr.chown(r,e,t,!0)},fchown(r,e,t){var n=Cr.getStreamChecked(r);Cr.chown(n.node,e,t)},truncate(r,e){if(e<0)throw new Cr.ErrnoError(28);var t;"string"==typeof r?t=Cr.lookupPath(r,{follow:!0}).node:t=r;if(!t.node_ops.setattr)throw new Cr.ErrnoError(63);if(Cr.isDir(t.mode))throw new Cr.ErrnoError(31);if(!Cr.isFile(t.mode))throw new Cr.ErrnoError(28);var n=Cr.nodePermissions(t,"w");if(n)throw new Cr.ErrnoError(n);t.node_ops.setattr(t,{size:e,timestamp:Date.now()})},ftruncate(r,e){var t=Cr.getStreamChecked(r);if(0==(2097155&t.flags))throw new Cr.ErrnoError(28);Cr.truncate(t.node,e)},utime(r,e,t){var n=Cr.lookupPath(r,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(e,t)})},open(r,e,t){if(""===r)throw new Cr.ErrnoError(44);var n;if(t="undefined"==typeof t?438:t,t=64&(e="string"==typeof e?(r=>{var e={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[r];if("undefined"==typeof e)throw new Error(`Unknown file open mode: ${r}`);return e})(e):e)?4095&t|32768:0,"object"==typeof r)n=r;else{r=dr.normalize(r);try{n=Cr.lookupPath(r,{follow:!(131072&e)}).node}catch(r){}}var o=!1;if(64&e)if(n){if(128&e)throw new Cr.ErrnoError(20)}else n=Cr.mknod(r,t,0),o=!0;if(!n)throw new Cr.ErrnoError(44);if(Cr.isChrdev(n.mode)&&(e&=-513),65536&e&&!Cr.isDir(n.mode))throw new Cr.ErrnoError(54);if(!o){var a=Cr.mayOpen(n,e);if(a)throw new Cr.ErrnoError(a)}512&e&&!o&&Cr.truncate(n,0),e&=-131713;var i=Cr.createStream({node:n,path:Cr.getPath(n),flags:e,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return i.stream_ops.open&&i.stream_ops.open(i),!d.logReadFiles||1&e||(Cr.readFiles||(Cr.readFiles={}),r in Cr.readFiles||(Cr.readFiles[r]=1)),i},close(r){if(Cr.isClosed(r))throw new Cr.ErrnoError(8);r.getdents&&(r.getdents=null);try{r.stream_ops.close&&r.stream_ops.close(r)}catch(r){throw r}finally{Cr.closeStream(r.fd)}r.fd=null},isClosed:r=>null===r.fd,llseek(r,e,t){if(Cr.isClosed(r))throw new Cr.ErrnoError(8);if(!r.seekable||!r.stream_ops.llseek)throw new Cr.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Cr.ErrnoError(28);return r.position=r.stream_ops.llseek(r,e,t),r.ungotten=[],r.position},read(r,e,t,n,o){if(n<0||o<0)throw new Cr.ErrnoError(28);if(Cr.isClosed(r))throw new Cr.ErrnoError(8);if(1==(2097155&r.flags))throw new Cr.ErrnoError(8);if(Cr.isDir(r.node.mode))throw new Cr.ErrnoError(31);if(!r.stream_ops.read)throw new Cr.ErrnoError(28);var a="undefined"!=typeof o;if(a){if(!r.seekable)throw new Cr.ErrnoError(70)}else o=r.position;var i=r.stream_ops.read(r,e,t,n,o);return a||(r.position+=i),i},write(r,e,t,n,o,a){if(n<0||o<0)throw new Cr.ErrnoError(28);if(Cr.isClosed(r))throw new Cr.ErrnoError(8);if(0==(2097155&r.flags))throw new Cr.ErrnoError(8);if(Cr.isDir(r.node.mode))throw new Cr.ErrnoError(31);if(!r.stream_ops.write)throw new Cr.ErrnoError(28);r.seekable&&1024&r.flags&&Cr.llseek(r,0,2);var i="undefined"!=typeof o;if(i){if(!r.seekable)throw new Cr.ErrnoError(70)}else o=r.position;var s=r.stream_ops.write(r,e,t,n,o,a);return i||(r.position+=s),s},allocate(r,e,t){if(Cr.isClosed(r))throw new Cr.ErrnoError(8);if(e<0||t<=0)throw new Cr.ErrnoError(28);if(0==(2097155&r.flags))throw new Cr.ErrnoError(8);if(!Cr.isFile(r.node.mode)&&!Cr.isDir(r.node.mode))throw new Cr.ErrnoError(43);if(!r.stream_ops.allocate)throw new Cr.ErrnoError(138);r.stream_ops.allocate(r,e,t)},mmap(r,e,t,n,o){if(0!=(2&n)&&0==(2&o)&&2!=(2097155&r.flags))throw new Cr.ErrnoError(2);if(1==(2097155&r.flags))throw new Cr.ErrnoError(2);if(!r.stream_ops.mmap)throw new Cr.ErrnoError(43);return r.stream_ops.mmap(r,e,t,n,o)},msync:(r,e,t,n,o)=>r.stream_ops.msync?r.stream_ops.msync(r,e,t,n,o):0,munmap:r=>0,ioctl(r,e,t){if(!r.stream_ops.ioctl)throw new Cr.ErrnoError(59);return r.stream_ops.ioctl(r,e,t)},readFile(r,e={}){if(e.flags=e.flags||0,e.encoding=e.encoding||"binary","utf8"!==e.encoding&&"binary"!==e.encoding)throw new Error(`Invalid encoding type "${e.encoding}"`);var t,n=Cr.open(r,e.flags),o=Cr.stat(r).size,a=new Uint8Array(o);return Cr.read(n,a,0,o,0),"utf8"===e.encoding?t=mr(a,0):"binary"===e.encoding&&(t=a),Cr.close(n),t},writeFile(r,e,t={}){t.flags=t.flags||577;var n=Cr.open(r,t.flags,t.mode);if("string"==typeof e){var o=new Uint8Array(yr(e)+1),a=gr(e,o,0,o.length);Cr.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(e))throw new Error("Unsupported data type");Cr.write(n,e,0,e.byteLength,void 0,t.canOwn)}Cr.close(n)},cwd:()=>Cr.currentPath,chdir(r){var e=Cr.lookupPath(r,{follow:!0});if(null===e.node)throw new Cr.ErrnoError(44);if(!Cr.isDir(e.node.mode))throw new Cr.ErrnoError(54);var t=Cr.nodePermissions(e.node,"x");if(t)throw new Cr.ErrnoError(t);Cr.currentPath=e.path},createDefaultDirectories(){Cr.mkdir("/tmp"),Cr.mkdir("/home"),Cr.mkdir("/home/web_user")},createDefaultDevices(){Cr.mkdir("/dev"),Cr.registerDevice(Cr.makedev(1,3),{read:()=>0,write:(r,e,t,n,o)=>n}),Cr.mkdev("/dev/null",Cr.makedev(1,3)),_r.register(Cr.makedev(5,0),_r.default_tty_ops),_r.register(Cr.makedev(6,0),_r.default_tty1_ops),Cr.mkdev("/dev/tty",Cr.makedev(5,0)),Cr.mkdev("/dev/tty1",Cr.makedev(6,0));var r=new Uint8Array(1024),e=0,t=()=>(0===e&&(e=fr(r).byteLength),r[--e]);Cr.createDevice("/dev","random",t),Cr.createDevice("/dev","urandom",t),Cr.mkdir("/dev/shm"),Cr.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Cr.mkdir("/proc");var r=Cr.mkdir("/proc/self");Cr.mkdir("/proc/self/fd"),Cr.mount({mount(){var e=Cr.createNode(r,"fd",16895,73);return e.node_ops={lookup(r,e){var t=+e,n=Cr.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},e}},{},"/proc/self/fd")},createStandardStreams(){d.stdin?Cr.createDevice("/dev","stdin",d.stdin):Cr.symlink("/dev/tty","/dev/stdin"),d.stdout?Cr.createDevice("/dev","stdout",null,d.stdout):Cr.symlink("/dev/tty","/dev/stdout"),d.stderr?Cr.createDevice("/dev","stderr",null,d.stderr):Cr.symlink("/dev/tty1","/dev/stderr");Cr.open("/dev/stdin",0),Cr.open("/dev/stdout",1),Cr.open("/dev/stderr",1)},ensureErrnoError(){Cr.ErrnoError||(Cr.ErrnoError=function(r,e){this.name="ErrnoError",this.node=e,this.setErrno=function(r){this.errno=r},this.setErrno(r),this.message="FS error"},Cr.ErrnoError.prototype=new Error,Cr.ErrnoError.prototype.constructor=Cr.ErrnoError,[44].forEach((r=>{Cr.genericErrors[r]=new Cr.ErrnoError(r),Cr.genericErrors[r].stack="<generic error, no stack>"})))},staticInit(){Cr.ensureErrnoError(),Cr.nameTable=new Array(4096),Cr.mount(Er,{},"/"),Cr.createDefaultDirectories(),Cr.createDefaultDevices(),Cr.createSpecialDirectories(),Cr.filesystems={MEMFS:Er}},init(r,e,t){Cr.init.initialized=!0,Cr.ensureErrnoError(),d.stdin=r||d.stdin,d.stdout=e||d.stdout,d.stderr=t||d.stderr,Cr.createStandardStreams()},quit(){Cr.init.initialized=!1;for(var r=0;r<Cr.streams.length;r++){var e=Cr.streams[r];e&&Cr.close(e)}},findObject(r,e){var t=Cr.analyzePath(r,e);return t.exists?t.object:null},analyzePath(r,e){try{r=(n=Cr.lookupPath(r,{follow:!e})).path}catch(r){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Cr.lookupPath(r,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=dr.basename(r),n=Cr.lookupPath(r,{follow:!e}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(r){t.error=r.errno}return t},createPath(r,e,t,n){r="string"==typeof r?r:Cr.getPath(r);for(var o=e.split("/").reverse();o.length;){var a=o.pop();if(a){var i=dr.join2(r,a);try{Cr.mkdir(i)}catch(r){}r=i}}return i},createFile(r,e,t,n,o){var a=dr.join2("string"==typeof r?r:Cr.getPath(r),e),i=Tr(n,o);return Cr.create(a,i)},createDataFile(r,e,t,n,o,a){var i=e;r&&(r="string"==typeof r?r:Cr.getPath(r),i=e?dr.join2(r,e):r);var s=Tr(n,o),u=Cr.create(i,s);if(t){if("string"==typeof t){for(var c=new Array(t.length),l=0,d=t.length;l<d;++l)c[l]=t.charCodeAt(l);t=c}Cr.chmod(u,146|s);var f=Cr.open(u,577);Cr.write(f,t,0,t.length,0,a),Cr.close(f),Cr.chmod(u,s)}return u},createDevice(r,e,t,n){var o=dr.join2("string"==typeof r?r:Cr.getPath(r),e),a=Tr(!!t,!!n);Cr.createDevice.major||(Cr.createDevice.major=64);var i=Cr.makedev(Cr.createDevice.major++,0);return Cr.registerDevice(i,{open(r){r.seekable=!1},close(r){n&&n.buffer&&n.buffer.length&&n(10)},read(r,e,n,o,a){for(var i=0,s=0;s<o;s++){var u;try{u=t()}catch(r){throw new Cr.ErrnoError(29)}if(void 0===u&&0===i)throw new Cr.ErrnoError(6);if(null==u)break;i++,e[n+s]=u}return i&&(r.node.timestamp=Date.now()),i},write(r,e,t,o,a){for(var i=0;i<o;i++)try{n(e[t+i])}catch(r){throw new Cr.ErrnoError(29)}return o&&(r.node.timestamp=Date.now()),i}}),Cr.mkdev(o,a,i)},forceLoadFile(r){if(r.isDevice||r.isFolder||r.link||r.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!f)throw new Error("Cannot load without read() or XMLHttpRequest.");try{r.contents=wr(f(r.url),!0),r.usedBytes=r.contents.length}catch(r){throw new Cr.ErrnoError(29)}},createLazyFile(r,e,n,o,a){function i(){this.lengthKnown=!1,this.chunks=[]}if(i.prototype.get=function(r){if(!(r>this.length-1||r<0)){var e=r%this.chunkSize,t=r/this.chunkSize|0;return this.getter(t)[e]}},i.prototype.setDataGetter=function(r){this.getter=r},i.prototype.cacheLength=function(){var r=new XMLHttpRequest;if(r.open("HEAD",n,!1),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw new Error("Couldn't load "+n+". Status: "+r.status);var e,t=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=t);var s=this;s.setDataGetter((r=>{var e=r*i,o=(r+1)*i-1;if(o=Math.min(o,t-1),"undefined"==typeof s.chunks[r]&&(s.chunks[r]=((r,e)=>{if(r>e)throw new Error("invalid range ("+r+", "+e+") or no bytes requested!");if(e>t-1)throw new Error("only "+t+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",n,!1),t!==i&&o.setRequestHeader("Range","bytes="+r+"-"+e),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+n+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):wr(o.responseText||"",!0)})(e,o)),"undefined"==typeof s.chunks[r])throw new Error("doXHR failed!");return s.chunks[r]})),!a&&t||(i=t=1,t=this.getter(0).length,i=t,E("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=t,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){0;var s=new i;Object.defineProperties(s,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var u={isDevice:!1,contents:s}}else u={isDevice:!1,url:n};var c=Cr.createFile(r,e,u,o,a);u.contents?c.contents=u.contents:u.url&&(c.contents=null,c.url=u.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var l={};function d(r,e,t,n,o){var a=r.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s<i;s++)e[t+s]=a[o+s];else for(s=0;s<i;s++)e[t+s]=a.get(o+s);return i}return Object.keys(c.stream_ops).forEach((r=>{var e=c.stream_ops[r];l[r]=function(){return Cr.forceLoadFile(c),e.apply(null,arguments)}})),l.read=(r,e,t,n,o)=>(Cr.forceLoadFile(c),d(r,e,t,n,o)),l.mmap=(r,e,n,o,a)=>{Cr.forceLoadFile(c);var i=br(e);if(!i)throw new Cr.ErrnoError(48);return d(r,t(),i,e,n),{ptr:i,allocated:!0}},c.stream_ops=l,c}},Pr=(r,e)=>r?mr(n(),r,e):"",Sr={DEFAULT_POLLMASK:5,calculateAt(r,e,t){if(dr.isAbs(e))return e;var n;-100===r?n=Cr.cwd():n=Sr.getStreamFromFD(r).path;if(0==e.length){if(!t)throw new Cr.ErrnoError(44);return n}return dr.join2(n,e)},doStat(r,e,t){try{var n=r(e)}catch(r){if(r&&r.node&&dr.normalize(e)!==dr.normalize(Cr.getPath(r.node)))return-54;throw r}i()[t>>2]=n.dev,i()[t+4>>2]=n.mode,s()[t+8>>2]=n.nlink,i()[t+12>>2]=n.uid,i()[t+16>>2]=n.gid,i()[t+20>>2]=n.rdev,tr=[n.size>>>0,(er=n.size,+Math.abs(er)>=1?er>0?+Math.floor(er/4294967296)>>>0:~~+Math.ceil((er-+(~~er>>>0))/4294967296)>>>0:0)],i()[t+24>>2]=tr[0],i()[t+28>>2]=tr[1],i()[t+32>>2]=4096,i()[t+36>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),u=n.ctime.getTime();return tr=[Math.floor(o/1e3)>>>0,(er=Math.floor(o/1e3),+Math.abs(er)>=1?er>0?+Math.floor(er/4294967296)>>>0:~~+Math.ceil((er-+(~~er>>>0))/4294967296)>>>0:0)],i()[t+40>>2]=tr[0],i()[t+44>>2]=tr[1],s()[t+48>>2]=o%1e3*1e3,tr=[Math.floor(a/1e3)>>>0,(er=Math.floor(a/1e3),+Math.abs(er)>=1?er>0?+Math.floor(er/4294967296)>>>0:~~+Math.ceil((er-+(~~er>>>0))/4294967296)>>>0:0)],i()[t+56>>2]=tr[0],i()[t+60>>2]=tr[1],s()[t+64>>2]=a%1e3*1e3,tr=[Math.floor(u/1e3)>>>0,(er=Math.floor(u/1e3),+Math.abs(er)>=1?er>0?+Math.floor(er/4294967296)>>>0:~~+Math.ceil((er-+(~~er>>>0))/4294967296)>>>0:0)],i()[t+72>>2]=tr[0],i()[t+76>>2]=tr[1],s()[t+80>>2]=u%1e3*1e3,tr=[n.ino>>>0,(er=n.ino,+Math.abs(er)>=1?er>0?+Math.floor(er/4294967296)>>>0:~~+Math.ceil((er-+(~~er>>>0))/4294967296)>>>0:0)],i()[t+88>>2]=tr[0],i()[t+92>>2]=tr[1],0},doMsync(r,e,t,o,a){if(!Cr.isFile(e.node.mode))throw new Cr.ErrnoError(43);if(2&o)return 0;var i=n().slice(r,r+t);Cr.msync(e,i,a,t,o)},varargs:void 0,get(){var r=i()[Sr.varargs>>2];return Sr.varargs+=4,r},getp:()=>Sr.get(),getStr:r=>Pr(r),getStreamFromFD:r=>Cr.getStreamChecked(r)};function $r(r){if(g)return Tt(0,1,r);S=r,Y()||(Ar.terminateAllThreads(),d.onExit&&d.onExit(r),x=!0),y(r,new sr(r))}var Mr=(r,e)=>{if(S=r,g)throw Wr(r),"unwind";$r(r)},Dr=r=>{if(r instanceof sr||"unwind"==r)return S;y(1,r)},Ar={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init(){g?Ar.initWorker():Ar.initMainThread()},initMainThread(){for(var r=Math.min(4,Math.max(1,navigator.hardwareConcurrency-1));r--;)Ar.allocateUnusedWorker();q((()=>{K(),Ar.loadWasmModuleToAllWorkers((()=>J()))}))},initWorker(){P=!1},setExitStatus:r=>{S=r},terminateAllThreads__deps:["$terminateWorker"],terminateAllThreads:()=>{for(var r of Ar.runningWorkers)ur(r);for(var r of Ar.unusedWorkers)ur(r);Ar.unusedWorkers=[],Ar.runningWorkers=[],Ar.pthreads=[]},returnWorkerToPool:r=>{var e=r.pthread_ptr;delete Ar.pthreads[e],Ar.unusedWorkers.push(r),Ar.runningWorkers.splice(Ar.runningWorkers.indexOf(r),1),r.pthread_ptr=0,Pn(e)},receiveObjectTransfer(r){},threadInitTLS(){Ar.tlsInitFunctions.forEach((r=>r()))},loadWasmModuleToWorker:e=>new Promise((t=>{e.onmessage=r=>{var n=r.data,o=n.cmd;if(n.targetThread&&n.targetThread!=_n()){var a=Ar.pthreads[n.targetThread];a?a.postMessage(n,n.transferList):k(`Internal error! Worker sent a message "${o}" to target pthread ${n.targetThread}, but that thread no longer exists!`)}else{var i;"checkMailbox"===o?Et():"spawnThread"===o?lr(n):"cleanupThread"===o?cr(n.thread):"killThread"===o?(r=>{var e=Ar.pthreads[r];delete Ar.pthreads[r],ur(e),Pn(r),Ar.runningWorkers.splice(Ar.runningWorkers.indexOf(e),1),e.pthread_ptr=0})(n.thread):"cancelThread"===o?(i=n.thread,Ar.pthreads[i].postMessage({cmd:"cancel"})):"loaded"===o?(e.loaded=!0,t(e)):"alert"===o?alert(`Thread ${n.threadId}: ${n.text}`):"setimmediate"===n.target?e.postMessage(n):"callHandler"===o?d[n.handler](...n.args):o&&k(`worker sent an unknown command ${o}`)}},e.onerror=r=>{throw k(`worker sent an error! ${r.filename}:${r.lineno}: ${r.message}`),r};var n=[];for(var o of["onExit","onAbort","print","printErr"])d.hasOwnProperty(o)&&n.push(o);e.postMessage({cmd:"load",handlers:n,urlOrBlob:d.mainScriptUrlOrBlob||r,wasmMemory:T,wasmModule:C})})),loadWasmModuleToAllWorkers(r){if(g)return r();Promise.all(Ar.unusedWorkers.map(Ar.loadWasmModuleToWorker)).then(r)},allocateUnusedWorker(){var r,e=_("ScanbotSDK.Asm-simd-threads.worker.js");r=new Worker(e),Ar.unusedWorkers.push(r)},getNewWorker:()=>(0==Ar.unusedWorkers.length&&(Ar.allocateUnusedWorker(),Ar.loadWasmModuleToWorker(Ar.unusedWorkers[0])),Ar.unusedWorkers.pop())};d.PThread=Ar;var Fr=r=>{for(;r.length>0;)r.shift()(d)};function Wr(r){if(g)return Tt(1,0,r);Mr(r)}d.establishStackSpace=()=>{var r=_n(),e=i()[r+52>>2],t=i()[r+56>>2];Dn(e,e-t),Fn(e)};var jr=r=>N.get(r);d.invokeEntryPoint=(r,e)=>{!function(r){Y()?Ar.setExitStatus(r):Sn(r)}(jr(r)(e))};var Or=r=>{Ar.tlsInitFunctions.push(r)},xr=[],Rr=0,Ir=0;function Nr(r){this.excPtr=r,this.ptr=r-24,this.set_type=function(r){s()[this.ptr+4>>2]=r},this.get_type=function(){return s()[this.ptr+4>>2]},this.set_destructor=function(r){s()[this.ptr+8>>2]=r},this.get_destructor=function(){return s()[this.ptr+8>>2]},this.set_caught=function(r){r=r?1:0,t()[this.ptr+12>>0]=r},this.get_caught=function(){return 0!=t()[this.ptr+12>>0]},this.set_rethrown=function(r){r=r?1:0,t()[this.ptr+13>>0]=r},this.get_rethrown=function(){return 0!=t()[this.ptr+13>>0]},this.init=function(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e)},this.set_adjusted_ptr=function(r){s()[this.ptr+16>>2]=r},this.get_adjusted_ptr=function(){return s()[this.ptr+16>>2]},this.get_exception_ptr=function(){if(Rn(this.get_type()))return s()[this.excPtr>>2];var r=this.get_adjusted_ptr();return 0!==r?r:this.excPtr}}var Ur=r=>{var e=Ir;if(!e)return bn(0),0;var t=new Nr(e);t.set_adjusted_ptr(e);var n=t.get_type();if(!n)return bn(0),e;for(var o in r){var a=r[o];if(0===a||a===n)break;var i=t.ptr+16;if(xn(a,n,i))return bn(a),e}return bn(n),e},zr=()=>{var r=xr.pop();r||Z("no exception to throw");var e=r.excPtr;throw r.get_rethrown()||(xr.push(r),r.set_rethrown(!0),r.set_caught(!1),Rr++),Ir=e};function Hr(r,e,t,n){return g?Tt(2,1,r,e,t,n):Lr(r,e,t,n)}var Lr=(r,e,t,n)=>{if("undefined"==typeof SharedArrayBuffer)return k("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var o=[];if(g&&0===o.length)return Hr(r,e,t,n);var a={startRoutine:t,pthread_ptr:r,arg:n,transferList:o};return g?(a.cmd="spawnThread",postMessage(a,o),0):lr(a)};function Br(r,e,t,n,o){if(g)return Tt(3,1,r,e,t,n,o);try{for(var a=0,s=e?i()[e>>2]:0,u=e?i()[e+4>>2]:0,c=t?i()[t>>2]:0,l=t?i()[t+4>>2]:0,d=n?i()[n>>2]:0,f=n?i()[n+4>>2]:0,h=0,p=0,m=0,v=0,y=0,w=0,_=(e?i()[e>>2]:0)|(t?i()[t>>2]:0)|(n?i()[n>>2]:0),b=(e?i()[e+4>>2]:0)|(t?i()[t+4>>2]:0)|(n?i()[n+4>>2]:0),E=function(r,e,t,n){return r<32?e&n:t&n},k=0;k<r;k++){var T=1<<k%32;if(E(k,_,b,T)){var C=Sr.getStreamFromFD(k),P=Sr.DEFAULT_POLLMASK;if(C.stream_ops.poll){var S=-1;if(o)S=1e3*((e?i()[o>>2]:0)+(e?i()[o+8>>2]:0)/1e6);P=C.stream_ops.poll(C,S)}1&P&&E(k,s,u,T)&&(k<32?h|=T:p|=T,a++),4&P&&E(k,c,l,T)&&(k<32?m|=T:v|=T,a++),2&P&&E(k,d,f,T)&&(k<32?y|=T:w|=T,a++)}}return e&&(i()[e>>2]=h,i()[e+4>>2]=p),t&&(i()[t>>2]=m,i()[t+4>>2]=v),n&&(i()[n>>2]=y,i()[n+4>>2]=w),a}catch(r){if("undefined"==typeof Cr||"ErrnoError"!==r.name)throw r;return-r.errno}}function Yr(r,e,t){if(g)return Tt(4,1,r,e,t);Sr.varargs=t;try{var n=Sr.getStreamFromFD(r);switch(e){case 0:if((a=Sr.get())<0)return-28;for(;Cr.streams[a];)a++;return Cr.createStream(n,a).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var a=Sr.get();return n.flags|=a,0;case 5:a=Sr.getp();return o()[a+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return s=28,i()[wn()>>2]=s,-1}}catch(r){if("undefined"==typeof Cr||"ErrnoError"!==r.name)throw r;return-r.errno}var s}function Vr(r,e){if(g)return Tt(5,1,r,e);try{var t=Sr.getStreamFromFD(r);return Sr.doStat(Cr.stat,t.path,e)}catch(r){if("undefined"==typeof Cr||"ErrnoError"!==r.name)throw r;return-r.errno}}function qr(r,e,n){if(g)return Tt(6,1,r,e,n);Sr.varargs=n;try{var a=Sr.getStreamFromFD(r);switch(e){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return a.tty?0:-59;case 21505:if(!a.tty)return-59;if(a.tty.ops.ioctl_tcgets){var s=a.tty.ops.ioctl_tcgets(a),u=Sr.getp();i()[u>>2]=s.c_iflag||0,i()[u+4>>2]=s.c_oflag||0,i()[u+8>>2]=s.c_cflag||0,i()[u+12>>2]=s.c_lflag||0;for(var c=0;c<32;c++)t()[u+c+17>>0]=s.c_cc[c]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!a.tty)return-59;if(a.tty.ops.ioctl_tcsets){u=Sr.getp();var l=i()[u>>2],d=i()[u+4>>2],f=i()[u+8>>2],h=i()[u+12>>2],p=[];for(c=0;c<32;c++)p.push(t()[u+c+17>>0]);return a.tty.ops.ioctl_tcsets(a.tty,e,{c_iflag:l,c_oflag:d,c_cflag:f,c_lflag:h,c_cc:p})}return 0;case 21519:if(!a.tty)return-59;u=Sr.getp();return i()[u>>2]=0,0;case 21520:return a.tty?-28:-59;case 21531:u=Sr.getp();return Cr.ioctl(a,e,u);case 21523:if(!a.tty)return-59;if(a.tty.ops.ioctl_tiocgwinsz){var m=a.tty.ops.ioctl_tiocgwinsz(a.tty);u=Sr.getp();o()[u>>1]=m[0],o()[u+2>>1]=m[1]}return 0;default:return-28}}catch(r){if("undefined"==typeof Cr||"ErrnoError"!==r.name)throw r;return-r.errno}}function Qr(r,e,t,n){if(g)return Tt(8,1,r,e,t,n);try{e=Sr.getStr(e);var o=256&n,a=4096&n;return n&=-6401,e=Sr.calculateAt(r,e,a),Sr.doStat(o?Cr.lstat:Cr.stat,e,t)}catch(r){if("undefined"==typeof Cr||"ErrnoError"!==r.name)throw r;return-r.errno}}function Gr(r,e,t,n){if(g)return Tt(9,1,r,e,t,n);Sr.varargs=n;try{e=Sr.getStr(e),e=Sr.calculateAt(r,e);var o=n?Sr.get():0;return Cr.open(e,t,o).fd}catch(r){if("undefined"==typeof Cr||"ErrnoError"!==r.name)throw r;return-r.errno}}function Xr(r){if(g)return Tt(10,1,r);try{return r=Sr.getStr(r),Cr.rmdir(r),0}catch(r){if("undefined"==typeof Cr||"ErrnoError"!==r.name)throw r;return-r.errno}}function Kr(r,e){if(g)return Tt(11,1,r,e);try{return r=Sr.getStr(r),Sr.doStat(Cr.stat,r,e)}catch(r){if("undefined"==typeof Cr||"ErrnoError"!==r.name)throw r;return-r.errno}}function Jr(r,e,t){if(g)return Tt(12,1,r,e,t);try{return e=Sr.getStr(e),e=Sr.calculateAt(r,e),0===t?Cr.unlink(e):512===t?Cr.rmdir(e):Z("Invalid flags passed to unlinkat"),0}catch(r){if("undefined"==typeof Cr||"ErrnoError"!==r.name)throw r;return-r.errno}}var Zr=void 0,re=r=>{for(var e="",t=r;n()[t];)e+=Zr[n()[t++]];return e},ee={},te={},ne={},oe=void 0,ae=r=>{throw new oe(r)},ie=void 0,se=r=>{throw new ie(r)},ue=(r,e,t)=>{function n(e){var n=t(e);n.length!==r.length&&se("Mismatched type converter count");for(var o=0;o<r.length;++o)ce(r[o],n[o])}r.forEach((function(r){ne[r]=e}));var o=new Array(e.length),a=[],i=0;e.forEach(((r,e)=>{te.hasOwnProperty(r)?o[e]=te[r]:(a.push(r),ee.hasOwnProperty(r)||(ee[r]=[]),ee[r].push((()=>{o[e]=te[r],++i===a.length&&n(o)})))})),0===a.length&&n(o)};function ce(r,e,t={}){if(!("argPackAdvance"in e))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(r,e,t={}){var n=e.name;if(r||ae(`type "${n}" must have a positive integer typeid pointer`),te.hasOwnProperty(r)){if(t.ignoreDuplicateRegistrations)return;ae(`Cannot register type '${n}' twice`)}if(te[r]=e,delete ne[r],ee.hasOwnProperty(r)){var o=ee[r];delete ee[r],o.forEach((r=>r()))}}(r,e,t)}function le(r){if(!(this instanceof Fe))return!1;if(!(r instanceof Fe))return!1;for(var e=this.$$.ptrType.registeredClass,t=this.$$.ptr,n=r.$$.ptrType.registeredClass,o=r.$$.ptr;e.baseClass;)t=e.upcast(t),e=e.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return e===n&&t===o}var de=r=>{ae(r.$$.ptrType.registeredClass.name+" instance already deleted")},fe=!1,he=r=>{},pe=r=>{r.count.value-=1,0===r.count.value&&(r=>{r.smartPtr?r.smartPtrType.rawDestructor(r.smartPtr):r.ptrType.registeredClass.rawDestructor(r.ptr)})(r)},me=(r,e,t)=>{if(e===t)return r;if(void 0===t.baseClass)return null;var n=me(r,e,t.baseClass);return null===n?null:t.downcast(n)},ve={},ye=()=>Object.keys(ke).length,ge=()=>{var r=[];for(var e in ke)ke.hasOwnProperty(e)&&r.push(ke[e]);return r},we=[],_e=()=>{for(;we.length;){var r=we.pop();r.$$.deleteScheduled=!1,r.delete()}},be=void 0,Ee=r=>{be=r,we.length&&be&&be(_e)},ke={},Te=(r,e)=>(e=((r,e)=>{for(void 0===e&&ae("ptr should not be undefined");r.baseClass;)e=r.upcast(e),r=r.baseClass;return e})(r,e),ke[e]),Ce=(r,e)=>(e.ptrType&&e.ptr||se("makeClassHandle requires ptr and ptrType"),!!e.smartPtrType!==!!e.smartPtr&&se("Both smartPtrType and smartPtr must be specified"),e.count={value:1},Se(Object.create(r,{$$:{value:e}})));function Pe(r){var e=this.getPointee(r);if(!e)return this.destructor(r),null;var t=Te(this.registeredClass,e);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=e,t.$$.smartPtr=r,t.clone();var n=t.clone();return this.destructor(r),n}function o(){return this.isSmartPointer?Ce(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:e,smartPtrType:this,smartPtr:r}):Ce(this.registeredClass.instancePrototype,{ptrType:this,ptr:r})}var a,i=this.registeredClass.getActualType(e),s=ve[i];if(!s)return o.call(this);a=this.isConst?s.constPointerType:s.pointerType;var u=me(e,this.registeredClass,a.registeredClass);return null===u?o.call(this):this.isSmartPointer?Ce(a.registeredClass.instancePrototype,{ptrType:a,ptr:u,smartPtrType:this,smartPtr:r}):Ce(a.registeredClass.instancePrototype,{ptrType:a,ptr:u})}var Se=r=>"undefined"==typeof FinalizationRegistry?(Se=r=>r,r):(fe=new FinalizationRegistry((r=>{pe(r.$$)})),Se=r=>{var e=r.$$;if(!!e.smartPtr){var t={$$:e};fe.register(r,t,r)}return r},he=r=>fe.unregister(r),Se(r));function $e(){if(this.$$.ptr||de(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var r,e=Se(Object.create(Object.getPrototypeOf(this),{$$:{value:(r=this.$$,{count:r.count,deleteScheduled:r.deleteScheduled,preservePointerOnDelete:r.preservePointerOnDelete,ptr:r.ptr,ptrType:r.ptrType,smartPtr:r.smartPtr,smartPtrType:r.smartPtrType})}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function Me(){this.$$.ptr||de(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ae("Object already scheduled for deletion"),he(this),pe(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function De(){return!this.$$.ptr}function Ae(){return this.$$.ptr||de(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ae("Object already scheduled for deletion"),we.push(this),1===we.length&&be&&be(_e),this.$$.deleteScheduled=!0,this}function Fe(){}var We=r=>{if(void 0===r)return"_unknown";var e=(r=r.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return e>=48&&e<=57?`_${r}`:r};function je(r,e){return{[r=We(r)]:function(){return e.apply(this,arguments)}}[r]}var Oe=(r,e,t)=>{if(void 0===r[e].overloadTable){var n=r[e];r[e]=function(){return r[e].overloadTable.hasOwnProperty(arguments.length)||ae(`Function '${t}' called with an invalid number of arguments (${arguments.length}) - expects one of (${r[e].overloadTable})!`),r[e].overloadTable[arguments.length].apply(this,arguments)},r[e].overloadTable=[],r[e].overloadTable[n.argCount]=n}},xe=(r,e,t)=>{d.hasOwnProperty(r)?((void 0===t||void 0!==d[r].overloadTable&&void 0!==d[r].overloadTable[t])&&ae(`Cannot register public name '${r}' twice`),Oe(d,r,r),d.hasOwnProperty(t)&&ae(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),d[r].overloadTable[t]=e):(d[r]=e,void 0!==t&&(d[r].numArguments=t))};function Re(r,e,t,n,o,a,i,s){this.name=r,this.constructor=e,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=o,this.getActualType=a,this.upcast=i,this.downcast=s,this.pureVirtualFunctions=[]}var Ie=(r,e,t)=>{for(;e!==t;)e.upcast||ae(`Expected null or instance of ${t.name}, got an instance of ${e.name}`),r=e.upcast(r),e=e.baseClass;return r};function Ne(r,e){if(null===e)return this.isReference&&ae(`null is not a valid ${this.name}`),0;e.$$||ae(`Cannot pass "${ct(e)}" as a ${this.name}`),e.$$.ptr||ae(`Cannot pass deleted object as a pointer of type ${this.name}`);var t=e.$$.ptrType.registeredClass;return Ie(e.$$.ptr,t,this.registeredClass)}function Ue(r,e){var t;if(null===e)return this.isReference&&ae(`null is not a valid ${this.name}`),this.isSmartPointer?(t=this.rawConstructor(),null!==r&&r