diff --git a/www/js/lib/libzim-asm.js b/www/js/lib/libzim-asm.js index 09b19e6e..b3cf1580 100644 --- a/www/js/lib/libzim-asm.js +++ b/www/js/lib/libzim-asm.js @@ -1,13 +1,4 @@ - -var k;k||(k=typeof Module !== 'undefined' ? Module : {}); -self.addEventListener("message",function(ja){var Ib=performance.now(),V=ja.data.action,Jc=ja.data.path,ka=ja.ports[0];console.debug("WebWorker called with action="+V);if("getEntryByPath"===V){var Jb=ja.data.H,la=k[V](Jc);if(la){var kb={};if(Jb||!la.Ea()){kb=la.getItem(Jb);var Kb=performance.now(),Kc=kb.getData(),Lb=performance.now(),Mb=Kc.jd(),Nb=performance.now(),Lc=new Uint8Array(Mb),Ob=performance.now();ka.postMessage({content:Lc,Ac:kb.ld(),Ea:la.Ea()});var Pb=performance.now();console.debug("content length = "+ -Mb.length+" read in "+Math.round(Pb-Ib)+" ms ("+Math.round(Kb-Ib)+" ms to find the entry, "+Math.round(Lb-Kb)+" ms for getData, "+Math.round(Nb-Lb)+" ms for getContent, "+Math.round(Ob-Nb)+" ms for array copying, "+Math.round(Pb-Ob)+" ms for postMessage)")}else ka.postMessage({content:new Uint8Array,Ea:!0,xd:la.md().M()})}else ka.postMessage({content:new Uint8Array,Ac:"unknown",Ea:!1})}else if("search"===V){var Ja=k[V](ja.data.text,ja.data.vd||50);console.debug("Found nb results = "+Ja.size(),Ja); -for(var Qb=[],lb=0;lb=Ya.length&&(Ya.length=a+1),Ya[a]=b=cc.get(a));return b}var Da=[],Za=0;function X(a){this.ra=a;this.m=a-24;this.Yc=function(b){E[this.m+4>> -2]=b};this.T=function(){return E[this.m+4>>2]};this.Ec=function(b){E[this.m+8>>2]=b};this.rc=function(){return E[this.m+8>>2]};this.Oc=function(){v[this.m>>2]=0};this.ob=function(b){M[this.m+12>>0]=b?1:0};this.wc=function(){return 0!=M[this.m+12>>0]};this.Ja=function(b){M[this.m+13>>0]=b?1:0};this.Hb=function(){return 0!=M[this.m+13>>0]};this.Y=function(b,c){this.ja(0);this.Yc(b);this.Ec(c);this.Oc();this.ob(!1);this.Ja(!1)};this.Lb=function(){v[this.m>>2]+=1};this.Mc=function(){var b=v[this.m>>2]; -v[this.m>>2]=b-1;return 1===b};this.ja=function(b){E[this.m+16>>2]=b};this.vc=function(){return E[this.m+16>>2]};this.xc=function(){if(hc(this.T()))return E[this.ra>>2];var b=this.vc();return 0!==b?b:this.ra}}function ic(a){return U((new X(a)).m)}function jc(a){if(a.Mc()&&!a.Hb()){var b=a.rc();b&&C(b)(a.ra);ic(a.ra)}}var ea=0;function kc(){var a=Da.pop();a||Q("no exception to throw");var b=a.ra;a.Hb()||(Da.push(a),a.Ja(!0),a.ob(!1),Za++);ea=b;throw b;}var y={$a:a=>"/"===a.charAt(0),Rc:a=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1), -gb:(a,b)=>{for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a},normalize:a=>{var b=y.$a(a),c="/"===a.substr(-1);(a=y.gb(a.split("/").filter(d=>!!d),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},dirname:a=>{var b=y.Rc(a);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b},basename:a=>{if("/"===a)return"/";a=y.normalize(a);a=a.replace(/\/$/,"");var b= -a.lastIndexOf("/");return-1===b?a:a.substr(b+1)},join:function(){var a=Array.prototype.slice.call(arguments,0);return y.normalize(a.join("/"))},aa:(a,b)=>y.normalize(a+"/"+b)};function Wc(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var a=new Uint8Array(1);return function(){crypto.getRandomValues(a);return a[0]}}if(ya)try{var b=require("crypto");return function(){return b.randomBytes(1)[0]}}catch(c){}return function(){Q("randomDevice")}}var Y={resolve:function(){for(var a= -"",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:e.cwd();if("string"!=typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b=y.$a(b)}a=y.gb(a.split("/").filter(d=>!!d),!b).join("/");return(b?"/":"")+a||"."},relative:(a,b)=>{function c(h){for(var l=0;lp?[]:h.slice(l,p-l+1)}a=Y.resolve(a).substr(1);b=Y.resolve(b).substr(1);a=c(a.split("/"));b=c(b.split("/"));for(var d= -Math.min(a.length,b.length),f=d,g=0;g=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.j,a.j=new Uint8Array(b),0=a.node.u)return 0;a=Math.min(a.node.u-f,d);if(8b)throw new e.g(28);return b},qa:function(a,b,c){w.Cb(a.node,b+c);a.node.u=Math.max(a.node.u,b+c)},la:function(a,b,c,d,f){if(!e.isFile(a.node.mode))throw new e.g(43);a=a.node.j;if(f&2||a.buffer!== -ua){if(0=a.node.size)return 0;a=a.node.j.slice(f,f+d);d=H.kb.readAsArrayBuffer(a);b.set(new Uint8Array(d),c);return a.size},write:function(){throw new e.g(29);},J:function(a,b,c){1===c?b+=a.position:2===c&&e.isFile(a.node.mode)&&(b+=a.node.size);if(0>b)throw new e.g(28);return b}}},e={root:null,wa:[], -Ab:{},streams:[],Cc:1,O:null,yb:"/",Za:!1,Mb:!0,g:null,Va:{},mc:null,La:0,s:(a,b={})=>{a=Y.resolve(e.cwd(),a);if(!a)return{path:"",node:null};b=Object.assign({Ua:!0,lb:0},b);if(8!!h),!1);for(var c=e.root,d="/",f=0;f{for(var b;;){if(e.Fa(a))return a=a.v.Ob,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}},Ya:(a,b)=>{for(var c=0,d=0;d>>0)%e.O.length},Jb:a=>{var b=e.Ya(a.parent.id,a.name);a.da=e.O[b];e.O[b]=a},Kb:a=>{var b=e.Ya(a.parent.id,a.name);if(e.O[b]===a)e.O[b]=a.da;else for(b=e.O[b];b;){if(b.da===a){b.da=a.da;break}b=b.da}},U:(a,b)=>{var c=e.yc(a);if(c)throw new e.g(c,a);for(c= -e.O[e.Ya(a.id,b)];c;c=c.da){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return e.lookup(a,b)},createNode:(a,b,c,d)=>{a=new e.Tb(a,b,c,d);e.Jb(a);return a},Ta:a=>{e.Kb(a)},Fa:a=>a===a.parent,$:a=>!!a.va,isFile:a=>32768===(a&61440),D:a=>16384===(a&61440),ua:a=>40960===(a&61440),Ca:a=>8192===(a&61440),tc:a=>24576===(a&61440),isFIFO:a=>4096===(a&61440),isSocket:a=>49152===(a&49152),nc:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},Bc:a=>{var b=e.nc[a];if("undefined"==typeof b)throw Error("Unknown file open mode: "+ -a);return b},Db:a=>{var b=["r","w","rw"][a&3];a&512&&(b+="w");return b},ea:(a,b)=>{if(e.Mb)return 0;if(!b.includes("r")||a.mode&292){if(b.includes("w")&&!(a.mode&146)||b.includes("x")&&!(a.mode&73))return 2}else return 2;return 0},yc:a=>{var b=e.ea(a,"x");return b?b:a.i.lookup?0:2},fb:(a,b)=>{try{return e.U(a,b),20}catch(c){}return e.ea(a,"wx")},Ha:(a,b,c)=>{try{var d=e.U(a,b)}catch(f){return f.A}if(a=e.ea(a,"wx"))return a;if(c){if(!e.D(d.mode))return 54;if(e.Fa(d)||e.M(d)===e.cwd())return 10}else if(e.D(d.mode))return 31; -return 0},zc:(a,b)=>a?e.ua(a.mode)?32:e.D(a.mode)&&("r"!==e.Db(b)||b&512)?31:e.ea(a,e.Db(b)):44,Ub:4096,Dc:(a=0,b=e.Ub)=>{for(;a<=b;a++)if(!e.streams[a])return a;throw new e.g(33);},W:a=>e.streams[a],xb:(a,b,c)=>{e.Pa||(e.Pa=function(){this.Ka={}},e.Pa.prototype={object:{get:function(){return this.node},set:function(d){this.node=d}},flags:{get:function(){return this.Ka.flags},set:function(d){this.Ka.flags=d}},position:{get hd(){return this.Ka.position},set:function(d){this.Ka.position=d}}});a=Object.assign(new e.Pa, -a);b=e.Dc(b,c);a.fd=b;return e.streams[b]=a},$b:a=>{e.streams[a]=null},Zb:{open:a=>{a.l=e.pc(a.node.rdev).l;a.l.open&&a.l.open(a)},J:()=>{throw new e.g(70);}},eb:a=>a>>8,rd:a=>a&255,ba:(a,b)=>a<<8|b,nb:(a,b)=>{e.Ab[a]={l:b}},pc:a=>e.Ab[a],Fb:a=>{var b=[];for(a=[a];a.length;){var c=a.pop();b.push(c);a.push.apply(a,c.wa)}return b},Rb:(a,b)=>{function c(h){e.La--;return b(h)}function d(h){if(h){if(!d.lc)return d.lc=!0,c(h)}else++g>=f.length&&c(null)}"function"==typeof a&&(b=a,a=!1);e.La++;1{if(!h.type.Rb)return d(null);h.type.Rb(h,a,d)})},v:(a,b,c)=>{var d="/"===c,f=!c;if(d&&e.root)throw new e.g(10);if(!d&&!f){var g=e.s(c,{Ua:!1});c=g.path;g=g.node;if(e.$(g))throw new e.g(10);if(!e.D(g.mode))throw new e.g(54);}b={type:a,hb:b,Ob:c,wa:[]};a=a.v(b);a.v=b;b.root=a;d?e.root=a:g&&(g.va=b,g.v&&g.v.wa.push(b));return a},Bd:a=>{a=e.s(a,{Ua:!1});if(!e.$(a.node))throw new e.g(28); -a=a.node;var b=a.va,c=e.Fb(b);Object.keys(e.O).forEach(d=>{for(d=e.O[d];d;){var f=d.da;c.includes(d.v)&&e.Ta(d);d=f}});a.va=null;a.v.wa.splice(a.v.wa.indexOf(b),1)},lookup:(a,b)=>a.i.lookup(a,b),N:(a,b,c)=>{var d=e.s(a,{parent:!0}).node;a=y.basename(a);if(!a||"."===a||".."===a)throw new e.g(28);var f=e.fb(d,a);if(f)throw new e.g(f);if(!d.i.N)throw new e.g(63);return d.i.N(d,a,b,c)},create:(a,b)=>e.N(a,(void 0!==b?b:438)&4095|32768,0),mkdir:(a,b)=>e.N(a,(void 0!==b?b:511)&1023|16384,0),sd:(a,b)=>{a= -a.split("/");for(var c="",d=0;d{"undefined"==typeof c&&(c=b,b=438);return e.N(a,b|8192,c)},symlink:(a,b)=>{if(!Y.resolve(a))throw new e.g(44);var c=e.s(b,{parent:!0}).node;if(!c)throw new e.g(44);b=y.basename(b);var d=e.fb(c,b);if(d)throw new e.g(d);if(!c.i.symlink)throw new e.g(63);return c.i.symlink(c,b,a)},rename:(a,b)=>{var c=y.dirname(a),d=y.dirname(b),f=y.basename(a),g=y.basename(b);var h=e.s(a,{parent:!0}); -var l=h.node;h=e.s(b,{parent:!0});h=h.node;if(!l||!h)throw new e.g(44);if(l.v!==h.v)throw new e.g(75);var p=e.U(l,f);a=Y.relative(a,d);if("."!==a.charAt(0))throw new e.g(28);a=Y.relative(b,c);if("."!==a.charAt(0))throw new e.g(55);try{var n=e.U(h,g)}catch(q){}if(p!==n){b=e.D(p.mode);if(f=e.Ha(l,f,b))throw new e.g(f);if(f=n?e.Ha(h,g,b):e.fb(h,g))throw new e.g(f);if(!l.i.rename)throw new e.g(63);if(e.$(p)||n&&e.$(n))throw new e.g(10);if(h!==l&&(f=e.ea(l,"w")))throw new e.g(f);e.Kb(p);try{l.i.rename(p, -h,g)}catch(q){throw q;}finally{e.Jb(p)}}},rmdir:a=>{var b=e.s(a,{parent:!0}).node;a=y.basename(a);var c=e.U(b,a),d=e.Ha(b,a,!0);if(d)throw new e.g(d);if(!b.i.rmdir)throw new e.g(63);if(e.$(c))throw new e.g(10);b.i.rmdir(b,a);e.Ta(c)},readdir:a=>{a=e.s(a,{H:!0}).node;if(!a.i.readdir)throw new e.g(54);return a.i.readdir(a)},unlink:a=>{var b=e.s(a,{parent:!0}).node;if(!b)throw new e.g(44);a=y.basename(a);var c=e.U(b,a),d=e.Ha(b,a,!1);if(d)throw new e.g(d);if(!b.i.unlink)throw new e.g(63);if(e.$(c))throw new e.g(10); -b.i.unlink(b,a);e.Ta(c)},readlink:a=>{a=e.s(a).node;if(!a)throw new e.g(44);if(!a.i.readlink)throw new e.g(28);return Y.resolve(e.M(a.parent),a.i.readlink(a))},stat:(a,b)=>{a=e.s(a,{H:!b}).node;if(!a)throw new e.g(44);if(!a.i.I)throw new e.g(63);return a.i.I(a)},lstat:a=>e.stat(a,!0),chmod:(a,b,c)=>{a="string"==typeof a?e.s(a,{H:!c}).node:a;if(!a.i.C)throw new e.g(63);a.i.C(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})},lchmod:(a,b)=>{e.chmod(a,b,!0)},fchmod:(a,b)=>{a=e.W(a);if(!a)throw new e.g(8); -e.chmod(a.node,b)},chown:(a,b,c,d)=>{a="string"==typeof a?e.s(a,{H:!d}).node:a;if(!a.i.C)throw new e.g(63);a.i.C(a,{timestamp:Date.now()})},lchown:(a,b,c)=>{e.chown(a,b,c,!0)},fchown:(a,b,c)=>{a=e.W(a);if(!a)throw new e.g(8);e.chown(a.node,b,c)},truncate:(a,b)=>{if(0>b)throw new e.g(28);a="string"==typeof a?e.s(a,{H:!0}).node:a;if(!a.i.C)throw new e.g(63);if(e.D(a.mode))throw new e.g(31);if(!e.isFile(a.mode))throw new e.g(28);var c=e.ea(a,"w");if(c)throw new e.g(c);a.i.C(a,{size:b,timestamp:Date.now()})}, -ed:(a,b)=>{a=e.W(a);if(!a)throw new e.g(8);if(0===(a.flags&2097155))throw new e.g(28);e.truncate(a.node,b)},Cd:(a,b,c)=>{a=e.s(a,{H:!0}).node;a.i.C(a,{timestamp:Math.max(b,c)})},open:(a,b,c)=>{if(""===a)throw new e.g(44);b="string"==typeof b?e.Bc(b):b;c=b&64?("undefined"==typeof c?438:c)&4095|32768:0;if("object"==typeof a)var d=a;else{a=y.normalize(a);try{d=e.s(a,{H:!(b&131072)}).node}catch(g){}}var f=!1;if(b&64)if(d){if(b&128)throw new e.g(20);}else d=e.N(a,c,0),f=!0;if(!d)throw new e.g(44);e.Ca(d.mode)&& -(b&=-513);if(b&65536&&!e.D(d.mode))throw new e.g(54);if(!f&&(c=e.zc(d,b)))throw new e.g(c);b&512&&!f&&e.truncate(d,0);b&=-131713;d=e.xb({node:d,path:e.M(d),flags:b,seekable:!0,position:0,l:d.l,Zc:[],error:!1});d.l.open&&d.l.open(d);!k.logReadFiles||b&1||(e.jb||(e.jb={}),a in e.jb||(e.jb[a]=1));return d},close:a=>{if(e.ta(a))throw new e.g(8);a.Xa&&(a.Xa=null);try{a.l.close&&a.l.close(a)}catch(b){throw b;}finally{e.$b(a.fd)}a.fd=null},ta:a=>null===a.fd,J:(a,b,c)=>{if(e.ta(a))throw new e.g(8);if(!a.seekable|| -!a.l.J)throw new e.g(70);if(0!=c&&1!=c&&2!=c)throw new e.g(28);a.position=a.l.J(a,b,c);a.Zc=[];return a.position},read:(a,b,c,d,f)=>{if(0>d||0>f)throw new e.g(28);if(e.ta(a))throw new e.g(8);if(1===(a.flags&2097155))throw new e.g(8);if(e.D(a.node.mode))throw new e.g(31);if(!a.l.read)throw new e.g(28);var g="undefined"!=typeof f;if(!g)f=a.position;else if(!a.seekable)throw new e.g(70);b=a.l.read(a,b,c,d,f);g||(a.position+=b);return b},write:(a,b,c,d,f,g)=>{if(0>d||0>f)throw new e.g(28);if(e.ta(a))throw new e.g(8); -if(0===(a.flags&2097155))throw new e.g(8);if(e.D(a.node.mode))throw new e.g(31);if(!a.l.write)throw new e.g(28);a.seekable&&a.flags&1024&&e.J(a,0,2);var h="undefined"!=typeof f;if(!h)f=a.position;else if(!a.seekable)throw new e.g(70);b=a.l.write(a,b,c,d,f,g);h||(a.position+=b);return b},qa:(a,b,c)=>{if(e.ta(a))throw new e.g(8);if(0>b||0>=c)throw new e.g(28);if(0===(a.flags&2097155))throw new e.g(8);if(!e.isFile(a.node.mode)&&!e.D(a.node.mode))throw new e.g(43);if(!a.l.qa)throw new e.g(138);a.l.qa(a, -b,c)},la:(a,b,c,d,f)=>{if(0!==(d&2)&&0===(f&2)&&2!==(a.flags&2097155))throw new e.g(2);if(1===(a.flags&2097155))throw new e.g(2);if(!a.l.la)throw new e.g(43);return a.l.la(a,b,c,d,f)},ma:(a,b,c,d,f)=>a&&a.l.ma?a.l.ma(a,b,c,d,f):0,td:()=>0,Nb:(a,b,c)=>{if(!a.l.Nb)throw new e.g(59);return a.l.Nb(a,b,c)},readFile:(a,b={})=>{b.flags=b.flags||0;b.encoding=b.encoding||"binary";if("utf8"!==b.encoding&&"binary"!==b.encoding)throw Error('Invalid encoding type "'+b.encoding+'"');var c,d=e.open(a,b.flags);a= -e.stat(a).size;var f=new Uint8Array(a);e.read(d,f,0,a,0);"utf8"===b.encoding?c=ta(f,0):"binary"===b.encoding&&(c=f);e.close(d);return c},writeFile:(a,b,c={})=>{c.flags=c.flags||577;a=e.open(a,c.flags,c.mode);if("string"==typeof b){var d=new Uint8Array(Ua(b)+1);b=Ta(b,d,0,d.length);e.write(a,d,0,b,void 0,c.Yb)}else if(ArrayBuffer.isView(b))e.write(a,b,0,b.byteLength,void 0,c.Yb);else throw Error("Unsupported data type");e.close(a)},cwd:()=>e.yb,chdir:a=>{a=e.s(a,{H:!0});if(null===a.node)throw new e.g(44); -if(!e.D(a.node.mode))throw new e.g(54);var b=e.ea(a.node,"x");if(b)throw new e.g(b);e.yb=a.path},cc:()=>{e.mkdir("/tmp");e.mkdir("/home");e.mkdir("/home/web_user")},bc:()=>{e.mkdir("/dev");e.nb(e.ba(1,3),{read:()=>0,write:(b,c,d,f)=>f});e.Ia("/dev/null",e.ba(1,3));fa.register(e.ba(5,0),fa.ic);fa.register(e.ba(6,0),fa.hc);e.Ia("/dev/tty",e.ba(5,0));e.Ia("/dev/tty1",e.ba(6,0));var a=Wc();e.V("/dev","random",a);e.V("/dev","urandom",a);e.mkdir("/dev/shm");e.mkdir("/dev/shm/tmp")},ec:()=>{e.mkdir("/proc"); -var a=e.mkdir("/proc/self");e.mkdir("/proc/self/fd");e.v({v:()=>{var b=e.createNode(a,"fd",16895,73);b.i={lookup:(c,d)=>{var f=e.W(+d);if(!f)throw new e.g(8);c={parent:null,v:{Ob:"fake"},i:{readlink:()=>f.path}};return c.parent=c}};return b}},{},"/proc/self/fd")},fc:()=>{k.stdin?e.V("/dev","stdin",k.stdin):e.symlink("/dev/tty","/dev/stdin");k.stdout?e.V("/dev","stdout",null,k.stdout):e.symlink("/dev/tty","/dev/stdout");k.stderr?e.V("/dev","stderr",null,k.stderr):e.symlink("/dev/tty1","/dev/stderr"); -e.open("/dev/stdin",0);e.open("/dev/stdout",1);e.open("/dev/stderr",1)},Bb:()=>{e.g||(e.g=function(a,b){this.node=b;this.Pc=function(c){this.A=c};this.Pc(a);this.message="FS error"},e.g.prototype=Error(),e.g.prototype.constructor=e.g,[44].forEach(a=>{e.Va[a]=new e.g(a);e.Va[a].stack=""}))},Sc:()=>{e.Bb();e.O=Array(4096);e.v(w,{},"/");e.cc();e.bc();e.ec();e.mc={MEMFS:w,WORKERFS:H}},Y:(a,b,c)=>{e.Y.Za=!0;e.Bb();k.stdin=a||k.stdin;k.stdout=b||k.stdout;k.stderr=c||k.stderr;e.fc()}, -wd:()=>{e.Y.Za=!1;for(var a=0;a{var c=0;a&&(c|=365);b&&(c|=146);return c},dd:(a,b)=>{a=e.Qa(a,b);return a.exists?a.object:null},Qa:(a,b)=>{try{var c=e.s(a,{H:!b});a=c.path}catch(f){}var d={Fa:!1,exists:!1,error:0,name:null,path:null,object:null,Fc:!1,Hc:null,Gc:null};try{c=e.s(a,{parent:!0}),d.Fc=!0,d.Hc=c.path,d.Gc=c.node,d.name=y.basename(a),c=e.s(a,{H:!b}),d.exists=!0,d.path=c.path,d.object=c.node,d.name=c.node.name,d.Fa="/"=== -c.path}catch(f){d.error=f.A}return d},bd:(a,b)=>{a="string"==typeof a?a:e.M(a);for(b=b.split("/").reverse();b.length;){var c=b.pop();if(c){var d=y.aa(a,c);try{e.mkdir(d)}catch(f){}a=d}}return d},dc:(a,b,c,d,f)=>{a=y.aa("string"==typeof a?a:e.M(a),b);return e.create(a,e.Wa(d,f))},wb:(a,b,c,d,f,g)=>{var h=b;a&&(a="string"==typeof a?a:e.M(a),h=b?y.aa(a,b):a);a=e.Wa(d,f);h=e.create(h,a);if(c){if("string"==typeof c){b=Array(c.length);d=0;for(f=c.length;d{a=y.aa("string"==typeof a?a:e.M(a),b);b=e.Wa(!!c,!!d);e.V.eb||(e.V.eb=64);var f=e.ba(e.V.eb++,0);e.nb(f,{open:g=>{g.seekable=!1},close:()=>{d&&d.buffer&&d.buffer.length&&d(10)},read:(g,h,l,p)=>{for(var n=0,q=0;q{for(var n= -0;n{if(a.ab||a.uc||a.link||a.j)return!0;if("undefined"!=typeof XMLHttpRequest)throw 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(Pa)try{a.j=$a(Pa(a.url),!0),a.u=a.j.length}catch(b){throw new e.g(29);}else throw Error("Cannot load without read() or XMLHttpRequest."); -},ad:(a,b,c,d,f)=>{function g(){this.cb=!1;this.T=[]}g.prototype.get=function(n){if(!(n>this.length-1||0>n)){var q=n%this.chunkSize;return this.Ib(n/this.chunkSize|0)[q]}};g.prototype.ja=function(n){this.Ib=n};g.prototype.ub=function(){var n=new XMLHttpRequest;n.open("HEAD",c,!1);n.send(null);if(!(200<=n.status&&300>n.status||304===n.status))throw Error("Couldn't load "+c+". Status: "+n.status);var q=Number(n.getResponseHeader("Content-length")),t,u=(t=n.getResponseHeader("Accept-Ranges"))&&"bytes"=== -t;n=(t=n.getResponseHeader("Content-Encoding"))&&"gzip"===t;var m=1048576;u||(m=q);var r=this;r.ja(x=>{var B=x*m,I=(x+1)*m-1;I=Math.min(I,q-1);if("undefined"==typeof r.T[x]){var ha=r.T;if(B>I)throw Error("invalid range ("+B+", "+I+") or no bytes requested!");if(I>q-1)throw Error("only "+q+" bytes available! programmer error!");var L=new XMLHttpRequest;L.open("GET",c,!1);q!==m&&L.setRequestHeader("Range","bytes="+B+"-"+I);L.responseType="arraybuffer";L.overrideMimeType&&L.overrideMimeType("text/plain; charset=x-user-defined"); -L.send(null);if(!(200<=L.status&&300>L.status||304===L.status))throw Error("Couldn't load "+c+". Status: "+L.status);B=void 0!==L.response?new Uint8Array(L.response||[]):$a(L.responseText||"",!0);ha[x]=B}if("undefined"==typeof r.T[x])throw Error("doXHR failed!");return r.T[x]});if(n||!q)m=q=1,m=q=this.Ib(0).length,Aa("LazyFiles on gzip forces download of the whole file when length is accessed");this.Wb=q;this.Vb=m;this.cb=!0};if("undefined"!=typeof XMLHttpRequest){if(!ba)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; -var h=new g;Object.defineProperties(h,{length:{get:function(){this.cb||this.ub();return this.Wb}},chunkSize:{get:function(){this.cb||this.ub();return this.Vb}}});h={ab:!1,j:h}}else h={ab:!1,url:c};var l=e.dc(a,b,h,d,f);h.j?l.j=h.j:h.url&&(l.j=null,l.url=h.url);Object.defineProperties(l,{u:{get:function(){return this.j.length}}});var p={};Object.keys(l.l).forEach(n=>{var q=l.l[n];p[n]=function(){e.Eb(l);return q.apply(null,arguments)}});p.read=(n,q,t,u,m)=>{e.Eb(l);n=n.node.j;if(m>=n.length)return 0; -u=Math.min(n.length-m,u);if(n.slice)for(var r=0;r{function q(m){function r(x){n&&n();l||e.wb(a,b,x,d,f,p);g&&g();Ca(u)}Yc.nd(m,t,r,()=>{h&&h();Ca(u)})||r(m)}var t=b?Y.resolve(y.aa(a,b)):a,u="cp "+t;Wa(u);"string"==typeof c?Xc(c,m=>q(m),h):q(c)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,rb:()=>"EM_FS_"+window.location.pathname,sb:20,oa:"FILE_DATA", -yd:(a,b,c)=>{b=b||(()=>{});c=c||(()=>{});var d=e.indexedDB();try{var f=d.open(e.rb(),e.sb)}catch(g){return c(g)}f.onupgradeneeded=()=>{Aa("creating db");f.result.createObjectStore(e.oa)};f.onsuccess=()=>{var g=f.result.transaction([e.oa],"readwrite"),h=g.objectStore(e.oa),l=0,p=0,n=a.length;a.forEach(q=>{q=h.put(e.Qa(q).object.j,q);q.onsuccess=()=>{l++;l+p==n&&(0==p?b():c())};q.onerror=()=>{p++;l+p==n&&(0==p?b():c())}});g.onerror=c};f.onerror=c},qd:(a,b,c)=>{b=b||(()=>{});c=c||(()=>{});var d=e.indexedDB(); -try{var f=d.open(e.rb(),e.sb)}catch(g){return c(g)}f.onupgradeneeded=c;f.onsuccess=()=>{var g=f.result;try{var h=g.transaction([e.oa],"readonly")}catch(t){c(t);return}var l=h.objectStore(e.oa),p=0,n=0,q=a.length;a.forEach(t=>{var u=l.get(t);u.onsuccess=()=>{e.Qa(t).exists&&e.unlink(t);e.wb(y.dirname(t),y.basename(t),u.result,!0,!0,!0);p++;p+n==q&&(0==n?b():c())};u.onerror=()=>{n++;p+n==q&&(0==n?b():c())}});h.onerror=c};f.onerror=c}},A={$c:5,Sa:function(a,b,c){if(y.$a(b))return b;if(-100===a)a=e.cwd(); -else{a=e.W(a);if(!a)throw new e.g(8);a=a.path}if(0==b.length){if(!c)throw new e.g(44);return a}return y.aa(a,b)},Ba:function(a,b,c){try{var d=a(b)}catch(f){if(f&&f.node&&y.normalize(b)!==y.normalize(e.M(f.node)))return-54;throw f;}v[c>>2]=d.dev;v[c+4>>2]=0;v[c+8>>2]=d.ino;v[c+12>>2]=d.mode;v[c+16>>2]=d.nlink;v[c+20>>2]=d.uid;v[c+24>>2]=d.gid;v[c+28>>2]=d.rdev;v[c+32>>2]=0;W=[d.size>>>0,(J=d.size,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/ -4294967296)>>>0:0)];v[c+40>>2]=W[0];v[c+44>>2]=W[1];v[c+48>>2]=4096;v[c+52>>2]=d.blocks;v[c+56>>2]=d.atime.getTime()/1E3|0;v[c+60>>2]=0;v[c+64>>2]=d.mtime.getTime()/1E3|0;v[c+68>>2]=0;v[c+72>>2]=d.ctime.getTime()/1E3|0;v[c+76>>2]=0;W=[d.ino>>>0,(J=d.ino,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)];v[c+80>>2]=W[0];v[c+84>>2]=W[1];return 0},jc:function(a,b,c,d,f){a=K.slice(a,a+c);e.ma(b,a,f,c,d)},za:void 0,get:function(){A.za+= -4;return v[A.za-4>>2]},sa:function(a){return na(a)},X:function(a){a=e.W(a);if(!a)throw new e.g(8);return a}};function sb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var mc=void 0;function P(a){for(var b="";K[a];)b+=mc[K[a++]];return b}var va={},qa={},ab={};function tb(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function ub(a,b){a=tb(a);return(new Function("body", -"return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function vb(a,b){var c=ub(b,function(d){this.name=b;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var wa=void 0;function z(a){throw new wa(a);}var nc=void 0;function bb(a){throw new nc(a); -}function xa(a,b,c){function d(l){l=c(l);l.length!==a.length&&bb("Mismatched type converter count");for(var p=0;p{qa.hasOwnProperty(l)?f[p]=qa[l]:(g.push(l),va.hasOwnProperty(l)||(va[l]=[]),va[l].push(()=>{f[p]=qa[l];++h;h===g.length&&d(f)}))});0===g.length&&d(f)}function Z(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d= -b.name;a||z('type "'+d+'" must have a positive integer typeid pointer');if(qa.hasOwnProperty(a)){if(c.sc)return;z("Cannot register type '"+d+"' twice")}qa[a]=b;delete ab[a];va.hasOwnProperty(a)&&(b=va[a],delete va[a],b.forEach(f=>f()))}function wb(a){z(a.h.B.o.name+" instance already deleted")}var xb=!1;function oc(){}function pc(a){--a.count.value;0===a.count.value&&(a.G?a.K.fa(a.G):a.B.o.fa(a.m))}function qc(a,b,c){if(b===c)return a;if(void 0===c.L)return null;a=qc(a,b,c.L);return null===a?null: -c.kc(a)}var rc={},Ea=[];function yb(){for(;Ea.length;){var a=Ea.pop();a.h.ia=!1;a["delete"]()}}var Fa=void 0,Ga={};function Zc(a,b){for(void 0===b&&z("ptr should not be undefined");a.L;)b=a.ya(b),a=a.L;return Ga[b]}function cb(a,b){b.B&&b.m||bb("makeClassHandle requires ptr and ptrType");!!b.K!==!!b.G&&bb("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Ha(Object.create(a,{h:{value:b}}))}function Ha(a){if("undefined"===typeof FinalizationRegistry)return Ha=b=>b,a;xb=new FinalizationRegistry(b=> -{pc(b.h)});Ha=b=>{var c=b.h;c.G&&xb.register(b,{h:c},b);return b};oc=b=>xb.unregister(b);return Ha(a)}function ia(){}function sc(a,b,c){if(void 0===a[b].F){var d=a[b];a[b]=function(){a[b].F.hasOwnProperty(arguments.length)||z("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+a[b].F+")!");return a[b].F[arguments.length].apply(this,arguments)};a[b].F=[];a[b].F[d.Aa]=d}}function tc(a,b,c){k.hasOwnProperty(a)?((void 0===c||void 0!==k[a].F&&void 0!== -k[a].F[c])&&z("Cannot register public name '"+a+"' twice"),sc(k,a,a),k.hasOwnProperty(c)&&z("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),k[a].F[c]=b):(k[a]=b,void 0!==c&&(k[a].ud=c))}function $c(a,b,c,d,f,g,h,l){this.name=a;this.constructor=b;this.ka=c;this.fa=d;this.L=f;this.oc=g;this.ya=h;this.kc=l;this.Jc=[]}function zb(a,b,c){for(;b!==c;)b.ya||z("Expected null or instance of "+c.name+", got an instance of "+b.name),a=b.ya(a),b=b.L;return a}function ad(a, -b){if(null===b)return this.bb&&z("null is not a valid "+this.name),0;b.h||z('Cannot pass "'+Ab(b)+'" as a '+this.name);b.h.m||z("Cannot pass deleted object as a pointer of type "+this.name);return zb(b.h.m,b.h.B.o,this.o)}function bd(a,b){if(null===b){this.bb&&z("null is not a valid "+this.name);if(this.Ga){var c=this.Kc();null!==a&&a.push(this.fa,c);return c}return 0}b.h||z('Cannot pass "'+Ab(b)+'" as a '+this.name);b.h.m||z("Cannot pass deleted object as a pointer of type "+this.name);!this.Da&& -b.h.B.Da&&z("Cannot convert argument of type "+(b.h.K?b.h.K.name:b.h.B.name)+" to parameter type "+this.name);c=zb(b.h.m,b.h.B.o,this.o);if(this.Ga)switch(void 0===b.h.G&&z("Passing raw pointer to smart pointer is illegal"),this.Qc){case 0:b.h.K===this?c=b.h.G:z("Cannot convert argument of type "+(b.h.K?b.h.K.name:b.h.B.name)+" to parameter type "+this.name);break;case 1:c=b.h.G;break;case 2:if(b.h.K===this)c=b.h.G;else{var d=b.clone();c=this.Lc(c,db.qb(function(){d["delete"]()}));null!==a&&a.push(this.fa, -c)}break;default:z("Unsupporting sharing policy")}return c}function cd(a,b){if(null===b)return this.bb&&z("null is not a valid "+this.name),0;b.h||z('Cannot pass "'+Ab(b)+'" as a '+this.name);b.h.m||z("Cannot pass deleted object as a pointer of type "+this.name);b.h.B.Da&&z("Cannot convert argument of type "+b.h.B.name+" to parameter type "+this.name);return zb(b.h.m,b.h.B.o,this.o)}function eb(a){return this.fromWireType(E[a>>2])}function aa(a,b,c,d,f,g,h,l,p,n,q){this.name=a;this.o=b;this.bb=c; -this.Da=d;this.Ga=f;this.Ic=g;this.Qc=h;this.Pb=l;this.Kc=p;this.Lc=n;this.fa=q;f||void 0!==b.L?this.toWireType=bd:(this.toWireType=d?ad:cd,this.S=null)}function uc(a,b,c){k.hasOwnProperty(a)||bb("Replacing nonexistant public symbol");void 0!==k[a].F&&void 0!==c?k[a].F[c]=b:(k[a]=b,k[a].Aa=c)}function dd(a,b){var c=[];return function(){c.length=0;Object.assign(c,arguments);if(a.includes("j")){var d=k["dynCall_"+a];d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)}else d=C(b).apply(null,c); -return d}}function ra(a,b){a=P(a);var c=a.includes("j")?dd(a,b):C(b);"function"!=typeof c&&z("unknown function pointer with signature "+a+": "+b);return c}var vc=void 0;function wc(a){a=xc(a);var b=P(a);U(a);return b}function fb(a,b){function c(g){f[g]||qa[g]||(ab[g]?ab[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new vc(a+": "+d.map(wc).join([", "]));}function Bb(a,b){for(var c=[],d=0;d>2)+d]);return c}function ed(a){for(;a.length;){var b=a.pop();a.pop()(b)}} -function fd(a,b){if(!(a instanceof Function))throw new TypeError("new_ called with constructor type "+typeof a+" which is not a function");var c=ub(a.name||"unknownFunctionName",function(){});c.prototype=a.prototype;c=new c;a=a.apply(c,b);return a instanceof Object?a:c}function Cb(a,b,c,d,f){var g=b.length;2>g&&z("argTypes array size mismatch! Must at least get return value and 'this' types!");var h=null!==b[1]&&null!==c,l=!1;for(c=1;c{a||z("Cannot use deleted val. handle = "+a);return R[a].value},qb:a=>{switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Db.length?Db.pop():R.length;R[b]={mb:1,value:a};return b}}};function Ab(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"=== -b||"function"===b?a.toString():""+a}function gd(a,b){switch(b){case 2:return function(c){return this.fromWireType(Zb[c>>2])};case 3:return function(c){return this.fromWireType($b[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function hd(a,b,c){switch(b){case 0:return c?function(d){return M[d]}:function(d){return K[d]};case 1:return c?function(d){return oa[d>>1]}:function(d){return Va[d>>1]};case 2:return c?function(d){return v[d>>2]}:function(d){return E[d>>2]};default:throw new TypeError("Unknown integer type: "+ -a);}}var Eb={};function Ia(){if(!Ia.Qb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:La||"./this.program"},b;for(b in Eb)void 0===Eb[b]?delete a[b]:a[b]=Eb[b];var c=[];for(b in a)c.push(b+"="+a[b]);Ia.Qb=c}return Ia.Qb}function zc(a,b,c,d){for(var f=0,g=0;g>2],l=E[b+4>>2];b+=8;h=e.read(a,M,h,l,d);if(0>h)return-1;f+=h;if(h>>0<4194305-!!a?(a>>>0)+4294967296*b:NaN}function Ac(a,b,c,d){for(var f=0,g=0;g>2],l=E[b+4>>2];b+=8;h=e.write(a,M,h,l,d);if(0>h)return-1;f+=h}return f}function gb(a){return 0===a%4&&(0!==a%100||0===a%400)}var Bc=[31,29,31,30,31,30,31,31,30,31,30,31],Cc=[31,28,31,30,31,30,31,31,30,31,30,31];function jd(a,b,c,d){function f(m,r,x){for(m="number"==typeof m?m.toString():m||"";m.lengthI?-1:0x-m.getDate())r-=x-m.getDate()+1,m.setDate(1),11>B?m.setMonth(B+1):(m.setMonth(0),m.setFullYear(m.getFullYear()+1));else{m.setDate(m.getDate()+r);break}}B=new Date(m.getFullYear()+1,0,4);r=l(new Date(m.getFullYear(),0,4));B=l(B);return 0>=h(r,m)?0>=h(B,m)?m.getFullYear()+1:m.getFullYear():m.getFullYear()-1}var n=v[d+40>>2];d={Vc:v[d>>2],Uc:v[d+4>>2],Ma:v[d+8>>2],pb:v[d+12>>2], -Na:v[d+16>>2],ha:v[d+20>>2],R:v[d+24>>2],ga:v[d+28>>2],Ad:v[d+32>>2],Tc:v[d+36>>2],Wc:n?na(n):""};c=na(c);n={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var q in n)c=c.replace(new RegExp(q, -"g"),n[q]);var t="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),u="January February March April May June July August September October November December".split(" ");n={"%a":function(m){return t[m.R].substring(0,3)},"%A":function(m){return t[m.R]},"%b":function(m){return u[m.Na].substring(0,3)},"%B":function(m){return u[m.Na]},"%C":function(m){return g((m.ha+1900)/100|0,2)},"%d":function(m){return g(m.pb,2)},"%e":function(m){return f(m.pb,2," ")},"%g":function(m){return p(m).toString().substring(2)}, -"%G":function(m){return p(m)},"%H":function(m){return g(m.Ma,2)},"%I":function(m){m=m.Ma;0==m?m=12:12m.Ma?"AM":"PM"},"%S":function(m){return g(m.Vc,2)},"%t":function(){return"\t"},"%u":function(m){return m.R||7},"%U":function(m){return g(Math.floor((m.ga+ -7-m.R)/7),2)},"%V":function(m){var r=Math.floor((m.ga+7-(m.R+6)%7)/7);2>=(m.R+371-m.ga-2)%7&&r++;if(r)53==r&&(x=(m.R+371-m.ga)%7,4==x||3==x&&gb(m.ha)||(r=1));else{r=52;var x=(m.R+7-m.ga-1)%7;(4==x||5==x&&gb(m.ha%400-1))&&r++}return g(r,2)},"%w":function(m){return m.R},"%W":function(m){return g(Math.floor((m.ga+7-(m.R+6)%7)/7),2)},"%y":function(m){return(m.ha+1900).toString().substring(2)},"%Y":function(m){return m.ha+1900},"%z":function(m){m=m.Tc;var r=0<=m;m=Math.abs(m)/60;return(r?"+":"-")+String("0000"+ -(m/60*100+m%60)).slice(-4)},"%Z":function(m){return m.Wc},"%%":function(){return"%"}};c=c.replace(/%%/g,"\x00\x00");for(q in n)c.includes(q)&&(c=c.replace(new RegExp(q,"g"),n[q](d)));c=c.replace(/\0\0/g,"%");q=$a(c,!1);if(q.length>b)return 0;M.set(q,a);return q.length-1}var Dc=function(a,b,c,d){a||(a=this);this.parent=a;this.v=a.v;this.va=null;this.id=e.Cc++;this.name=b;this.mode=c;this.i={};this.l={};this.rdev=d};Object.defineProperties(Dc.prototype,{read:{get:function(){return 365===(this.mode& -365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},uc:{get:function(){return e.D(this.mode)}},ab:{get:function(){return e.Ca(this.mode)}}});e.Tb=Dc;e.Sc();var Yc;(function(){for(var a=Array(256),b=0;256>b;++b)a[b]=String.fromCharCode(b);mc=a})();wa=k.BindingError=vb(Error,"BindingError");nc=k.InternalError=vb(Error,"InternalError");ia.prototype.isAliasOf=function(a){if(!(this instanceof ia&& -a instanceof ia))return!1;var b=this.h.B.o,c=this.h.m,d=a.h.B.o;for(a=a.h.m;b.L;)c=b.ya(c),b=b.L;for(;d.L;)a=d.ya(a),d=d.L;return b===d&&c===a};ia.prototype.clone=function(){this.h.m||wb(this);if(this.h.xa)return this.h.count.value+=1,this;var a=Ha,b=Object,c=b.create,d=Object.getPrototypeOf(this),f=this.h;a=a(c.call(b,d,{h:{value:{count:f.count,ia:f.ia,xa:f.xa,m:f.m,B:f.B,G:f.G,K:f.K}}}));a.h.count.value+=1;a.h.ia=!1;return a};ia.prototype["delete"]=function(){this.h.m||wb(this);this.h.ia&&!this.h.xa&& -z("Object already scheduled for deletion");oc(this);pc(this.h);this.h.xa||(this.h.G=void 0,this.h.m=void 0)};ia.prototype.isDeleted=function(){return!this.h.m};ia.prototype.deleteLater=function(){this.h.m||wb(this);this.h.ia&&!this.h.xa&&z("Object already scheduled for deletion");Ea.push(this);1===Ea.length&&Fa&&Fa(yb);this.h.ia=!0;return this};k.getInheritedInstanceCount=function(){return Object.keys(Ga).length};k.getLiveInheritedInstances=function(){var a=[],b;for(b in Ga)Ga.hasOwnProperty(b)&& -a.push(Ga[b]);return a};k.flushPendingDeletes=yb;k.setDelayFunction=function(a){Fa=a;Ea.length&&Fa&&Fa(yb)};aa.prototype.qc=function(a){this.Pb&&(a=this.Pb(a));return a};aa.prototype.zb=function(a){this.fa&&this.fa(a)};aa.prototype.argPackAdvance=8;aa.prototype.readValueFromPointer=eb;aa.prototype.deleteObject=function(a){if(null!==a)a["delete"]()};aa.prototype.fromWireType=function(a){function b(){return this.Ga?cb(this.o.ka,{B:this.Ic,m:c,K:this,G:a}):cb(this.o.ka,{B:this,m:a})}var c=this.qc(a); -if(!c)return this.zb(a),null;var d=Zc(this.o,c);if(void 0!==d){if(0===d.h.count.value)return d.h.m=c,d.h.G=a,d.clone();d=d.clone();this.zb(a);return d}d=this.o.oc(c);d=rc[d];if(!d)return b.call(this);d=this.Da?d.ac:d.pointerType;var f=qc(c,this.o,d.o);return null===f?b.call(this):this.Ga?cb(d.o.ka,{B:d,m:f,K:this,G:a}):cb(d.o.ka,{B:d,m:f})};vc=k.UnboundTypeError=vb(Error,"UnboundTypeError");k.count_emval_handles=function(){for(var a=0,b=5;bf?-28:e.xb(d,f).fd;case 1:case 2:return 0;case 3:return d.flags;case 4:return f=A.get(),d.flags|= -f,0;case 5:return f=A.get(),oa[f+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return v[Ec()>>2]=28,-1;default:return-28}}catch(g){if("undefined"==typeof e||!(g instanceof e.g))throw g;return-g.A}},__syscall_fstat64:function(a,b){try{var c=A.X(a);return A.Ba(e.stat,c.path,b)}catch(d){if("undefined"==typeof e||!(d instanceof e.g))throw d;return-d.A}},__syscall_lstat64:function(a,b){try{return a=A.sa(a),A.Ba(e.lstat,a,b)}catch(c){if("undefined"==typeof e||!(c instanceof e.g))throw c; -return-c.A}},__syscall_newfstatat:function(a,b,c,d){try{b=A.sa(b);var f=d&256;b=A.Sa(a,b,d&4096);return A.Ba(f?e.lstat:e.stat,b,c)}catch(g){if("undefined"==typeof e||!(g instanceof e.g))throw g;return-g.A}},__syscall_openat:function(a,b,c,d){A.za=d;try{b=A.sa(b);b=A.Sa(a,b);var f=d?A.get():0;return e.open(b,c,f).fd}catch(g){if("undefined"==typeof e||!(g instanceof e.g))throw g;return-g.A}},__syscall_stat64:function(a,b){try{return a=A.sa(a),A.Ba(e.stat,a,b)}catch(c){if("undefined"==typeof e||!(c instanceof -e.g))throw c;return-c.A}},__syscall_unlinkat:function(a,b,c){try{return b=A.sa(b),b=A.Sa(a,b),0===c?e.unlink(b):512===c?e.rmdir(b):Q("Invalid flags passed to unlinkat"),0}catch(d){if("undefined"==typeof e||!(d instanceof e.g))throw d;return-d.A}},_embind_register_bigint:function(){},_embind_register_bool:function(a,b,c,d,f){var g=sb(c);b=P(b);Z(a,{name:b,fromWireType:function(h){return!!h},toWireType:function(h,l){return l?d:f},argPackAdvance:8,readValueFromPointer:function(h){if(1===c)var l=M;else if(2=== -c)l=oa;else if(4===c)l=v;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(l[h>>g])},S:null})},_embind_register_class:function(a,b,c,d,f,g,h,l,p,n,q,t,u){q=P(q);g=ra(f,g);l&&(l=ra(h,l));n&&(n=ra(p,n));u=ra(t,u);var m=tb(q);tc(m,function(){fb("Cannot construct "+q+" due to unbound types",[d])});xa([a,b,c],d?[d]:[],function(r){r=r[0];if(d){var x=r.o;var B=x.ka}else B=ia.prototype;r=ub(m,function(){if(Object.getPrototypeOf(this)!==I)throw new wa("Use 'new' to construct "+ -q);if(void 0===ha.Z)throw new wa(q+" has no accessible constructor");var Fc=ha.Z[arguments.length];if(void 0===Fc)throw new wa("Tried to invoke ctor of "+q+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(ha.Z).toString()+") parameters instead!");return Fc.apply(this,arguments)});var I=Object.create(B,{constructor:{value:r}});r.prototype=I;var ha=new $c(q,r,I,u,x,g,l,n);x=new aa(q,ha,!0,!1,!1);B=new aa(q+"*",ha,!1,!1,!1);var L=new aa(q+" const*",ha,!1,!0,!1);rc[a]= -{pointerType:B,ac:L};uc(m,r);return[x,B,L]})},_embind_register_class_constructor:function(a,b,c,d,f,g){0{fb("Cannot construct "+ -l.name+" due to unbound types",h)};xa([],h,function(n){n.splice(1,0,null);l.o.Z[b-1]=Cb(p,n,null,f,g);return[]});return[]})},_embind_register_class_function:function(a,b,c,d,f,g,h,l){var p=Bb(c,d);b=P(b);g=ra(f,g);xa([],[a],function(n){function q(){fb("Cannot call "+t+" due to unbound types",p)}n=n[0];var t=n.name+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);l&&n.o.Jc.push(b);var u=n.o.ka,m=u[b];void 0===m||void 0===m.F&&m.className!==n.name&&m.Aa===c-2?(q.Aa=c-2,q.className=n.name,u[b]=q): -(sc(u,b,t),u[b].F[c-2]=q);xa([],p,function(r){r=Cb(t,r,n,g,h);void 0===u[b].F?(r.Aa=c-2,u[b]=r):u[b].F[c-2]=r;return[]});return[]})},_embind_register_emval:function(a,b){b=P(b);Z(a,{name:b,fromWireType:function(c){var d=db.Xc(c);yc(c);return d},toWireType:function(c,d){return db.qb(d)},argPackAdvance:8,readValueFromPointer:eb,S:null})},_embind_register_float:function(a,b,c){c=sb(c);b=P(b);Z(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,f){return f},argPackAdvance:8,readValueFromPointer:gd(b, -c),S:null})},_embind_register_function:function(a,b,c,d,f,g){var h=Bb(b,c);a=P(a);f=ra(d,f);tc(a,function(){fb("Cannot call "+a+" due to unbound types",h)},b-1);xa([],h,function(l){l=[l[0],null].concat(l.slice(1));uc(a,Cb(a,l,null,f,g),b-1);return[]})},_embind_register_integer:function(a,b,c,d,f){b=P(b);-1===f&&(f=4294967295);f=sb(c);var g=l=>l;if(0===d){var h=32-8*c;g=l=>l<>>h}c=b.includes("unsigned")?function(l,p){return p>>>0}:function(l,p){return p};Z(a,{name:b,fromWireType:g,toWireType:c, -argPackAdvance:8,readValueFromPointer:hd(b,f,0!==d),S:null})},_embind_register_memory_view:function(a,b,c){function d(g){g>>=2;var h=E;return new f(ua,h[g+1],h[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=P(c);Z(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{sc:!0})},_embind_register_std_string:function(a,b){b=P(b);var c="std::string"===b;Z(a,{name:b,fromWireType:function(d){var f=E[d>>2];if(c)for(var g=d+4,h=0;h<= -f;++h){var l=d+4+h;if(h==f||0==K[l]){g=na(g,l-g);if(void 0===p)var p=g;else p+=String.fromCharCode(0),p+=g;g=l+1}}else{p=Array(f);for(h=0;hUa(f):()=>f.length)(),l=hb(4+h+1);E[l>>2]=h;if(c&&g)Ta(f, -K,l+4,h+1);else if(g)for(g=0;gVa;var l=1}else 4===b&&(d=Rc,f=Sc,g=Tc,h=()=>E,l=2);Z(a,{name:c,fromWireType:function(p){for(var n=E[p>>2],q=h(),t,u=p+4,m=0;m<= -n;++m){var r=p+4+m*b;if(m==n||0==q[r>>l])u=d(u,r-u),void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),u=r+b}U(p);return t},toWireType:function(p,n){"string"!=typeof n&&z("Cannot pass non-string to C++ string type "+c);var q=g(n),t=hb(4+q+b);E[t>>2]=q>>l;f(n,t+4,q+b);null!==p&&p.push(U,t);return t},argPackAdvance:8,readValueFromPointer:eb,S:function(p){U(p)}})},_embind_register_void:function(a,b){b=P(b);Z(a,{od:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},_emval_decref:yc, -_emval_incref:function(a){4>2]=l.Xb;return p}catch(n){if("undefined"==typeof e||!(n instanceof e.g))throw n;return-n.A}},_munmap_js:function(a,b,c,d,f,g){try{var h=e.W(f);h&&c&2&&A.jc(a,h,b,d,g)}catch(l){if("undefined"==typeof e||!(l instanceof -e.g))throw l;return-l.A}},abort:function(){Q("")},emscripten_memcpy_big:function(a,b,c){K.copyWithin(a,b,b+c)},emscripten_resize_heap:function(a){var b=K.length;a>>>=0;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);var f=Math;d=Math.max(a,d);f=f.min.call(f,2147483648,d+(65536-d%65536)%65536);a:{try{ma.grow(f-ua.byteLength+65535>>>16);ac(ma.buffer);var g=1;break a}catch(h){}g=void 0}if(g)return!0}return!1},environ_get:function(a,b){var c=0;Ia().forEach(function(d, -f){var g=b+c;f=E[a+4*f>>2]=g;for(g=0;g>0]=d.charCodeAt(g);M[f>>0]=0;c+=d.length+1});return 0},environ_sizes_get:function(a,b){var c=Ia();E[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});E[b>>2]=d;return 0},fd_close:function(a){try{var b=A.X(a);e.close(b);return 0}catch(c){if("undefined"==typeof e||!(c instanceof e.g))throw c;return c.A}},fd_pread:function(a,b,c,d,f,g){try{var h=Fb(d,f);if(isNaN(h))return 61;var l=A.X(a),p=zc(l,b,c,h);v[g>>2]=p;return 0}catch(n){if("undefined"== -typeof e||!(n instanceof e.g))throw n;return n.A}},fd_pwrite:function(a,b,c,d,f,g){try{var h=Fb(d,f);if(isNaN(h))return 61;var l=A.X(a),p=Ac(l,b,c,h);v[g>>2]=p;return 0}catch(n){if("undefined"==typeof e||!(n instanceof e.g))throw n;return n.A}},fd_read:function(a,b,c,d){try{var f=A.X(a),g=zc(f,b,c);v[d>>2]=g;return 0}catch(h){if("undefined"==typeof e||!(h instanceof e.g))throw h;return h.A}},fd_seek:function(a,b,c,d,f){try{var g=Fb(b,c);if(isNaN(g))return 61;var h=A.X(a);e.J(h,g,d);W=[h.position>>> -0,(J=h.position,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)];v[f>>2]=W[0];v[f+4>>2]=W[1];h.Xa&&0===g&&0===d&&(h.Xa=null);return 0}catch(l){if("undefined"==typeof e||!(l instanceof e.g))throw l;return l.A}},fd_write:function(a,b,c,d){try{var f=A.X(a),g=Ac(f,b,c);E[d>>2]=g;return 0}catch(h){if("undefined"==typeof e||!(h instanceof e.g))throw h;return h.A}},getTempRet0:()=>Wb,invoke_diii:kd,invoke_fiii:ld,invoke_i:md,invoke_ii:nd, -invoke_iii:od,invoke_iiii:pd,invoke_iiiii:qd,invoke_iiiiii:rd,invoke_iiiiiii:sd,invoke_iiiiiiii:td,invoke_iiiiiiiiiii:ud,invoke_iiiiiiiiiiii:vd,invoke_iiiiiiiiiiiii:wd,invoke_iiiiij:xd,invoke_jiiii:yd,invoke_v:zd,invoke_vi:Ad,invoke_vii:Bd,invoke_viii:Cd,invoke_viiii:Dd,invoke_viiiiiii:Ed,invoke_viiiiiiiiii:Fd,invoke_viiiiiiiiiiiiiii:Gd,llvm_eh_typeid_for:function(a){return a},memory:ma,setTempRet0:N,strftime_l:function(a,b,c,d){return jd(a,b,c,d)}};(function(){function a(f){k.asm=f.exports;Hd(); -cc=k.asm.__indirect_function_table;ec.unshift(k.asm.__wasm_call_ctors);Ca("wasm-instantiate")}function b(f){a(f.instance)}function c(f){return Vc().then(function(g){return ca.instantiate(g,d)}).then(function(g){return g}).then(f,function(g){T("failed to asynchronously prepare wasm: "+g);Q(g)})}var d={env:ob,wasi_snapshot_preview1:ob};Wa("wasm-instantiate");if(k.instantiateWasm)try{return k.instantiateWasm(d,a)}catch(f){return T("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return sa|| -"function"!=typeof ca.instantiateStreaming||rb(O)||O.startsWith("file://")||"function"!=typeof fetch?c(b):fetch(O,{credentials:"same-origin"}).then(function(f){return ca.instantiateStreaming(f,d).then(b,function(g){T("wasm streaming compile failed: "+g);T("falling back to ArrayBuffer instantiation");return c(b)})})})();return{}})();k.___wasm_call_ctors=function(){return(k.___wasm_call_ctors=k.asm.__wasm_call_ctors).apply(null,arguments)};k._main=function(){return(k._main=k.asm.main).apply(null,arguments)}; -var hb=k._malloc=function(){return(hb=k._malloc=k.asm.malloc).apply(null,arguments)},Ec=k.___errno_location=function(){return(Ec=k.___errno_location=k.asm.__errno_location).apply(null,arguments)},U=k._free=function(){return(U=k._free=k.asm.free).apply(null,arguments)},xc=k.___getTypeName=function(){return(xc=k.___getTypeName=k.asm.__getTypeName).apply(null,arguments)};k.___embind_register_native_and_builtin_types=function(){return(k.___embind_register_native_and_builtin_types=k.asm.__embind_register_native_and_builtin_types).apply(null, -arguments)};k.___dl_seterr=function(){return(k.___dl_seterr=k.asm.__dl_seterr).apply(null,arguments)};var lc=k._emscripten_builtin_memalign=function(){return(lc=k._emscripten_builtin_memalign=k.asm.emscripten_builtin_memalign).apply(null,arguments)},D=k._setThrew=function(){return(D=k._setThrew=k.asm.setThrew).apply(null,arguments)},F=k.stackSave=function(){return(F=k.stackSave=k.asm.stackSave).apply(null,arguments)},G=k.stackRestore=function(){return(G=k.stackRestore=k.asm.stackRestore).apply(null, -arguments)},Gb=k.stackAlloc=function(){return(Gb=k.stackAlloc=k.asm.stackAlloc).apply(null,arguments)};k.___cxa_demangle=function(){return(k.___cxa_demangle=k.asm.__cxa_demangle).apply(null,arguments)};var ib=k.___cxa_can_catch=function(){return(ib=k.___cxa_can_catch=k.asm.__cxa_can_catch).apply(null,arguments)},hc=k.___cxa_is_pointer_type=function(){return(hc=k.___cxa_is_pointer_type=k.asm.__cxa_is_pointer_type).apply(null,arguments)};k.dynCall_ji=function(){return(k.dynCall_ji=k.asm.dynCall_ji).apply(null, -arguments)};k.dynCall_viijj=function(){return(k.dynCall_viijj=k.asm.dynCall_viijj).apply(null,arguments)};k.dynCall_iij=function(){return(k.dynCall_iij=k.asm.dynCall_iij).apply(null,arguments)};k.dynCall_iijj=function(){return(k.dynCall_iijj=k.asm.dynCall_iijj).apply(null,arguments)};k.dynCall_viij=function(){return(k.dynCall_viij=k.asm.dynCall_viij).apply(null,arguments)};k.dynCall_ij=function(){return(k.dynCall_ij=k.asm.dynCall_ij).apply(null,arguments)};k.dynCall_iiiji=function(){return(k.dynCall_iiiji= -k.asm.dynCall_iiiji).apply(null,arguments)};k.dynCall_iiiij=function(){return(k.dynCall_iiiij=k.asm.dynCall_iiiij).apply(null,arguments)};k.dynCall_vij=function(){return(k.dynCall_vij=k.asm.dynCall_vij).apply(null,arguments)};k.dynCall_jiji=function(){return(k.dynCall_jiji=k.asm.dynCall_jiji).apply(null,arguments)};var Gc=k.dynCall_iiiiij=function(){return(Gc=k.dynCall_iiiiij=k.asm.dynCall_iiiiij).apply(null,arguments)};k.dynCall_viijii=function(){return(k.dynCall_viijii=k.asm.dynCall_viijii).apply(null, -arguments)};var Hc=k.dynCall_jiiii=function(){return(Hc=k.dynCall_jiiii=k.asm.dynCall_jiiii).apply(null,arguments)};k.dynCall_iiiiijj=function(){return(k.dynCall_iiiiijj=k.asm.dynCall_iiiiijj).apply(null,arguments)};k.dynCall_iiiiiijj=function(){return(k.dynCall_iiiiiijj=k.asm.dynCall_iiiiiijj).apply(null,arguments)};function od(a,b,c){var d=F();try{return C(a)(b,c)}catch(f){G(d);if(f!==f+0)throw f;D(1,0)}}function nd(a,b){var c=F();try{return C(a)(b)}catch(d){G(c);if(d!==d+0)throw d;D(1,0)}}function Cd(a, -b,c,d){var f=F();try{C(a)(b,c,d)}catch(g){G(f);if(g!==g+0)throw g;D(1,0)}}function pd(a,b,c,d){var f=F();try{return C(a)(b,c,d)}catch(g){G(f);if(g!==g+0)throw g;D(1,0)}}function zd(a){var b=F();try{C(a)()}catch(c){G(b);if(c!==c+0)throw c;D(1,0)}}function Dd(a,b,c,d,f){var g=F();try{C(a)(b,c,d,f)}catch(h){G(g);if(h!==h+0)throw h;D(1,0)}}function Bd(a,b,c){var d=F();try{C(a)(b,c)}catch(f){G(d);if(f!==f+0)throw f;D(1,0)}}function sd(a,b,c,d,f,g,h){var l=F();try{return C(a)(b,c,d,f,g,h)}catch(p){G(l); -if(p!==p+0)throw p;D(1,0)}}function Ad(a,b){var c=F();try{C(a)(b)}catch(d){G(c);if(d!==d+0)throw d;D(1,0)}}function md(a){var b=F();try{return C(a)()}catch(c){G(b);if(c!==c+0)throw c;D(1,0)}}function rd(a,b,c,d,f,g){var h=F();try{return C(a)(b,c,d,f,g)}catch(l){G(h);if(l!==l+0)throw l;D(1,0)}}function td(a,b,c,d,f,g,h,l){var p=F();try{return C(a)(b,c,d,f,g,h,l)}catch(n){G(p);if(n!==n+0)throw n;D(1,0)}}function ud(a,b,c,d,f,g,h,l,p,n,q){var t=F();try{return C(a)(b,c,d,f,g,h,l,p,n,q)}catch(u){G(t); -if(u!==u+0)throw u;D(1,0)}}function qd(a,b,c,d,f){var g=F();try{return C(a)(b,c,d,f)}catch(h){G(g);if(h!==h+0)throw h;D(1,0)}}function wd(a,b,c,d,f,g,h,l,p,n,q,t,u){var m=F();try{return C(a)(b,c,d,f,g,h,l,p,n,q,t,u)}catch(r){G(m);if(r!==r+0)throw r;D(1,0)}}function ld(a,b,c,d){var f=F();try{return C(a)(b,c,d)}catch(g){G(f);if(g!==g+0)throw g;D(1,0)}}function kd(a,b,c,d){var f=F();try{return C(a)(b,c,d)}catch(g){G(f);if(g!==g+0)throw g;D(1,0)}}function Ed(a,b,c,d,f,g,h,l){var p=F();try{C(a)(b,c,d, -f,g,h,l)}catch(n){G(p);if(n!==n+0)throw n;D(1,0)}}function vd(a,b,c,d,f,g,h,l,p,n,q,t){var u=F();try{return C(a)(b,c,d,f,g,h,l,p,n,q,t)}catch(m){G(u);if(m!==m+0)throw m;D(1,0)}}function Fd(a,b,c,d,f,g,h,l,p,n,q){var t=F();try{C(a)(b,c,d,f,g,h,l,p,n,q)}catch(u){G(t);if(u!==u+0)throw u;D(1,0)}}function Gd(a,b,c,d,f,g,h,l,p,n,q,t,u,m,r,x){var B=F();try{C(a)(b,c,d,f,g,h,l,p,n,q,t,u,m,r,x)}catch(I){G(B);if(I!==I+0)throw I;D(1,0)}}function xd(a,b,c,d,f,g,h){var l=F();try{return Gc(a,b,c,d,f,g,h)}catch(p){G(l); -if(p!==p+0)throw p;D(1,0)}}function yd(a,b,c,d,f){var g=F();try{return Hc(a,b,c,d,f)}catch(h){G(g);if(h!==h+0)throw h;D(1,0)}}k.print=Aa;k.printErr=T;k.ALLOC_NORMAL=0;k.ALLOC_STACK=1;function Hd(){if(da)if(rb(da)||(da=Tb(da)),ya||Nc){var a=Qa(da);K.set(a,1024)}else{Wa("memory initializer");var b=d=>{d.byteLength&&(d=new Uint8Array(d));K.set(d,1024);k.memoryInitializerRequest&&delete k.memoryInitializerRequest.response;Ca("memory initializer")},c=()=>{za(da,b,function(){throw Error("could not load memory initializer "+ -da);})};k.memoryInitializerRequest?(a=()=>{var d=k.memoryInitializerRequest,f=d.response;200!==d.status&&0!==d.status?(console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+d.status+", retrying "+da),c()):b(f)},k.memoryInitializerRequest.response?setTimeout(a,0):k.memoryInitializerRequest.addEventListener("load",a)):c()}}var jb;function Ra(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}Ba=function b(){jb||Hb();jb|| -(Ba=b)};function Id(b){var c=k._main;b=b||[];b.unshift(La);var d=b.length,f=Gb(4*(d+1)),g=f>>2;b.forEach(p=>{var n=v,q=g++,t=Ua(p)+1,u=Gb(t);Ta(p,M,u,t);n[q]=u});v[g]=0;try{var h=c(d,f);Jd(h,!0);return h}catch(p){if(p instanceof Ra||"unwind"==p)var l=Sa;else Ma(1,p),l=void 0;return l}finally{}}function Hb(b){function c(){if(!jb&&(jb=!0,k.calledRun=!0,!pb)){k.noFSInit||e.Y.Za||e.Y();e.Mb=!1;fa.Y();Xa(ec);Xa(Uc);if(k.onRuntimeInitialized)k.onRuntimeInitialized();Ic&&Id(b);if(k.postRun)for("function"== -typeof k.postRun&&(k.postRun=[k.postRun]);k.postRun.length;)fc.unshift(k.postRun.shift());Xa(fc)}}b=b||mb;if(!(0=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):undefined;function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||83886080;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var memoryInitializer="libzim-asm.js.mem";var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="libzim-asm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"env":asmLibraryArg,"wasi_snapshot_preview1":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;runMemoryInitializer();wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func=="number"){if(callback.arg===undefined){getWasmTableEntry(func)()}else{getWasmTableEntry(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}function demangle(func){demangle.recursionGuard=(demangle.recursionGuard|0)+1;if(demangle.recursionGuard>1)return func;var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];assert(__cxa_demangle_func);return withStackSave(function(){try{var s=func;if(s.startsWith("__Z"))s=s.substr(1);var len=lengthBytesUTF8(s)+1;var buf=stackAlloc(len);stringToUTF8(s,buf,len);var status=stackAlloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(HEAP32[status>>2]===0&&ret){return UTF8ToString(ret)}}catch(e){}finally{_free(ret);if(demangle.recursionGuard<2)--demangle.recursionGuard}return func})}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}function jsStackTrace(){var error=new Error;if(!error.stack){try{throw new Error}catch(e){error=e}if(!error.stack){return"(no stack trace available)"}}return error.stack.toString()}function setWasmTableEntry(idx,func){wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___call_sighandler(fp,sig){getWasmTableEntry(fp)(sig)}function ___cxa_allocate_exception(size){return _malloc(size+24)+24}var exceptionCaught=[];function exception_addRef(info){info.add_ref()}var uncaughtExceptionCount=0;function ___cxa_begin_catch(ptr){var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);exception_addRef(info);return info.get_exception_ptr()}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}function ___cxa_free_exception(ptr){return _free(new ExceptionInfo(ptr).ptr)}function exception_decRef(info){if(info.release_ref()&&!info.get_rethrown()){var destructor=info.get_destructor();if(destructor){getWasmTableEntry(destructor)(info.excPtr)}___cxa_free_exception(info.excPtr)}}function ___cxa_decrement_exception_refcount(ptr){if(!ptr)return;exception_decRef(new ExceptionInfo(ptr))}var exceptionLast=0;function ___cxa_end_catch(){_setThrew(0);var info=exceptionCaught.pop();exception_decRef(info);exceptionLast=0}function ___resumeException(ptr){if(!exceptionLast){exceptionLast=ptr}throw ptr}function ___cxa_find_matching_catch_2(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;ipath.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function zeroMemory(address,size){HEAPU8.fill(0,address,address+size)}function alignMemory(size,alignment){return Math.ceil(size/alignment)*alignment}function mmapAlloc(size){size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;zeroMemory(ptr,size);return ptr}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(29)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(28)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(FS.cwd(),path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(p=>!!p),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:str=>{var flags=FS.flagModes[str];if(typeof flags=="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:(fd_start=0,fd_end=FS.MAX_OPEN_FDS)=>{for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd_start,fd_end)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get function(){return this.shared.position},set:function(val){this.shared.position=val}}}}stream=Object.assign(new FS.FSStream,stream);var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"WORKERFS":WORKERFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{return null}},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;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.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=(stream,buffer,offset,length,position)=>{FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(Browser.handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}},indexedDB:()=>{return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:()=>{return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=()=>{out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=()=>{var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=()=>{ok++;if(ok+fail==total)finish()};putRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=()=>{var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var getRequest=files.get(path);getRequest.onsuccess=()=>{if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function ___syscall_fadvise64(fd,offset,len,advice){return 0}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~4352;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}return getWasmTableEntry(ptr).apply(null,args)}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i>2)+i])}return array}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){assert(argCount>0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;ilengthBytesUTF8(value)}else{getLength=()=>value.length}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;iHEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return Emval.toHandle(v)}function __mmap_js(len,prot,flags,fd,off,allocated){try{var stream=FS.getStream(fd);if(!stream)return-8;var res=FS.mmap(stream,len,off,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;return ptr}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset){try{var stream=FS.getStream(fd);if(stream){if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}FS.munmap(stream)}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_pread(fd,iov,iovcnt,offset_low,offset_high,pnum){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt,offset);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}function _fd_pwrite(fd,iov,iovcnt,offset_low,offset_high,pnum){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt,offset);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _llvm_eh_typeid_for(type){return type}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"__assert_fail":___assert_fail,"__call_sighandler":___call_sighandler,"__cxa_allocate_exception":___cxa_allocate_exception,"__cxa_begin_catch":___cxa_begin_catch,"__cxa_decrement_exception_refcount":___cxa_decrement_exception_refcount,"__cxa_end_catch":___cxa_end_catch,"__cxa_find_matching_catch_2":___cxa_find_matching_catch_2,"__cxa_find_matching_catch_3":___cxa_find_matching_catch_3,"__cxa_find_matching_catch_4":___cxa_find_matching_catch_4,"__cxa_free_exception":___cxa_free_exception,"__cxa_increment_exception_refcount":___cxa_increment_exception_refcount,"__cxa_rethrow":___cxa_rethrow,"__cxa_rethrow_primary_exception":___cxa_rethrow_primary_exception,"__cxa_throw":___cxa_throw,"__cxa_uncaught_exceptions":___cxa_uncaught_exceptions,"__resumeException":___resumeException,"__syscall_fadvise64":___syscall_fadvise64,"__syscall_fcntl64":___syscall_fcntl64,"__syscall_fstat64":___syscall_fstat64,"__syscall_lstat64":___syscall_lstat64,"__syscall_newfstatat":___syscall_newfstatat,"__syscall_openat":___syscall_openat,"__syscall_stat64":___syscall_stat64,"__syscall_unlinkat":___syscall_unlinkat,"_embind_register_bigint":__embind_register_bigint,"_embind_register_bool":__embind_register_bool,"_embind_register_class":__embind_register_class,"_embind_register_class_constructor":__embind_register_class_constructor,"_embind_register_class_function":__embind_register_class_function,"_embind_register_emval":__embind_register_emval,"_embind_register_float":__embind_register_float,"_embind_register_function":__embind_register_function,"_embind_register_integer":__embind_register_integer,"_embind_register_memory_view":__embind_register_memory_view,"_embind_register_std_string":__embind_register_std_string,"_embind_register_std_wstring":__embind_register_std_wstring,"_embind_register_void":__embind_register_void,"_emval_decref":__emval_decref,"_emval_incref":__emval_incref,"_emval_take_value":__emval_take_value,"_mmap_js":__mmap_js,"_munmap_js":__munmap_js,"abort":_abort,"emscripten_memcpy_big":_emscripten_memcpy_big,"emscripten_resize_heap":_emscripten_resize_heap,"environ_get":_environ_get,"environ_sizes_get":_environ_sizes_get,"fd_close":_fd_close,"fd_pread":_fd_pread,"fd_pwrite":_fd_pwrite,"fd_read":_fd_read,"fd_seek":_fd_seek,"fd_write":_fd_write,"getTempRet0":getTempRet0,"invoke_diii":invoke_diii,"invoke_fiii":invoke_fiii,"invoke_i":invoke_i,"invoke_ii":invoke_ii,"invoke_iii":invoke_iii,"invoke_iiii":invoke_iiii,"invoke_iiiii":invoke_iiiii,"invoke_iiiiii":invoke_iiiiii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_iiiiiiii":invoke_iiiiiiii,"invoke_iiiiiiiiiii":invoke_iiiiiiiiiii,"invoke_iiiiiiiiiiii":invoke_iiiiiiiiiiii,"invoke_iiiiiiiiiiiii":invoke_iiiiiiiiiiiii,"invoke_iiiiij":invoke_iiiiij,"invoke_jiiii":invoke_jiiii,"invoke_v":invoke_v,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_viii":invoke_viii,"invoke_viiii":invoke_viiii,"invoke_viiiiiii":invoke_viiiiiii,"invoke_viiiiiiiiii":invoke_viiiiiiiiii,"invoke_viiiiiiiiiiiiiii":invoke_viiiiiiiiiiiiiii,"llvm_eh_typeid_for":_llvm_eh_typeid_for,"memory":wasmMemory,"setTempRet0":setTempRet0,"strftime_l":_strftime_l};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["__wasm_call_ctors"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["main"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["malloc"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["__errno_location"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["free"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["__getTypeName"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["__embind_register_native_and_builtin_types"]).apply(null,arguments)};var ___dl_seterr=Module["___dl_seterr"]=function(){return(___dl_seterr=Module["___dl_seterr"]=Module["asm"]["__dl_seterr"]).apply(null,arguments)};var _emscripten_builtin_memalign=Module["_emscripten_builtin_memalign"]=function(){return(_emscripten_builtin_memalign=Module["_emscripten_builtin_memalign"]=Module["asm"]["emscripten_builtin_memalign"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["setThrew"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["stackSave"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["stackRestore"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["stackAlloc"]).apply(null,arguments)};var ___cxa_demangle=Module["___cxa_demangle"]=function(){return(___cxa_demangle=Module["___cxa_demangle"]=Module["asm"]["__cxa_demangle"]).apply(null,arguments)};var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){return(___cxa_can_catch=Module["___cxa_can_catch"]=Module["asm"]["__cxa_can_catch"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){return(___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=Module["asm"]["__cxa_is_pointer_type"]).apply(null,arguments)};var dynCall_ji=Module["dynCall_ji"]=function(){return(dynCall_ji=Module["dynCall_ji"]=Module["asm"]["dynCall_ji"]).apply(null,arguments)};var dynCall_viijj=Module["dynCall_viijj"]=function(){return(dynCall_viijj=Module["dynCall_viijj"]=Module["asm"]["dynCall_viijj"]).apply(null,arguments)};var dynCall_iij=Module["dynCall_iij"]=function(){return(dynCall_iij=Module["dynCall_iij"]=Module["asm"]["dynCall_iij"]).apply(null,arguments)};var dynCall_iijj=Module["dynCall_iijj"]=function(){return(dynCall_iijj=Module["dynCall_iijj"]=Module["asm"]["dynCall_iijj"]).apply(null,arguments)};var dynCall_viij=Module["dynCall_viij"]=function(){return(dynCall_viij=Module["dynCall_viij"]=Module["asm"]["dynCall_viij"]).apply(null,arguments)};var dynCall_ij=Module["dynCall_ij"]=function(){return(dynCall_ij=Module["dynCall_ij"]=Module["asm"]["dynCall_ij"]).apply(null,arguments)};var dynCall_iiiji=Module["dynCall_iiiji"]=function(){return(dynCall_iiiji=Module["dynCall_iiiji"]=Module["asm"]["dynCall_iiiji"]).apply(null,arguments)};var dynCall_iiiij=Module["dynCall_iiiij"]=function(){return(dynCall_iiiij=Module["dynCall_iiiij"]=Module["asm"]["dynCall_iiiij"]).apply(null,arguments)};var dynCall_vij=Module["dynCall_vij"]=function(){return(dynCall_vij=Module["dynCall_vij"]=Module["asm"]["dynCall_vij"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["dynCall_jiji"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["dynCall_iiiiij"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["dynCall_viijii"]).apply(null,arguments)};var dynCall_jiiii=Module["dynCall_jiiii"]=function(){return(dynCall_jiiii=Module["dynCall_jiiii"]=Module["asm"]["dynCall_jiiii"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["dynCall_iiiiijj"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["dynCall_iiiiiijj"]).apply(null,arguments)};function invoke_iii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiij(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiij(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["print"]=out;Module["printErr"]=err;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;function runMemoryInitializer(){if(!memoryInitializer)return;if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,1024)}else{addRunDependency("memory initializer");var applyMemoryInitializer=data=>{if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,1024);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=()=>{readAsync(memoryInitializer,applyMemoryInitializer,function(){var e=new Error("could not load memory initializer "+memoryInitializer);throw e})};if(Module["memoryInitializerRequest"]){var useRequest=()=>{var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];args=args||[];args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv>>2;args.forEach(arg=>{HEAP32[argv_ptr++]=allocateUTF8OnStack(arg)});HEAP32[argv_ptr]=0;try{var ret=entryFunction(argc,argv);exit(ret,true);return ret}catch(e){return handleException(e)}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){EXITSTATUS=status;procExit(status)}function procExit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run()}else{console.error("Invalid action : "+action);outgoingMessagePort.postMessage("invalid action")}},false); diff --git a/www/js/lib/libzim-wasm.js b/www/js/lib/libzim-wasm.js index c4954139..af5bb2ac 100644 --- a/www/js/lib/libzim-wasm.js +++ b/www/js/lib/libzim-wasm.js @@ -1,142 +1 @@ - -var k;k||(k=typeof Module !== 'undefined' ? Module : {}); -self.addEventListener("message",function(fa){var Db=performance.now(),V=fa.data.action,Fc=fa.data.path,ha=fa.ports[0];console.debug("WebWorker called with action="+V);if("getEntryByPath"===V){var Eb=fa.data.H,ia=k[V](Fc);if(ia){var fb={};if(Eb||!ia.Ea()){fb=ia.getItem(Eb);var Fb=performance.now(),Gc=fb.getData(),Gb=performance.now(),Hb=Gc.jd(),Ib=performance.now(),Hc=new Uint8Array(Hb),Jb=performance.now();ha.postMessage({content:Hc,Ac:fb.ld(),Ea:ia.Ea()});var Kb=performance.now();console.debug("content length = "+ -Hb.length+" read in "+Math.round(Kb-Db)+" ms ("+Math.round(Fb-Db)+" ms to find the entry, "+Math.round(Gb-Fb)+" ms for getData, "+Math.round(Ib-Gb)+" ms for getContent, "+Math.round(Jb-Ib)+" ms for array copying, "+Math.round(Kb-Jb)+" ms for postMessage)")}else ha.postMessage({content:new Uint8Array,Ea:!0,xd:ia.md().M()})}else ha.postMessage({content:new Uint8Array,Ac:"unknown",Ea:!1})}else if("search"===V){var Ca=k[V](fa.data.text,fa.data.vd||50);console.debug("Found nb results = "+Ca.size(),Ca); -for(var Lb=[],gb=0;gb=Ta.length&&(Ta.length=a+1),Ta[a]=b=Xb.get(a));return b}var wa=[],Ua=0;function X(a){this.ra= -a;this.m=a-24;this.Yc=function(b){E[this.m+4>>2]=b};this.T=function(){return E[this.m+4>>2]};this.Ec=function(b){E[this.m+8>>2]=b};this.rc=function(){return E[this.m+8>>2]};this.Oc=function(){v[this.m>>2]=0};this.ob=function(b){M[this.m+12>>0]=b?1:0};this.wc=function(){return 0!=M[this.m+12>>0]};this.Ja=function(b){M[this.m+13>>0]=b?1:0};this.Hb=function(){return 0!=M[this.m+13>>0]};this.Y=function(b,c){this.ja(0);this.Yc(b);this.Ec(c);this.Oc();this.ob(!1);this.Ja(!1)};this.Lb=function(){v[this.m>> -2]+=1};this.Mc=function(){var b=v[this.m>>2];v[this.m>>2]=b-1;return 1===b};this.ja=function(b){E[this.m+16>>2]=b};this.vc=function(){return E[this.m+16>>2]};this.xc=function(){if(cc(this.T()))return E[this.ra>>2];var b=this.vc();return 0!==b?b:this.ra}}function dc(a){return U((new X(a)).m)}function ec(a){if(a.Mc()&&!a.Hb()){var b=a.rc();b&&C(b)(a.ra);dc(a.ra)}}var ba=0;function fc(){var a=wa.pop();a||Q("no exception to throw");var b=a.ra;a.Hb()||(wa.push(a),a.Ja(!0),a.ob(!1),Ua++);ba=b;throw b;} -var y={$a:a=>"/"===a.charAt(0),Rc:a=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1),gb:(a,b)=>{for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a},normalize:a=>{var b=y.$a(a),c="/"===a.substr(-1);(a=y.gb(a.split("/").filter(d=>!!d),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a},dirname:a=>{var b=y.Rc(a);a=b[0];b=b[1];if(!a&&!b)return".";b&& -(b=b.substr(0,b.length-1));return a+b},basename:a=>{if("/"===a)return"/";a=y.normalize(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)},join:function(){var a=Array.prototype.slice.call(arguments,0);return y.normalize(a.join("/"))},aa:(a,b)=>y.normalize(a+"/"+b)};function Tc(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var a=new Uint8Array(1);return function(){crypto.getRandomValues(a);return a[0]}}if(ib)try{var b=require("crypto");return function(){return b.randomBytes(1)[0]}}catch(c){}return function(){Q("randomDevice")}} -var Y={resolve:function(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:e.cwd();if("string"!=typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b=y.$a(b)}a=y.gb(a.split("/").filter(d=>!!d),!b).join("/");return(b?"/":"")+a||"."},relative:(a,b)=>{function c(h){for(var l=0;lp?[]:h.slice(l,p-l+1)}a=Y.resolve(a).substr(1);b=Y.resolve(b).substr(1);a=c(a.split("/")); -b=c(b.split("/"));for(var d=Math.min(a.length,b.length),f=d,g=0;g=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.j,a.j=new Uint8Array(b),0=a.node.u)return 0;a=Math.min(a.node.u-f,d);if(8b)throw new e.g(28);return b},qa:function(a,b,c){w.Cb(a.node,b+c);a.node.u=Math.max(a.node.u,b+c)},la:function(a,b,c,d,f){if(!e.isFile(a.node.mode))throw new e.g(43);a=a.node.j;if(f&2||a.buffer!== -Qa){if(0=a.node.size)return 0;a=a.node.j.slice(f,f+d);d=H.kb.readAsArrayBuffer(a);b.set(new Uint8Array(d),c);return a.size},write:function(){throw new e.g(29);},J:function(a,b,c){1===c?b+=a.position:2===c&&e.isFile(a.node.mode)&&(b+=a.node.size);if(0>b)throw new e.g(28);return b}}},e={root:null,wa:[], -Ab:{},streams:[],Cc:1,O:null,yb:"/",Za:!1,Mb:!0,g:null,Va:{},mc:null,La:0,s:(a,b={})=>{a=Y.resolve(e.cwd(),a);if(!a)return{path:"",node:null};b=Object.assign({Ua:!0,lb:0},b);if(8!!h),!1);for(var c=e.root,d="/",f=0;f{for(var b;;){if(e.Fa(a))return a=a.v.Ob,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}},Ya:(a,b)=>{for(var c=0,d=0;d>>0)%e.O.length},Jb:a=>{var b=e.Ya(a.parent.id,a.name);a.da=e.O[b];e.O[b]=a},Kb:a=>{var b=e.Ya(a.parent.id,a.name);if(e.O[b]===a)e.O[b]=a.da;else for(b=e.O[b];b;){if(b.da===a){b.da=a.da;break}b=b.da}},U:(a,b)=>{var c=e.yc(a);if(c)throw new e.g(c,a);for(c= -e.O[e.Ya(a.id,b)];c;c=c.da){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return e.lookup(a,b)},createNode:(a,b,c,d)=>{a=new e.Tb(a,b,c,d);e.Jb(a);return a},Ta:a=>{e.Kb(a)},Fa:a=>a===a.parent,$:a=>!!a.va,isFile:a=>32768===(a&61440),D:a=>16384===(a&61440),ua:a=>40960===(a&61440),Ca:a=>8192===(a&61440),tc:a=>24576===(a&61440),isFIFO:a=>4096===(a&61440),isSocket:a=>49152===(a&49152),nc:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},Bc:a=>{var b=e.nc[a];if("undefined"==typeof b)throw Error("Unknown file open mode: "+ -a);return b},Db:a=>{var b=["r","w","rw"][a&3];a&512&&(b+="w");return b},ea:(a,b)=>{if(e.Mb)return 0;if(!b.includes("r")||a.mode&292){if(b.includes("w")&&!(a.mode&146)||b.includes("x")&&!(a.mode&73))return 2}else return 2;return 0},yc:a=>{var b=e.ea(a,"x");return b?b:a.i.lookup?0:2},fb:(a,b)=>{try{return e.U(a,b),20}catch(c){}return e.ea(a,"wx")},Ha:(a,b,c)=>{try{var d=e.U(a,b)}catch(f){return f.A}if(a=e.ea(a,"wx"))return a;if(c){if(!e.D(d.mode))return 54;if(e.Fa(d)||e.M(d)===e.cwd())return 10}else if(e.D(d.mode))return 31; -return 0},zc:(a,b)=>a?e.ua(a.mode)?32:e.D(a.mode)&&("r"!==e.Db(b)||b&512)?31:e.ea(a,e.Db(b)):44,Ub:4096,Dc:(a=0,b=e.Ub)=>{for(;a<=b;a++)if(!e.streams[a])return a;throw new e.g(33);},W:a=>e.streams[a],xb:(a,b,c)=>{e.Pa||(e.Pa=function(){this.Ka={}},e.Pa.prototype={object:{get:function(){return this.node},set:function(d){this.node=d}},flags:{get:function(){return this.Ka.flags},set:function(d){this.Ka.flags=d}},position:{get hd(){return this.Ka.position},set:function(d){this.Ka.position=d}}});a=Object.assign(new e.Pa, -a);b=e.Dc(b,c);a.fd=b;return e.streams[b]=a},$b:a=>{e.streams[a]=null},Zb:{open:a=>{a.l=e.pc(a.node.rdev).l;a.l.open&&a.l.open(a)},J:()=>{throw new e.g(70);}},eb:a=>a>>8,rd:a=>a&255,ba:(a,b)=>a<<8|b,nb:(a,b)=>{e.Ab[a]={l:b}},pc:a=>e.Ab[a],Fb:a=>{var b=[];for(a=[a];a.length;){var c=a.pop();b.push(c);a.push.apply(a,c.wa)}return b},Rb:(a,b)=>{function c(h){e.La--;return b(h)}function d(h){if(h){if(!d.lc)return d.lc=!0,c(h)}else++g>=f.length&&c(null)}"function"==typeof a&&(b=a,a=!1);e.La++;1{if(!h.type.Rb)return d(null);h.type.Rb(h,a,d)})},v:(a,b,c)=>{var d="/"===c,f=!c;if(d&&e.root)throw new e.g(10);if(!d&&!f){var g=e.s(c,{Ua:!1});c=g.path;g=g.node;if(e.$(g))throw new e.g(10);if(!e.D(g.mode))throw new e.g(54);}b={type:a,hb:b,Ob:c,wa:[]};a=a.v(b);a.v=b;b.root=a;d?e.root=a:g&&(g.va=b,g.v&&g.v.wa.push(b));return a},Bd:a=>{a=e.s(a,{Ua:!1});if(!e.$(a.node))throw new e.g(28); -a=a.node;var b=a.va,c=e.Fb(b);Object.keys(e.O).forEach(d=>{for(d=e.O[d];d;){var f=d.da;c.includes(d.v)&&e.Ta(d);d=f}});a.va=null;a.v.wa.splice(a.v.wa.indexOf(b),1)},lookup:(a,b)=>a.i.lookup(a,b),N:(a,b,c)=>{var d=e.s(a,{parent:!0}).node;a=y.basename(a);if(!a||"."===a||".."===a)throw new e.g(28);var f=e.fb(d,a);if(f)throw new e.g(f);if(!d.i.N)throw new e.g(63);return d.i.N(d,a,b,c)},create:(a,b)=>e.N(a,(void 0!==b?b:438)&4095|32768,0),mkdir:(a,b)=>e.N(a,(void 0!==b?b:511)&1023|16384,0),sd:(a,b)=>{a= -a.split("/");for(var c="",d=0;d{"undefined"==typeof c&&(c=b,b=438);return e.N(a,b|8192,c)},symlink:(a,b)=>{if(!Y.resolve(a))throw new e.g(44);var c=e.s(b,{parent:!0}).node;if(!c)throw new e.g(44);b=y.basename(b);var d=e.fb(c,b);if(d)throw new e.g(d);if(!c.i.symlink)throw new e.g(63);return c.i.symlink(c,b,a)},rename:(a,b)=>{var c=y.dirname(a),d=y.dirname(b),f=y.basename(a),g=y.basename(b);var h=e.s(a,{parent:!0}); -var l=h.node;h=e.s(b,{parent:!0});h=h.node;if(!l||!h)throw new e.g(44);if(l.v!==h.v)throw new e.g(75);var p=e.U(l,f);a=Y.relative(a,d);if("."!==a.charAt(0))throw new e.g(28);a=Y.relative(b,c);if("."!==a.charAt(0))throw new e.g(55);try{var n=e.U(h,g)}catch(q){}if(p!==n){b=e.D(p.mode);if(f=e.Ha(l,f,b))throw new e.g(f);if(f=n?e.Ha(h,g,b):e.fb(h,g))throw new e.g(f);if(!l.i.rename)throw new e.g(63);if(e.$(p)||n&&e.$(n))throw new e.g(10);if(h!==l&&(f=e.ea(l,"w")))throw new e.g(f);e.Kb(p);try{l.i.rename(p, -h,g)}catch(q){throw q;}finally{e.Jb(p)}}},rmdir:a=>{var b=e.s(a,{parent:!0}).node;a=y.basename(a);var c=e.U(b,a),d=e.Ha(b,a,!0);if(d)throw new e.g(d);if(!b.i.rmdir)throw new e.g(63);if(e.$(c))throw new e.g(10);b.i.rmdir(b,a);e.Ta(c)},readdir:a=>{a=e.s(a,{H:!0}).node;if(!a.i.readdir)throw new e.g(54);return a.i.readdir(a)},unlink:a=>{var b=e.s(a,{parent:!0}).node;if(!b)throw new e.g(44);a=y.basename(a);var c=e.U(b,a),d=e.Ha(b,a,!1);if(d)throw new e.g(d);if(!b.i.unlink)throw new e.g(63);if(e.$(c))throw new e.g(10); -b.i.unlink(b,a);e.Ta(c)},readlink:a=>{a=e.s(a).node;if(!a)throw new e.g(44);if(!a.i.readlink)throw new e.g(28);return Y.resolve(e.M(a.parent),a.i.readlink(a))},stat:(a,b)=>{a=e.s(a,{H:!b}).node;if(!a)throw new e.g(44);if(!a.i.I)throw new e.g(63);return a.i.I(a)},lstat:a=>e.stat(a,!0),chmod:(a,b,c)=>{a="string"==typeof a?e.s(a,{H:!c}).node:a;if(!a.i.C)throw new e.g(63);a.i.C(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})},lchmod:(a,b)=>{e.chmod(a,b,!0)},fchmod:(a,b)=>{a=e.W(a);if(!a)throw new e.g(8); -e.chmod(a.node,b)},chown:(a,b,c,d)=>{a="string"==typeof a?e.s(a,{H:!d}).node:a;if(!a.i.C)throw new e.g(63);a.i.C(a,{timestamp:Date.now()})},lchown:(a,b,c)=>{e.chown(a,b,c,!0)},fchown:(a,b,c)=>{a=e.W(a);if(!a)throw new e.g(8);e.chown(a.node,b,c)},truncate:(a,b)=>{if(0>b)throw new e.g(28);a="string"==typeof a?e.s(a,{H:!0}).node:a;if(!a.i.C)throw new e.g(63);if(e.D(a.mode))throw new e.g(31);if(!e.isFile(a.mode))throw new e.g(28);var c=e.ea(a,"w");if(c)throw new e.g(c);a.i.C(a,{size:b,timestamp:Date.now()})}, -ed:(a,b)=>{a=e.W(a);if(!a)throw new e.g(8);if(0===(a.flags&2097155))throw new e.g(28);e.truncate(a.node,b)},Cd:(a,b,c)=>{a=e.s(a,{H:!0}).node;a.i.C(a,{timestamp:Math.max(b,c)})},open:(a,b,c)=>{if(""===a)throw new e.g(44);b="string"==typeof b?e.Bc(b):b;c=b&64?("undefined"==typeof c?438:c)&4095|32768:0;if("object"==typeof a)var d=a;else{a=y.normalize(a);try{d=e.s(a,{H:!(b&131072)}).node}catch(g){}}var f=!1;if(b&64)if(d){if(b&128)throw new e.g(20);}else d=e.N(a,c,0),f=!0;if(!d)throw new e.g(44);e.Ca(d.mode)&& -(b&=-513);if(b&65536&&!e.D(d.mode))throw new e.g(54);if(!f&&(c=e.zc(d,b)))throw new e.g(c);b&512&&!f&&e.truncate(d,0);b&=-131713;d=e.xb({node:d,path:e.M(d),flags:b,seekable:!0,position:0,l:d.l,Zc:[],error:!1});d.l.open&&d.l.open(d);!k.logReadFiles||b&1||(e.jb||(e.jb={}),a in e.jb||(e.jb[a]=1));return d},close:a=>{if(e.ta(a))throw new e.g(8);a.Xa&&(a.Xa=null);try{a.l.close&&a.l.close(a)}catch(b){throw b;}finally{e.$b(a.fd)}a.fd=null},ta:a=>null===a.fd,J:(a,b,c)=>{if(e.ta(a))throw new e.g(8);if(!a.seekable|| -!a.l.J)throw new e.g(70);if(0!=c&&1!=c&&2!=c)throw new e.g(28);a.position=a.l.J(a,b,c);a.Zc=[];return a.position},read:(a,b,c,d,f)=>{if(0>d||0>f)throw new e.g(28);if(e.ta(a))throw new e.g(8);if(1===(a.flags&2097155))throw new e.g(8);if(e.D(a.node.mode))throw new e.g(31);if(!a.l.read)throw new e.g(28);var g="undefined"!=typeof f;if(!g)f=a.position;else if(!a.seekable)throw new e.g(70);b=a.l.read(a,b,c,d,f);g||(a.position+=b);return b},write:(a,b,c,d,f,g)=>{if(0>d||0>f)throw new e.g(28);if(e.ta(a))throw new e.g(8); -if(0===(a.flags&2097155))throw new e.g(8);if(e.D(a.node.mode))throw new e.g(31);if(!a.l.write)throw new e.g(28);a.seekable&&a.flags&1024&&e.J(a,0,2);var h="undefined"!=typeof f;if(!h)f=a.position;else if(!a.seekable)throw new e.g(70);b=a.l.write(a,b,c,d,f,g);h||(a.position+=b);return b},qa:(a,b,c)=>{if(e.ta(a))throw new e.g(8);if(0>b||0>=c)throw new e.g(28);if(0===(a.flags&2097155))throw new e.g(8);if(!e.isFile(a.node.mode)&&!e.D(a.node.mode))throw new e.g(43);if(!a.l.qa)throw new e.g(138);a.l.qa(a, -b,c)},la:(a,b,c,d,f)=>{if(0!==(d&2)&&0===(f&2)&&2!==(a.flags&2097155))throw new e.g(2);if(1===(a.flags&2097155))throw new e.g(2);if(!a.l.la)throw new e.g(43);return a.l.la(a,b,c,d,f)},ma:(a,b,c,d,f)=>a&&a.l.ma?a.l.ma(a,b,c,d,f):0,td:()=>0,Nb:(a,b,c)=>{if(!a.l.Nb)throw new e.g(59);return a.l.Nb(a,b,c)},readFile:(a,b={})=>{b.flags=b.flags||0;b.encoding=b.encoding||"binary";if("utf8"!==b.encoding&&"binary"!==b.encoding)throw Error('Invalid encoding type "'+b.encoding+'"');var c,d=e.open(a,b.flags);a= -e.stat(a).size;var f=new Uint8Array(a);e.read(d,f,0,a,0);"utf8"===b.encoding?c=pa(f,0):"binary"===b.encoding&&(c=f);e.close(d);return c},writeFile:(a,b,c={})=>{c.flags=c.flags||577;a=e.open(a,c.flags,c.mode);if("string"==typeof b){var d=new Uint8Array(Oa(b)+1);b=Na(b,d,0,d.length);e.write(a,d,0,b,void 0,c.Yb)}else if(ArrayBuffer.isView(b))e.write(a,b,0,b.byteLength,void 0,c.Yb);else throw Error("Unsupported data type");e.close(a)},cwd:()=>e.yb,chdir:a=>{a=e.s(a,{H:!0});if(null===a.node)throw new e.g(44); -if(!e.D(a.node.mode))throw new e.g(54);var b=e.ea(a.node,"x");if(b)throw new e.g(b);e.yb=a.path},cc:()=>{e.mkdir("/tmp");e.mkdir("/home");e.mkdir("/home/web_user")},bc:()=>{e.mkdir("/dev");e.nb(e.ba(1,3),{read:()=>0,write:(b,c,d,f)=>f});e.Ia("/dev/null",e.ba(1,3));ca.register(e.ba(5,0),ca.ic);ca.register(e.ba(6,0),ca.hc);e.Ia("/dev/tty",e.ba(5,0));e.Ia("/dev/tty1",e.ba(6,0));var a=Tc();e.V("/dev","random",a);e.V("/dev","urandom",a);e.mkdir("/dev/shm");e.mkdir("/dev/shm/tmp")},ec:()=>{e.mkdir("/proc"); -var a=e.mkdir("/proc/self");e.mkdir("/proc/self/fd");e.v({v:()=>{var b=e.createNode(a,"fd",16895,73);b.i={lookup:(c,d)=>{var f=e.W(+d);if(!f)throw new e.g(8);c={parent:null,v:{Ob:"fake"},i:{readlink:()=>f.path}};return c.parent=c}};return b}},{},"/proc/self/fd")},fc:()=>{k.stdin?e.V("/dev","stdin",k.stdin):e.symlink("/dev/tty","/dev/stdin");k.stdout?e.V("/dev","stdout",null,k.stdout):e.symlink("/dev/tty","/dev/stdout");k.stderr?e.V("/dev","stderr",null,k.stderr):e.symlink("/dev/tty1","/dev/stderr"); -e.open("/dev/stdin",0);e.open("/dev/stdout",1);e.open("/dev/stderr",1)},Bb:()=>{e.g||(e.g=function(a,b){this.node=b;this.Pc=function(c){this.A=c};this.Pc(a);this.message="FS error"},e.g.prototype=Error(),e.g.prototype.constructor=e.g,[44].forEach(a=>{e.Va[a]=new e.g(a);e.Va[a].stack=""}))},Sc:()=>{e.Bb();e.O=Array(4096);e.v(w,{},"/");e.cc();e.bc();e.ec();e.mc={MEMFS:w,WORKERFS:H}},Y:(a,b,c)=>{e.Y.Za=!0;e.Bb();k.stdin=a||k.stdin;k.stdout=b||k.stdout;k.stderr=c||k.stderr;e.fc()}, -wd:()=>{e.Y.Za=!1;for(var a=0;a{var c=0;a&&(c|=365);b&&(c|=146);return c},dd:(a,b)=>{a=e.Qa(a,b);return a.exists?a.object:null},Qa:(a,b)=>{try{var c=e.s(a,{H:!b});a=c.path}catch(f){}var d={Fa:!1,exists:!1,error:0,name:null,path:null,object:null,Fc:!1,Hc:null,Gc:null};try{c=e.s(a,{parent:!0}),d.Fc=!0,d.Hc=c.path,d.Gc=c.node,d.name=y.basename(a),c=e.s(a,{H:!b}),d.exists=!0,d.path=c.path,d.object=c.node,d.name=c.node.name,d.Fa="/"=== -c.path}catch(f){d.error=f.A}return d},bd:(a,b)=>{a="string"==typeof a?a:e.M(a);for(b=b.split("/").reverse();b.length;){var c=b.pop();if(c){var d=y.aa(a,c);try{e.mkdir(d)}catch(f){}a=d}}return d},dc:(a,b,c,d,f)=>{a=y.aa("string"==typeof a?a:e.M(a),b);return e.create(a,e.Wa(d,f))},wb:(a,b,c,d,f,g)=>{var h=b;a&&(a="string"==typeof a?a:e.M(a),h=b?y.aa(a,b):a);a=e.Wa(d,f);h=e.create(h,a);if(c){if("string"==typeof c){b=Array(c.length);d=0;for(f=c.length;d{a=y.aa("string"==typeof a?a:e.M(a),b);b=e.Wa(!!c,!!d);e.V.eb||(e.V.eb=64);var f=e.ba(e.V.eb++,0);e.nb(f,{open:g=>{g.seekable=!1},close:()=>{d&&d.buffer&&d.buffer.length&&d(10)},read:(g,h,l,p)=>{for(var n=0,q=0;q{for(var n= -0;n{if(a.ab||a.uc||a.link||a.j)return!0;if("undefined"!=typeof XMLHttpRequest)throw 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(Ia)try{a.j=Va(Ia(a.url),!0),a.u=a.j.length}catch(b){throw new e.g(29);}else throw Error("Cannot load without read() or XMLHttpRequest."); -},ad:(a,b,c,d,f)=>{function g(){this.cb=!1;this.T=[]}g.prototype.get=function(n){if(!(n>this.length-1||0>n)){var q=n%this.chunkSize;return this.Ib(n/this.chunkSize|0)[q]}};g.prototype.ja=function(n){this.Ib=n};g.prototype.ub=function(){var n=new XMLHttpRequest;n.open("HEAD",c,!1);n.send(null);if(!(200<=n.status&&300>n.status||304===n.status))throw Error("Couldn't load "+c+". Status: "+n.status);var q=Number(n.getResponseHeader("Content-length")),t,u=(t=n.getResponseHeader("Accept-Ranges"))&&"bytes"=== -t;n=(t=n.getResponseHeader("Content-Encoding"))&&"gzip"===t;var m=1048576;u||(m=q);var r=this;r.ja(x=>{var B=x*m,I=(x+1)*m-1;I=Math.min(I,q-1);if("undefined"==typeof r.T[x]){var da=r.T;if(B>I)throw Error("invalid range ("+B+", "+I+") or no bytes requested!");if(I>q-1)throw Error("only "+q+" bytes available! programmer error!");var K=new XMLHttpRequest;K.open("GET",c,!1);q!==m&&K.setRequestHeader("Range","bytes="+B+"-"+I);K.responseType="arraybuffer";K.overrideMimeType&&K.overrideMimeType("text/plain; charset=x-user-defined"); -K.send(null);if(!(200<=K.status&&300>K.status||304===K.status))throw Error("Couldn't load "+c+". Status: "+K.status);B=void 0!==K.response?new Uint8Array(K.response||[]):Va(K.responseText||"",!0);da[x]=B}if("undefined"==typeof r.T[x])throw Error("doXHR failed!");return r.T[x]});if(n||!q)m=q=1,m=q=this.Ib(0).length,ta("LazyFiles on gzip forces download of the whole file when length is accessed");this.Wb=q;this.Vb=m;this.cb=!0};if("undefined"!=typeof XMLHttpRequest){if(!ja)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; -var h=new g;Object.defineProperties(h,{length:{get:function(){this.cb||this.ub();return this.Wb}},chunkSize:{get:function(){this.cb||this.ub();return this.Vb}}});h={ab:!1,j:h}}else h={ab:!1,url:c};var l=e.dc(a,b,h,d,f);h.j?l.j=h.j:h.url&&(l.j=null,l.url=h.url);Object.defineProperties(l,{u:{get:function(){return this.j.length}}});var p={};Object.keys(l.l).forEach(n=>{var q=l.l[n];p[n]=function(){e.Eb(l);return q.apply(null,arguments)}});p.read=(n,q,t,u,m)=>{e.Eb(l);n=n.node.j;if(m>=n.length)return 0; -u=Math.min(n.length-m,u);if(n.slice)for(var r=0;r{function q(m){function r(x){n&&n();l||e.wb(a,b,x,d,f,p);g&&g();Ra(u)}Vc.nd(m,t,r,()=>{h&&h();Ra(u)})||r(m)}var t=b?Y.resolve(y.aa(a,b)):a,u="cp "+t;mb(u);"string"==typeof c?Uc(c,m=>q(m),h):q(c)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,rb:()=>"EM_FS_"+window.location.pathname,sb:20,oa:"FILE_DATA", -yd:(a,b,c)=>{b=b||(()=>{});c=c||(()=>{});var d=e.indexedDB();try{var f=d.open(e.rb(),e.sb)}catch(g){return c(g)}f.onupgradeneeded=()=>{ta("creating db");f.result.createObjectStore(e.oa)};f.onsuccess=()=>{var g=f.result.transaction([e.oa],"readwrite"),h=g.objectStore(e.oa),l=0,p=0,n=a.length;a.forEach(q=>{q=h.put(e.Qa(q).object.j,q);q.onsuccess=()=>{l++;l+p==n&&(0==p?b():c())};q.onerror=()=>{p++;l+p==n&&(0==p?b():c())}});g.onerror=c};f.onerror=c},qd:(a,b,c)=>{b=b||(()=>{});c=c||(()=>{});var d=e.indexedDB(); -try{var f=d.open(e.rb(),e.sb)}catch(g){return c(g)}f.onupgradeneeded=c;f.onsuccess=()=>{var g=f.result;try{var h=g.transaction([e.oa],"readonly")}catch(t){c(t);return}var l=h.objectStore(e.oa),p=0,n=0,q=a.length;a.forEach(t=>{var u=l.get(t);u.onsuccess=()=>{e.Qa(t).exists&&e.unlink(t);e.wb(y.dirname(t),y.basename(t),u.result,!0,!0,!0);p++;p+n==q&&(0==n?b():c())};u.onerror=()=>{n++;p+n==q&&(0==n?b():c())}});h.onerror=c};f.onerror=c}},A={$c:5,Sa:function(a,b,c){if(y.$a(b))return b;if(-100===a)a=e.cwd(); -else{a=e.W(a);if(!a)throw new e.g(8);a=a.path}if(0==b.length){if(!c)throw new e.g(44);return a}return y.aa(a,b)},Ba:function(a,b,c){try{var d=a(b)}catch(f){if(f&&f.node&&y.normalize(b)!==y.normalize(e.M(f.node)))return-54;throw f;}v[c>>2]=d.dev;v[c+4>>2]=0;v[c+8>>2]=d.ino;v[c+12>>2]=d.mode;v[c+16>>2]=d.nlink;v[c+20>>2]=d.uid;v[c+24>>2]=d.gid;v[c+28>>2]=d.rdev;v[c+32>>2]=0;W=[d.size>>>0,(J=d.size,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/ -4294967296)>>>0:0)];v[c+40>>2]=W[0];v[c+44>>2]=W[1];v[c+48>>2]=4096;v[c+52>>2]=d.blocks;v[c+56>>2]=d.atime.getTime()/1E3|0;v[c+60>>2]=0;v[c+64>>2]=d.mtime.getTime()/1E3|0;v[c+68>>2]=0;v[c+72>>2]=d.ctime.getTime()/1E3|0;v[c+76>>2]=0;W=[d.ino>>>0,(J=d.ino,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)];v[c+80>>2]=W[0];v[c+84>>2]=W[1];return 0},jc:function(a,b,c,d,f){a=L.slice(a,a+c);e.ma(b,a,f,c,d)},za:void 0,get:function(){A.za+= -4;return v[A.za-4>>2]},sa:function(a){return ka(a)},X:function(a){a=e.W(a);if(!a)throw new e.g(8);return a}};function nb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var hc=void 0;function P(a){for(var b="";L[a];)b+=hc[L[a++]];return b}var qa={},na={},Wa={};function ob(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function pb(a,b){a=ob(a);return(new Function("body", -"return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function qb(a,b){var c=pb(b,function(d){this.name=b;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var ra=void 0;function z(a){throw new ra(a);}var ic=void 0;function Xa(a){throw new ic(a); -}function sa(a,b,c){function d(l){l=c(l);l.length!==a.length&&Xa("Mismatched type converter count");for(var p=0;p{na.hasOwnProperty(l)?f[p]=na[l]:(g.push(l),qa.hasOwnProperty(l)||(qa[l]=[]),qa[l].push(()=>{f[p]=na[l];++h;h===g.length&&d(f)}))});0===g.length&&d(f)}function Z(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d= -b.name;a||z('type "'+d+'" must have a positive integer typeid pointer');if(na.hasOwnProperty(a)){if(c.sc)return;z("Cannot register type '"+d+"' twice")}na[a]=b;delete Wa[a];qa.hasOwnProperty(a)&&(b=qa[a],delete qa[a],b.forEach(f=>f()))}function rb(a){z(a.h.B.o.name+" instance already deleted")}var sb=!1;function jc(){}function kc(a){--a.count.value;0===a.count.value&&(a.G?a.K.fa(a.G):a.B.o.fa(a.m))}function lc(a,b,c){if(b===c)return a;if(void 0===c.L)return null;a=lc(a,b,c.L);return null===a?null: -c.kc(a)}var mc={},xa=[];function tb(){for(;xa.length;){var a=xa.pop();a.h.ia=!1;a["delete"]()}}var ya=void 0,za={};function Wc(a,b){for(void 0===b&&z("ptr should not be undefined");a.L;)b=a.ya(b),a=a.L;return za[b]}function Ya(a,b){b.B&&b.m||Xa("makeClassHandle requires ptr and ptrType");!!b.K!==!!b.G&&Xa("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Aa(Object.create(a,{h:{value:b}}))}function Aa(a){if("undefined"===typeof FinalizationRegistry)return Aa=b=>b,a;sb=new FinalizationRegistry(b=> -{kc(b.h)});Aa=b=>{var c=b.h;c.G&&sb.register(b,{h:c},b);return b};jc=b=>sb.unregister(b);return Aa(a)}function ea(){}function nc(a,b,c){if(void 0===a[b].F){var d=a[b];a[b]=function(){a[b].F.hasOwnProperty(arguments.length)||z("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+a[b].F+")!");return a[b].F[arguments.length].apply(this,arguments)};a[b].F=[];a[b].F[d.Aa]=d}}function oc(a,b,c){k.hasOwnProperty(a)?((void 0===c||void 0!==k[a].F&&void 0!== -k[a].F[c])&&z("Cannot register public name '"+a+"' twice"),nc(k,a,a),k.hasOwnProperty(c)&&z("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),k[a].F[c]=b):(k[a]=b,void 0!==c&&(k[a].ud=c))}function Xc(a,b,c,d,f,g,h,l){this.name=a;this.constructor=b;this.ka=c;this.fa=d;this.L=f;this.oc=g;this.ya=h;this.kc=l;this.Jc=[]}function ub(a,b,c){for(;b!==c;)b.ya||z("Expected null or instance of "+c.name+", got an instance of "+b.name),a=b.ya(a),b=b.L;return a}function Yc(a, -b){if(null===b)return this.bb&&z("null is not a valid "+this.name),0;b.h||z('Cannot pass "'+vb(b)+'" as a '+this.name);b.h.m||z("Cannot pass deleted object as a pointer of type "+this.name);return ub(b.h.m,b.h.B.o,this.o)}function Zc(a,b){if(null===b){this.bb&&z("null is not a valid "+this.name);if(this.Ga){var c=this.Kc();null!==a&&a.push(this.fa,c);return c}return 0}b.h||z('Cannot pass "'+vb(b)+'" as a '+this.name);b.h.m||z("Cannot pass deleted object as a pointer of type "+this.name);!this.Da&& -b.h.B.Da&&z("Cannot convert argument of type "+(b.h.K?b.h.K.name:b.h.B.name)+" to parameter type "+this.name);c=ub(b.h.m,b.h.B.o,this.o);if(this.Ga)switch(void 0===b.h.G&&z("Passing raw pointer to smart pointer is illegal"),this.Qc){case 0:b.h.K===this?c=b.h.G:z("Cannot convert argument of type "+(b.h.K?b.h.K.name:b.h.B.name)+" to parameter type "+this.name);break;case 1:c=b.h.G;break;case 2:if(b.h.K===this)c=b.h.G;else{var d=b.clone();c=this.Lc(c,Za.qb(function(){d["delete"]()}));null!==a&&a.push(this.fa, -c)}break;default:z("Unsupporting sharing policy")}return c}function $c(a,b){if(null===b)return this.bb&&z("null is not a valid "+this.name),0;b.h||z('Cannot pass "'+vb(b)+'" as a '+this.name);b.h.m||z("Cannot pass deleted object as a pointer of type "+this.name);b.h.B.Da&&z("Cannot convert argument of type "+b.h.B.name+" to parameter type "+this.name);return ub(b.h.m,b.h.B.o,this.o)}function $a(a){return this.fromWireType(E[a>>2])}function aa(a,b,c,d,f,g,h,l,p,n,q){this.name=a;this.o=b;this.bb=c; -this.Da=d;this.Ga=f;this.Ic=g;this.Qc=h;this.Pb=l;this.Kc=p;this.Lc=n;this.fa=q;f||void 0!==b.L?this.toWireType=Zc:(this.toWireType=d?Yc:$c,this.S=null)}function pc(a,b,c){k.hasOwnProperty(a)||Xa("Replacing nonexistant public symbol");void 0!==k[a].F&&void 0!==c?k[a].F[c]=b:(k[a]=b,k[a].Aa=c)}function ad(a,b){var c=[];return function(){c.length=0;Object.assign(c,arguments);if(a.includes("j")){var d=k["dynCall_"+a];d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)}else d=C(b).apply(null,c); -return d}}function oa(a,b){a=P(a);var c=a.includes("j")?ad(a,b):C(b);"function"!=typeof c&&z("unknown function pointer with signature "+a+": "+b);return c}var qc=void 0;function rc(a){a=sc(a);var b=P(a);U(a);return b}function ab(a,b){function c(g){f[g]||na[g]||(Wa[g]?Wa[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new qc(a+": "+d.map(rc).join([", "]));}function wb(a,b){for(var c=[],d=0;d>2)+d]);return c}function bd(a){for(;a.length;){var b=a.pop();a.pop()(b)}} -function cd(a,b){if(!(a instanceof Function))throw new TypeError("new_ called with constructor type "+typeof a+" which is not a function");var c=pb(a.name||"unknownFunctionName",function(){});c.prototype=a.prototype;c=new c;a=a.apply(c,b);return a instanceof Object?a:c}function xb(a,b,c,d,f){var g=b.length;2>g&&z("argTypes array size mismatch! Must at least get return value and 'this' types!");var h=null!==b[1]&&null!==c,l=!1;for(c=1;c{a||z("Cannot use deleted val. handle = "+a);return R[a].value},qb:a=>{switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=yb.length?yb.pop():R.length;R[b]={mb:1,value:a};return b}}};function vb(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"=== -b||"function"===b?a.toString():""+a}function dd(a,b){switch(b){case 2:return function(c){return this.fromWireType(Ub[c>>2])};case 3:return function(c){return this.fromWireType(Vb[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function ed(a,b,c){switch(b){case 0:return c?function(d){return M[d]}:function(d){return L[d]};case 1:return c?function(d){return la[d>>1]}:function(d){return Pa[d>>1]};case 2:return c?function(d){return v[d>>2]}:function(d){return E[d>>2]};default:throw new TypeError("Unknown integer type: "+ -a);}}var zb={};function Ba(){if(!Ba.Qb){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Ea||"./this.program"},b;for(b in zb)void 0===zb[b]?delete a[b]:a[b]=zb[b];var c=[];for(b in a)c.push(b+"="+a[b]);Ba.Qb=c}return Ba.Qb}function uc(a,b,c,d){for(var f=0,g=0;g>2],l=E[b+4>>2];b+=8;h=e.read(a,M,h,l,d);if(0>h)return-1;f+=h;if(h>>0<4194305-!!a?(a>>>0)+4294967296*b:NaN}function vc(a,b,c,d){for(var f=0,g=0;g>2],l=E[b+4>>2];b+=8;h=e.write(a,M,h,l,d);if(0>h)return-1;f+=h}return f}function bb(a){return 0===a%4&&(0!==a%100||0===a%400)}var wc=[31,29,31,30,31,30,31,31,30,31,30,31],xc=[31,28,31,30,31,30,31,31,30,31,30,31];function fd(a,b,c,d){function f(m,r,x){for(m="number"==typeof m?m.toString():m||"";m.lengthI?-1:0x-m.getDate())r-=x-m.getDate()+1,m.setDate(1),11>B?m.setMonth(B+1):(m.setMonth(0),m.setFullYear(m.getFullYear()+1));else{m.setDate(m.getDate()+r);break}}B=new Date(m.getFullYear()+1,0,4);r=l(new Date(m.getFullYear(),0,4));B=l(B);return 0>=h(r,m)?0>=h(B,m)?m.getFullYear()+1:m.getFullYear():m.getFullYear()-1}var n=v[d+40>>2];d={Vc:v[d>>2],Uc:v[d+4>>2],Ma:v[d+8>>2],pb:v[d+12>>2], -Na:v[d+16>>2],ha:v[d+20>>2],R:v[d+24>>2],ga:v[d+28>>2],Ad:v[d+32>>2],Tc:v[d+36>>2],Wc:n?ka(n):""};c=ka(c);n={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var q in n)c=c.replace(new RegExp(q, -"g"),n[q]);var t="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),u="January February March April May June July August September October November December".split(" ");n={"%a":function(m){return t[m.R].substring(0,3)},"%A":function(m){return t[m.R]},"%b":function(m){return u[m.Na].substring(0,3)},"%B":function(m){return u[m.Na]},"%C":function(m){return g((m.ha+1900)/100|0,2)},"%d":function(m){return g(m.pb,2)},"%e":function(m){return f(m.pb,2," ")},"%g":function(m){return p(m).toString().substring(2)}, -"%G":function(m){return p(m)},"%H":function(m){return g(m.Ma,2)},"%I":function(m){m=m.Ma;0==m?m=12:12m.Ma?"AM":"PM"},"%S":function(m){return g(m.Vc,2)},"%t":function(){return"\t"},"%u":function(m){return m.R||7},"%U":function(m){return g(Math.floor((m.ga+ -7-m.R)/7),2)},"%V":function(m){var r=Math.floor((m.ga+7-(m.R+6)%7)/7);2>=(m.R+371-m.ga-2)%7&&r++;if(r)53==r&&(x=(m.R+371-m.ga)%7,4==x||3==x&&bb(m.ha)||(r=1));else{r=52;var x=(m.R+7-m.ga-1)%7;(4==x||5==x&&bb(m.ha%400-1))&&r++}return g(r,2)},"%w":function(m){return m.R},"%W":function(m){return g(Math.floor((m.ga+7-(m.R+6)%7)/7),2)},"%y":function(m){return(m.ha+1900).toString().substring(2)},"%Y":function(m){return m.ha+1900},"%z":function(m){m=m.Tc;var r=0<=m;m=Math.abs(m)/60;return(r?"+":"-")+String("0000"+ -(m/60*100+m%60)).slice(-4)},"%Z":function(m){return m.Wc},"%%":function(){return"%"}};c=c.replace(/%%/g,"\x00\x00");for(q in n)c.includes(q)&&(c=c.replace(new RegExp(q,"g"),n[q](d)));c=c.replace(/\0\0/g,"%");q=Va(c,!1);if(q.length>b)return 0;M.set(q,a);return q.length-1}var yc=function(a,b,c,d){a||(a=this);this.parent=a;this.v=a.v;this.va=null;this.id=e.Cc++;this.name=b;this.mode=c;this.i={};this.l={};this.rdev=d};Object.defineProperties(yc.prototype,{read:{get:function(){return 365===(this.mode& -365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},uc:{get:function(){return e.D(this.mode)}},ab:{get:function(){return e.Ca(this.mode)}}});e.Tb=yc;e.Sc();var Vc;(function(){for(var a=Array(256),b=0;256>b;++b)a[b]=String.fromCharCode(b);hc=a})();ra=k.BindingError=qb(Error,"BindingError");ic=k.InternalError=qb(Error,"InternalError");ea.prototype.isAliasOf=function(a){if(!(this instanceof ea&& -a instanceof ea))return!1;var b=this.h.B.o,c=this.h.m,d=a.h.B.o;for(a=a.h.m;b.L;)c=b.ya(c),b=b.L;for(;d.L;)a=d.ya(a),d=d.L;return b===d&&c===a};ea.prototype.clone=function(){this.h.m||rb(this);if(this.h.xa)return this.h.count.value+=1,this;var a=Aa,b=Object,c=b.create,d=Object.getPrototypeOf(this),f=this.h;a=a(c.call(b,d,{h:{value:{count:f.count,ia:f.ia,xa:f.xa,m:f.m,B:f.B,G:f.G,K:f.K}}}));a.h.count.value+=1;a.h.ia=!1;return a};ea.prototype["delete"]=function(){this.h.m||rb(this);this.h.ia&&!this.h.xa&& -z("Object already scheduled for deletion");jc(this);kc(this.h);this.h.xa||(this.h.G=void 0,this.h.m=void 0)};ea.prototype.isDeleted=function(){return!this.h.m};ea.prototype.deleteLater=function(){this.h.m||rb(this);this.h.ia&&!this.h.xa&&z("Object already scheduled for deletion");xa.push(this);1===xa.length&&ya&&ya(tb);this.h.ia=!0;return this};k.getInheritedInstanceCount=function(){return Object.keys(za).length};k.getLiveInheritedInstances=function(){var a=[],b;for(b in za)za.hasOwnProperty(b)&& -a.push(za[b]);return a};k.flushPendingDeletes=tb;k.setDelayFunction=function(a){ya=a;xa.length&&ya&&ya(tb)};aa.prototype.qc=function(a){this.Pb&&(a=this.Pb(a));return a};aa.prototype.zb=function(a){this.fa&&this.fa(a)};aa.prototype.argPackAdvance=8;aa.prototype.readValueFromPointer=$a;aa.prototype.deleteObject=function(a){if(null!==a)a["delete"]()};aa.prototype.fromWireType=function(a){function b(){return this.Ga?Ya(this.o.ka,{B:this.Ic,m:c,K:this,G:a}):Ya(this.o.ka,{B:this,m:a})}var c=this.qc(a); -if(!c)return this.zb(a),null;var d=Wc(this.o,c);if(void 0!==d){if(0===d.h.count.value)return d.h.m=c,d.h.G=a,d.clone();d=d.clone();this.zb(a);return d}d=this.o.oc(c);d=mc[d];if(!d)return b.call(this);d=this.Da?d.ac:d.pointerType;var f=lc(c,this.o,d.o);return null===f?b.call(this):this.Ga?Ya(d.o.ka,{B:d,m:f,K:this,G:a}):Ya(d.o.ka,{B:d,m:f})};qc=k.UnboundTypeError=qb(Error,"UnboundTypeError");k.count_emval_handles=function(){for(var a=0,b=5;bf?-28:e.xb(d,f).fd;case 1:case 2:return 0;case 3:return d.flags;case 4:return f=A.get(),d.flags|= -f,0;case 5:return f=A.get(),la[f+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return v[zc()>>2]=28,-1;default:return-28}}catch(g){if("undefined"==typeof e||!(g instanceof e.g))throw g;return-g.A}},__syscall_fstat64:function(a,b){try{var c=A.X(a);return A.Ba(e.stat,c.path,b)}catch(d){if("undefined"==typeof e||!(d instanceof e.g))throw d;return-d.A}},__syscall_lstat64:function(a,b){try{return a=A.sa(a),A.Ba(e.lstat,a,b)}catch(c){if("undefined"==typeof e||!(c instanceof e.g))throw c; -return-c.A}},__syscall_newfstatat:function(a,b,c,d){try{b=A.sa(b);var f=d&256;b=A.Sa(a,b,d&4096);return A.Ba(f?e.lstat:e.stat,b,c)}catch(g){if("undefined"==typeof e||!(g instanceof e.g))throw g;return-g.A}},__syscall_openat:function(a,b,c,d){A.za=d;try{b=A.sa(b);b=A.Sa(a,b);var f=d?A.get():0;return e.open(b,c,f).fd}catch(g){if("undefined"==typeof e||!(g instanceof e.g))throw g;return-g.A}},__syscall_stat64:function(a,b){try{return a=A.sa(a),A.Ba(e.stat,a,b)}catch(c){if("undefined"==typeof e||!(c instanceof -e.g))throw c;return-c.A}},__syscall_unlinkat:function(a,b,c){try{return b=A.sa(b),b=A.Sa(a,b),0===c?e.unlink(b):512===c?e.rmdir(b):Q("Invalid flags passed to unlinkat"),0}catch(d){if("undefined"==typeof e||!(d instanceof e.g))throw d;return-d.A}},_embind_register_bigint:function(){},_embind_register_bool:function(a,b,c,d,f){var g=nb(c);b=P(b);Z(a,{name:b,fromWireType:function(h){return!!h},toWireType:function(h,l){return l?d:f},argPackAdvance:8,readValueFromPointer:function(h){if(1===c)var l=M;else if(2=== -c)l=la;else if(4===c)l=v;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(l[h>>g])},S:null})},_embind_register_class:function(a,b,c,d,f,g,h,l,p,n,q,t,u){q=P(q);g=oa(f,g);l&&(l=oa(h,l));n&&(n=oa(p,n));u=oa(t,u);var m=ob(q);oc(m,function(){ab("Cannot construct "+q+" due to unbound types",[d])});sa([a,b,c],d?[d]:[],function(r){r=r[0];if(d){var x=r.o;var B=x.ka}else B=ea.prototype;r=pb(m,function(){if(Object.getPrototypeOf(this)!==I)throw new ra("Use 'new' to construct "+ -q);if(void 0===da.Z)throw new ra(q+" has no accessible constructor");var Ac=da.Z[arguments.length];if(void 0===Ac)throw new ra("Tried to invoke ctor of "+q+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(da.Z).toString()+") parameters instead!");return Ac.apply(this,arguments)});var I=Object.create(B,{constructor:{value:r}});r.prototype=I;var da=new Xc(q,r,I,u,x,g,l,n);x=new aa(q,da,!0,!1,!1);B=new aa(q+"*",da,!1,!1,!1);var K=new aa(q+" const*",da,!1,!0,!1);mc[a]= -{pointerType:B,ac:K};pc(m,r);return[x,B,K]})},_embind_register_class_constructor:function(a,b,c,d,f,g){0{ab("Cannot construct "+ -l.name+" due to unbound types",h)};sa([],h,function(n){n.splice(1,0,null);l.o.Z[b-1]=xb(p,n,null,f,g);return[]});return[]})},_embind_register_class_function:function(a,b,c,d,f,g,h,l){var p=wb(c,d);b=P(b);g=oa(f,g);sa([],[a],function(n){function q(){ab("Cannot call "+t+" due to unbound types",p)}n=n[0];var t=n.name+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);l&&n.o.Jc.push(b);var u=n.o.ka,m=u[b];void 0===m||void 0===m.F&&m.className!==n.name&&m.Aa===c-2?(q.Aa=c-2,q.className=n.name,u[b]=q): -(nc(u,b,t),u[b].F[c-2]=q);sa([],p,function(r){r=xb(t,r,n,g,h);void 0===u[b].F?(r.Aa=c-2,u[b]=r):u[b].F[c-2]=r;return[]});return[]})},_embind_register_emval:function(a,b){b=P(b);Z(a,{name:b,fromWireType:function(c){var d=Za.Xc(c);tc(c);return d},toWireType:function(c,d){return Za.qb(d)},argPackAdvance:8,readValueFromPointer:$a,S:null})},_embind_register_float:function(a,b,c){c=nb(c);b=P(b);Z(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,f){return f},argPackAdvance:8,readValueFromPointer:dd(b, -c),S:null})},_embind_register_function:function(a,b,c,d,f,g){var h=wb(b,c);a=P(a);f=oa(d,f);oc(a,function(){ab("Cannot call "+a+" due to unbound types",h)},b-1);sa([],h,function(l){l=[l[0],null].concat(l.slice(1));pc(a,xb(a,l,null,f,g),b-1);return[]})},_embind_register_integer:function(a,b,c,d,f){b=P(b);-1===f&&(f=4294967295);f=nb(c);var g=l=>l;if(0===d){var h=32-8*c;g=l=>l<>>h}c=b.includes("unsigned")?function(l,p){return p>>>0}:function(l,p){return p};Z(a,{name:b,fromWireType:g,toWireType:c, -argPackAdvance:8,readValueFromPointer:ed(b,f,0!==d),S:null})},_embind_register_memory_view:function(a,b,c){function d(g){g>>=2;var h=E;return new f(Qa,h[g+1],h[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=P(c);Z(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{sc:!0})},_embind_register_std_string:function(a,b){b=P(b);var c="std::string"===b;Z(a,{name:b,fromWireType:function(d){var f=E[d>>2];if(c)for(var g=d+4,h=0;h<= -f;++h){var l=d+4+h;if(h==f||0==L[l]){g=ka(g,l-g);if(void 0===p)var p=g;else p+=String.fromCharCode(0),p+=g;g=l+1}}else{p=Array(f);for(h=0;hOa(f):()=>f.length)(),l=cb(4+h+1);E[l>>2]=h;if(c&&g)Na(f, -L,l+4,h+1);else if(g)for(g=0;gPa;var l=1}else 4===b&&(d=Oc,f=Pc,g=Qc,h=()=>E,l=2);Z(a,{name:c,fromWireType:function(p){for(var n=E[p>>2],q=h(),t,u=p+4,m=0;m<= -n;++m){var r=p+4+m*b;if(m==n||0==q[r>>l])u=d(u,r-u),void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),u=r+b}U(p);return t},toWireType:function(p,n){"string"!=typeof n&&z("Cannot pass non-string to C++ string type "+c);var q=g(n),t=cb(4+q+b);E[t>>2]=q>>l;f(n,t+4,q+b);null!==p&&p.push(U,t);return t},argPackAdvance:8,readValueFromPointer:$a,S:function(p){U(p)}})},_embind_register_void:function(a,b){b=P(b);Z(a,{od:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},_emval_decref:tc, -_emval_incref:function(a){4>2]=l.Xb;return p}catch(n){if("undefined"==typeof e||!(n instanceof e.g))throw n;return-n.A}},_munmap_js:function(a,b,c,d,f,g){try{var h=e.W(f);h&&c&2&&A.jc(a,h,b,d,g)}catch(l){if("undefined"==typeof e||!(l instanceof -e.g))throw l;return-l.A}},abort:function(){Q("")},emscripten_memcpy_big:function(a,b,c){L.copyWithin(a,b,b+c)},emscripten_resize_heap:function(a){var b=L.length;a>>>=0;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);var f=Math;d=Math.max(a,d);f=f.min.call(f,2147483648,d+(65536-d%65536)%65536);a:{try{La.grow(f-Qa.byteLength+65535>>>16);Wb(La.buffer);var g=1;break a}catch(h){}g=void 0}if(g)return!0}return!1},environ_get:function(a,b){var c=0;Ba().forEach(function(d, -f){var g=b+c;f=E[a+4*f>>2]=g;for(g=0;g>0]=d.charCodeAt(g);M[f>>0]=0;c+=d.length+1});return 0},environ_sizes_get:function(a,b){var c=Ba();E[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});E[b>>2]=d;return 0},fd_close:function(a){try{var b=A.X(a);e.close(b);return 0}catch(c){if("undefined"==typeof e||!(c instanceof e.g))throw c;return c.A}},fd_pread:function(a,b,c,d,f,g){try{var h=Ab(d,f);if(isNaN(h))return 61;var l=A.X(a),p=uc(l,b,c,h);v[g>>2]=p;return 0}catch(n){if("undefined"== -typeof e||!(n instanceof e.g))throw n;return n.A}},fd_pwrite:function(a,b,c,d,f,g){try{var h=Ab(d,f);if(isNaN(h))return 61;var l=A.X(a),p=vc(l,b,c,h);v[g>>2]=p;return 0}catch(n){if("undefined"==typeof e||!(n instanceof e.g))throw n;return n.A}},fd_read:function(a,b,c,d){try{var f=A.X(a),g=uc(f,b,c);v[d>>2]=g;return 0}catch(h){if("undefined"==typeof e||!(h instanceof e.g))throw h;return h.A}},fd_seek:function(a,b,c,d,f){try{var g=Ab(b,c);if(isNaN(g))return 61;var h=A.X(a);e.J(h,g,d);W=[h.position>>> -0,(J=h.position,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)];v[f>>2]=W[0];v[f+4>>2]=W[1];h.Xa&&0===g&&0===d&&(h.Xa=null);return 0}catch(l){if("undefined"==typeof e||!(l instanceof e.g))throw l;return l.A}},fd_write:function(a,b,c,d){try{var f=A.X(a),g=vc(f,b,c);E[d>>2]=g;return 0}catch(h){if("undefined"==typeof e||!(h instanceof e.g))throw h;return h.A}},getTempRet0:function(){return Kc()},invoke_diii:gd,invoke_fiii:hd, -invoke_i:jd,invoke_ii:kd,invoke_iii:ld,invoke_iiii:md,invoke_iiiii:nd,invoke_iiiiii:od,invoke_iiiiiii:pd,invoke_iiiiiiii:qd,invoke_iiiiiiiiiii:rd,invoke_iiiiiiiiiiii:sd,invoke_iiiiiiiiiiiii:td,invoke_iiiiij:ud,invoke_jiiii:vd,invoke_v:wd,invoke_vi:xd,invoke_vii:yd,invoke_viii:zd,invoke_viiii:Ad,invoke_viiiiiii:Bd,invoke_viiiiiiiiii:Cd,invoke_viiiiiiiiiiiiiii:Dd,llvm_eh_typeid_for:function(a){return a},setTempRet0:function(a){N(a)},strftime_l:function(a,b,c,d){return fd(a,b,c,d)}};(function(){function a(f){k.asm= -f.exports;La=k.asm.memory;Wb(La.buffer);Xb=k.asm.__indirect_function_table;Zb.unshift(k.asm.__wasm_call_ctors);Ra("wasm-instantiate")}function b(f){a(f.instance)}function c(f){return Sc().then(function(g){return WebAssembly.instantiate(g,d)}).then(function(g){return g}).then(f,function(g){T("failed to asynchronously prepare wasm: "+g);Q(g)})}var d={env:Bc,wasi_snapshot_preview1:Bc};mb("wasm-instantiate");if(k.instantiateWasm)try{return k.instantiateWasm(d,a)}catch(f){return T("Module.instantiateWasm callback failed with error: "+ -f),!1}(function(){return ua||"function"!=typeof WebAssembly.instantiateStreaming||ac(O)||O.startsWith("file://")||"function"!=typeof fetch?c(b):fetch(O,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,d).then(b,function(g){T("wasm streaming compile failed: "+g);T("falling back to ArrayBuffer instantiation");return c(b)})})})();return{}})();k.___wasm_call_ctors=function(){return(k.___wasm_call_ctors=k.asm.__wasm_call_ctors).apply(null,arguments)};k._main=function(){return(k._main= -k.asm.main).apply(null,arguments)};var cb=k._malloc=function(){return(cb=k._malloc=k.asm.malloc).apply(null,arguments)},zc=k.___errno_location=function(){return(zc=k.___errno_location=k.asm.__errno_location).apply(null,arguments)},U=k._free=function(){return(U=k._free=k.asm.free).apply(null,arguments)},sc=k.___getTypeName=function(){return(sc=k.___getTypeName=k.asm.__getTypeName).apply(null,arguments)};k.___embind_register_native_and_builtin_types=function(){return(k.___embind_register_native_and_builtin_types= -k.asm.__embind_register_native_and_builtin_types).apply(null,arguments)};k.___dl_seterr=function(){return(k.___dl_seterr=k.asm.__dl_seterr).apply(null,arguments)};var gc=k._emscripten_builtin_memalign=function(){return(gc=k._emscripten_builtin_memalign=k.asm.emscripten_builtin_memalign).apply(null,arguments)},D=k._setThrew=function(){return(D=k._setThrew=k.asm.setThrew).apply(null,arguments)},F=k.stackSave=function(){return(F=k.stackSave=k.asm.stackSave).apply(null,arguments)},G=k.stackRestore=function(){return(G= -k.stackRestore=k.asm.stackRestore).apply(null,arguments)},Bb=k.stackAlloc=function(){return(Bb=k.stackAlloc=k.asm.stackAlloc).apply(null,arguments)};k.___cxa_demangle=function(){return(k.___cxa_demangle=k.asm.__cxa_demangle).apply(null,arguments)};var db=k.___cxa_can_catch=function(){return(db=k.___cxa_can_catch=k.asm.__cxa_can_catch).apply(null,arguments)},cc=k.___cxa_is_pointer_type=function(){return(cc=k.___cxa_is_pointer_type=k.asm.__cxa_is_pointer_type).apply(null,arguments)};k.dynCall_ji=function(){return(k.dynCall_ji= -k.asm.dynCall_ji).apply(null,arguments)};k.dynCall_viijj=function(){return(k.dynCall_viijj=k.asm.dynCall_viijj).apply(null,arguments)};k.dynCall_iij=function(){return(k.dynCall_iij=k.asm.dynCall_iij).apply(null,arguments)};k.dynCall_iijj=function(){return(k.dynCall_iijj=k.asm.dynCall_iijj).apply(null,arguments)};k.dynCall_viij=function(){return(k.dynCall_viij=k.asm.dynCall_viij).apply(null,arguments)};k.dynCall_ij=function(){return(k.dynCall_ij=k.asm.dynCall_ij).apply(null,arguments)};k.dynCall_iiiji= -function(){return(k.dynCall_iiiji=k.asm.dynCall_iiiji).apply(null,arguments)};k.dynCall_iiiij=function(){return(k.dynCall_iiiij=k.asm.dynCall_iiiij).apply(null,arguments)};k.dynCall_vij=function(){return(k.dynCall_vij=k.asm.dynCall_vij).apply(null,arguments)};k.dynCall_jiji=function(){return(k.dynCall_jiji=k.asm.dynCall_jiji).apply(null,arguments)};var Cc=k.dynCall_iiiiij=function(){return(Cc=k.dynCall_iiiiij=k.asm.dynCall_iiiiij).apply(null,arguments)};k.dynCall_viijii=function(){return(k.dynCall_viijii= -k.asm.dynCall_viijii).apply(null,arguments)};var Dc=k.dynCall_jiiii=function(){return(Dc=k.dynCall_jiiii=k.asm.dynCall_jiiii).apply(null,arguments)};k.dynCall_iiiiijj=function(){return(k.dynCall_iiiiijj=k.asm.dynCall_iiiiijj).apply(null,arguments)};k.dynCall_iiiiiijj=function(){return(k.dynCall_iiiiiijj=k.asm.dynCall_iiiiiijj).apply(null,arguments)};function ld(a,b,c){var d=F();try{return C(a)(b,c)}catch(f){G(d);if(f!==f+0)throw f;D(1,0)}}function kd(a,b){var c=F();try{return C(a)(b)}catch(d){G(c); -if(d!==d+0)throw d;D(1,0)}}function zd(a,b,c,d){var f=F();try{C(a)(b,c,d)}catch(g){G(f);if(g!==g+0)throw g;D(1,0)}}function md(a,b,c,d){var f=F();try{return C(a)(b,c,d)}catch(g){G(f);if(g!==g+0)throw g;D(1,0)}}function wd(a){var b=F();try{C(a)()}catch(c){G(b);if(c!==c+0)throw c;D(1,0)}}function Ad(a,b,c,d,f){var g=F();try{C(a)(b,c,d,f)}catch(h){G(g);if(h!==h+0)throw h;D(1,0)}}function yd(a,b,c){var d=F();try{C(a)(b,c)}catch(f){G(d);if(f!==f+0)throw f;D(1,0)}}function pd(a,b,c,d,f,g,h){var l=F();try{return C(a)(b, -c,d,f,g,h)}catch(p){G(l);if(p!==p+0)throw p;D(1,0)}}function xd(a,b){var c=F();try{C(a)(b)}catch(d){G(c);if(d!==d+0)throw d;D(1,0)}}function jd(a){var b=F();try{return C(a)()}catch(c){G(b);if(c!==c+0)throw c;D(1,0)}}function od(a,b,c,d,f,g){var h=F();try{return C(a)(b,c,d,f,g)}catch(l){G(h);if(l!==l+0)throw l;D(1,0)}}function qd(a,b,c,d,f,g,h,l){var p=F();try{return C(a)(b,c,d,f,g,h,l)}catch(n){G(p);if(n!==n+0)throw n;D(1,0)}}function rd(a,b,c,d,f,g,h,l,p,n,q){var t=F();try{return C(a)(b,c,d,f,g, -h,l,p,n,q)}catch(u){G(t);if(u!==u+0)throw u;D(1,0)}}function nd(a,b,c,d,f){var g=F();try{return C(a)(b,c,d,f)}catch(h){G(g);if(h!==h+0)throw h;D(1,0)}}function td(a,b,c,d,f,g,h,l,p,n,q,t,u){var m=F();try{return C(a)(b,c,d,f,g,h,l,p,n,q,t,u)}catch(r){G(m);if(r!==r+0)throw r;D(1,0)}}function hd(a,b,c,d){var f=F();try{return C(a)(b,c,d)}catch(g){G(f);if(g!==g+0)throw g;D(1,0)}}function gd(a,b,c,d){var f=F();try{return C(a)(b,c,d)}catch(g){G(f);if(g!==g+0)throw g;D(1,0)}}function Bd(a,b,c,d,f,g,h,l){var p= -F();try{C(a)(b,c,d,f,g,h,l)}catch(n){G(p);if(n!==n+0)throw n;D(1,0)}}function sd(a,b,c,d,f,g,h,l,p,n,q,t){var u=F();try{return C(a)(b,c,d,f,g,h,l,p,n,q,t)}catch(m){G(u);if(m!==m+0)throw m;D(1,0)}}function Cd(a,b,c,d,f,g,h,l,p,n,q){var t=F();try{C(a)(b,c,d,f,g,h,l,p,n,q)}catch(u){G(t);if(u!==u+0)throw u;D(1,0)}}function Dd(a,b,c,d,f,g,h,l,p,n,q,t,u,m,r,x){var B=F();try{C(a)(b,c,d,f,g,h,l,p,n,q,t,u,m,r,x)}catch(I){G(B);if(I!==I+0)throw I;D(1,0)}}function ud(a,b,c,d,f,g,h){var l=F();try{return Cc(a, -b,c,d,f,g,h)}catch(p){G(l);if(p!==p+0)throw p;D(1,0)}}function vd(a,b,c,d,f){var g=F();try{return Dc(a,b,c,d,f)}catch(h){G(g);if(h!==h+0)throw h;D(1,0)}}k.print=ta;k.printErr=T;k.ALLOC_NORMAL=0;k.ALLOC_STACK=1;var eb;function Ka(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}va=function b(){eb||Cb();eb||(va=b)};function Ed(b){var c=k._main;b=b||[];b.unshift(Ea);var d=b.length,f=Bb(4*(d+1)),g=f>>2;b.forEach(p=>{var n=v,q=g++,t=Oa(p)+1,u=Bb(t);Na(p,M,u,t); -n[q]=u});v[g]=0;try{var h=c(d,f);Fd(h,!0);return h}catch(p){if(p instanceof Ka||"unwind"==p)var l=Ma;else Fa(1,p),l=void 0;return l}finally{}}function Cb(b){function c(){if(!eb&&(eb=!0,k.calledRun=!0,!kb)){k.noFSInit||e.Y.Za||e.Y();e.Mb=!1;ca.Y();Sa(Zb);Sa(Rc);if(k.onRuntimeInitialized)k.onRuntimeInitialized();Ec&&Ed(b);if(k.postRun)for("function"==typeof k.postRun&&(k.postRun=[k.postRun]);k.postRun.length;)$b.unshift(k.postRun.shift());Sa($b)}}b=b||hb;if(!(00){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func=="number"){if(callback.arg===undefined){getWasmTableEntry(func)()}else{getWasmTableEntry(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}function demangle(func){demangle.recursionGuard=(demangle.recursionGuard|0)+1;if(demangle.recursionGuard>1)return func;var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];assert(__cxa_demangle_func);return withStackSave(function(){try{var s=func;if(s.startsWith("__Z"))s=s.substr(1);var len=lengthBytesUTF8(s)+1;var buf=stackAlloc(len);stringToUTF8(s,buf,len);var status=stackAlloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(HEAP32[status>>2]===0&&ret){return UTF8ToString(ret)}}catch(e){}finally{_free(ret);if(demangle.recursionGuard<2)--demangle.recursionGuard}return func})}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}function jsStackTrace(){var error=new Error;if(!error.stack){try{throw new Error}catch(e){error=e}if(!error.stack){return"(no stack trace available)"}}return error.stack.toString()}function setWasmTableEntry(idx,func){wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___call_sighandler(fp,sig){getWasmTableEntry(fp)(sig)}function ___cxa_allocate_exception(size){return _malloc(size+24)+24}var exceptionCaught=[];function exception_addRef(info){info.add_ref()}var uncaughtExceptionCount=0;function ___cxa_begin_catch(ptr){var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);exception_addRef(info);return info.get_exception_ptr()}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}function ___cxa_free_exception(ptr){return _free(new ExceptionInfo(ptr).ptr)}function exception_decRef(info){if(info.release_ref()&&!info.get_rethrown()){var destructor=info.get_destructor();if(destructor){getWasmTableEntry(destructor)(info.excPtr)}___cxa_free_exception(info.excPtr)}}function ___cxa_decrement_exception_refcount(ptr){if(!ptr)return;exception_decRef(new ExceptionInfo(ptr))}var exceptionLast=0;function ___cxa_end_catch(){_setThrew(0);var info=exceptionCaught.pop();exception_decRef(info);exceptionLast=0}function ___resumeException(ptr){if(!exceptionLast){exceptionLast=ptr}throw ptr}function ___cxa_find_matching_catch_2(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;ipath.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function zeroMemory(address,size){HEAPU8.fill(0,address,address+size)}function alignMemory(size,alignment){return Math.ceil(size/alignment)*alignment}function mmapAlloc(size){size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;zeroMemory(ptr,size);return ptr}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(29)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(28)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(FS.cwd(),path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(p=>!!p),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:str=>{var flags=FS.flagModes[str];if(typeof flags=="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:(fd_start=0,fd_end=FS.MAX_OPEN_FDS)=>{for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd_start,fd_end)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get function(){return this.shared.position},set:function(val){this.shared.position=val}}}}stream=Object.assign(new FS.FSStream,stream);var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"WORKERFS":WORKERFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{return null}},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;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.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=(stream,buffer,offset,length,position)=>{FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(Browser.handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}},indexedDB:()=>{return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:()=>{return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=()=>{out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=()=>{var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=()=>{ok++;if(ok+fail==total)finish()};putRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=()=>{var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var getRequest=files.get(path);getRequest.onsuccess=()=>{if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function ___syscall_fadvise64(fd,offset,len,advice){return 0}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~4352;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}return getWasmTableEntry(ptr).apply(null,args)}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i>2)+i])}return array}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){assert(argCount>0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;ilengthBytesUTF8(value)}else{getLength=()=>value.length}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;iHEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return Emval.toHandle(v)}function __mmap_js(len,prot,flags,fd,off,allocated){try{var stream=FS.getStream(fd);if(!stream)return-8;var res=FS.mmap(stream,len,off,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;return ptr}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset){try{var stream=FS.getStream(fd);if(stream){if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}FS.munmap(stream)}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_pread(fd,iov,iovcnt,offset_low,offset_high,pnum){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt,offset);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}function _fd_pwrite(fd,iov,iovcnt,offset_low,offset_high,pnum){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt,offset);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _getTempRet0(){return getTempRet0()}function _llvm_eh_typeid_for(type){return type}function _setTempRet0(val){setTempRet0(val)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"__assert_fail":___assert_fail,"__call_sighandler":___call_sighandler,"__cxa_allocate_exception":___cxa_allocate_exception,"__cxa_begin_catch":___cxa_begin_catch,"__cxa_decrement_exception_refcount":___cxa_decrement_exception_refcount,"__cxa_end_catch":___cxa_end_catch,"__cxa_find_matching_catch_2":___cxa_find_matching_catch_2,"__cxa_find_matching_catch_3":___cxa_find_matching_catch_3,"__cxa_find_matching_catch_4":___cxa_find_matching_catch_4,"__cxa_free_exception":___cxa_free_exception,"__cxa_increment_exception_refcount":___cxa_increment_exception_refcount,"__cxa_rethrow":___cxa_rethrow,"__cxa_rethrow_primary_exception":___cxa_rethrow_primary_exception,"__cxa_throw":___cxa_throw,"__cxa_uncaught_exceptions":___cxa_uncaught_exceptions,"__resumeException":___resumeException,"__syscall_fadvise64":___syscall_fadvise64,"__syscall_fcntl64":___syscall_fcntl64,"__syscall_fstat64":___syscall_fstat64,"__syscall_lstat64":___syscall_lstat64,"__syscall_newfstatat":___syscall_newfstatat,"__syscall_openat":___syscall_openat,"__syscall_stat64":___syscall_stat64,"__syscall_unlinkat":___syscall_unlinkat,"_embind_register_bigint":__embind_register_bigint,"_embind_register_bool":__embind_register_bool,"_embind_register_class":__embind_register_class,"_embind_register_class_constructor":__embind_register_class_constructor,"_embind_register_class_function":__embind_register_class_function,"_embind_register_emval":__embind_register_emval,"_embind_register_float":__embind_register_float,"_embind_register_function":__embind_register_function,"_embind_register_integer":__embind_register_integer,"_embind_register_memory_view":__embind_register_memory_view,"_embind_register_std_string":__embind_register_std_string,"_embind_register_std_wstring":__embind_register_std_wstring,"_embind_register_void":__embind_register_void,"_emval_decref":__emval_decref,"_emval_incref":__emval_incref,"_emval_take_value":__emval_take_value,"_mmap_js":__mmap_js,"_munmap_js":__munmap_js,"abort":_abort,"emscripten_memcpy_big":_emscripten_memcpy_big,"emscripten_resize_heap":_emscripten_resize_heap,"environ_get":_environ_get,"environ_sizes_get":_environ_sizes_get,"fd_close":_fd_close,"fd_pread":_fd_pread,"fd_pwrite":_fd_pwrite,"fd_read":_fd_read,"fd_seek":_fd_seek,"fd_write":_fd_write,"getTempRet0":_getTempRet0,"invoke_diii":invoke_diii,"invoke_fiii":invoke_fiii,"invoke_i":invoke_i,"invoke_ii":invoke_ii,"invoke_iii":invoke_iii,"invoke_iiii":invoke_iiii,"invoke_iiiii":invoke_iiiii,"invoke_iiiiii":invoke_iiiiii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_iiiiiiii":invoke_iiiiiiii,"invoke_iiiiiiiiiii":invoke_iiiiiiiiiii,"invoke_iiiiiiiiiiii":invoke_iiiiiiiiiiii,"invoke_iiiiiiiiiiiii":invoke_iiiiiiiiiiiii,"invoke_iiiiij":invoke_iiiiij,"invoke_jiiii":invoke_jiiii,"invoke_v":invoke_v,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_viii":invoke_viii,"invoke_viiii":invoke_viiii,"invoke_viiiiiii":invoke_viiiiiii,"invoke_viiiiiiiiii":invoke_viiiiiiiiii,"invoke_viiiiiiiiiiiiiii":invoke_viiiiiiiiiiiiiii,"llvm_eh_typeid_for":_llvm_eh_typeid_for,"setTempRet0":_setTempRet0,"strftime_l":_strftime_l};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["__wasm_call_ctors"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["main"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["malloc"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["__errno_location"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["free"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["__getTypeName"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["__embind_register_native_and_builtin_types"]).apply(null,arguments)};var ___dl_seterr=Module["___dl_seterr"]=function(){return(___dl_seterr=Module["___dl_seterr"]=Module["asm"]["__dl_seterr"]).apply(null,arguments)};var _emscripten_builtin_memalign=Module["_emscripten_builtin_memalign"]=function(){return(_emscripten_builtin_memalign=Module["_emscripten_builtin_memalign"]=Module["asm"]["emscripten_builtin_memalign"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["setThrew"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["stackSave"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["stackRestore"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["stackAlloc"]).apply(null,arguments)};var ___cxa_demangle=Module["___cxa_demangle"]=function(){return(___cxa_demangle=Module["___cxa_demangle"]=Module["asm"]["__cxa_demangle"]).apply(null,arguments)};var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){return(___cxa_can_catch=Module["___cxa_can_catch"]=Module["asm"]["__cxa_can_catch"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){return(___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=Module["asm"]["__cxa_is_pointer_type"]).apply(null,arguments)};var dynCall_ji=Module["dynCall_ji"]=function(){return(dynCall_ji=Module["dynCall_ji"]=Module["asm"]["dynCall_ji"]).apply(null,arguments)};var dynCall_viijj=Module["dynCall_viijj"]=function(){return(dynCall_viijj=Module["dynCall_viijj"]=Module["asm"]["dynCall_viijj"]).apply(null,arguments)};var dynCall_iij=Module["dynCall_iij"]=function(){return(dynCall_iij=Module["dynCall_iij"]=Module["asm"]["dynCall_iij"]).apply(null,arguments)};var dynCall_iijj=Module["dynCall_iijj"]=function(){return(dynCall_iijj=Module["dynCall_iijj"]=Module["asm"]["dynCall_iijj"]).apply(null,arguments)};var dynCall_viij=Module["dynCall_viij"]=function(){return(dynCall_viij=Module["dynCall_viij"]=Module["asm"]["dynCall_viij"]).apply(null,arguments)};var dynCall_ij=Module["dynCall_ij"]=function(){return(dynCall_ij=Module["dynCall_ij"]=Module["asm"]["dynCall_ij"]).apply(null,arguments)};var dynCall_iiiji=Module["dynCall_iiiji"]=function(){return(dynCall_iiiji=Module["dynCall_iiiji"]=Module["asm"]["dynCall_iiiji"]).apply(null,arguments)};var dynCall_iiiij=Module["dynCall_iiiij"]=function(){return(dynCall_iiiij=Module["dynCall_iiiij"]=Module["asm"]["dynCall_iiiij"]).apply(null,arguments)};var dynCall_vij=Module["dynCall_vij"]=function(){return(dynCall_vij=Module["dynCall_vij"]=Module["asm"]["dynCall_vij"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["dynCall_jiji"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["dynCall_iiiiij"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["dynCall_viijii"]).apply(null,arguments)};var dynCall_jiiii=Module["dynCall_jiiii"]=function(){return(dynCall_jiiii=Module["dynCall_jiiii"]=Module["asm"]["dynCall_jiiii"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["dynCall_iiiiijj"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["dynCall_iiiiiijj"]).apply(null,arguments)};function invoke_iii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiij(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiij(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["print"]=out;Module["printErr"]=err;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];args=args||[];args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv>>2;args.forEach(arg=>{HEAP32[argv_ptr++]=allocateUTF8OnStack(arg)});HEAP32[argv_ptr]=0;try{var ret=entryFunction(argc,argv);exit(ret,true);return ret}catch(e){return handleException(e)}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){EXITSTATUS=status;procExit(status)}function procExit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run()}else{console.error("Invalid action : "+action);outgoingMessagePort.postMessage("invalid action")}},false);