+function Ma(a){var b=Ka;try{a:{try{if(b==Ka&&oa){var c=new Uint8Array(oa);break a}if(ka){c=ka(b);break a}throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)";}catch(g){x(g)}c=void 0}var d=new WebAssembly.Module(c);var f=new WebAssembly.Instance(d,a)}catch(g){throw a=g.toString(),r("failed to compile wasm module: "+a),(a.includes("imported Memory")||a.includes("memory import"))&&r("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),
+function N(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:O.cwd();if("string"!=typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=Qa(a.split("/").filter(d=>!!d),!b).join("/");return(b?"/":"")+a||"."}
+var Ya={open:function(a){var b=Wa[a.node.rdev];if(!b)throw new O.oa(43);a.tty=b;a.seekable=!1},close:function(a){a.tty.gb.flush(a.tty)},flush:function(a){a.tty.gb.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.gb.lc)throw new O.oa(60);for(var f=0,g=0;g<d;g++){try{var k=a.tty.gb.lc(a.tty)}catch(h){throw new O.oa(29);}if(void 0===k&&0===f)throw new O.oa(6);if(null===k||void 0===k)break;f++;b[c+g]=k}f&&(a.node.timestamp=Date.now());return f},write:function(a,b,c,d){if(!a.tty||!a.tty.gb.Qb)throw new O.oa(60);
+var P={La:null,ya:function(){return P.createNode(null,"/",16895,0)},createNode:function(a,b,c,d){if(O.Sc(c)||O.isFIFO(c))throw new O.oa(63);P.La||(P.La={dir:{node:{Ia:P.qa.Ia,Ba:P.qa.Ba,lookup:P.qa.lookup,Pa:P.qa.Pa,rename:P.qa.rename,unlink:P.qa.unlink,rmdir:P.qa.rmdir,readdir:P.qa.readdir,symlink:P.qa.symlink},stream:{Ja:P.sa.Ja}},file:{node:{Ia:P.qa.Ia,Ba:P.qa.Ba},stream:{Ja:P.sa.Ja,read:P.sa.read,write:P.sa.write,ib:P.sa.ib,Xa:P.sa.Xa,fb:P.sa.fb}},link:{node:{Ia:P.qa.Ia,Ba:P.qa.Ba,readlink:P.qa.readlink},
+O.eb(a.mode)?b.size=a.link.length:b.size=0;b.atime=new Date(a.timestamp);b.mtime=new Date(a.timestamp);b.ctime=new Date(a.timestamp);b.yc=4096;b.blocks=Math.ceil(b.size/b.yc);return b},Ba:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&(a.timestamp=b.timestamp);void 0!==b.size&&P.jd(a,b.size)},lookup:function(){throw O.Fb[44];},Pa:function(a,b,c,d){return P.createNode(a,b,c,d)},rename:function(a,b,c){if(O.Aa(a.mode)){try{var d=O.Oa(b,c)}catch(g){}if(d)for(var f in d.ra)throw new O.oa(55);
+}delete a.parent.ra[a.name];a.parent.timestamp=Date.now();a.name=c;b.ra[c]=a;b.timestamp=a.parent.timestamp;a.parent=b},unlink:function(a,b){delete a.ra[b];a.timestamp=Date.now()},rmdir:function(a,b){var c=O.Oa(a,b),d;for(d in c.ra)throw new O.oa(55);delete a.ra[b];a.timestamp=Date.now()},readdir:function(a){var b=[".",".."],c;for(c in a.ra)a.ra.hasOwnProperty(c)&&b.push(c);return b},symlink:function(a,b,c){a=P.createNode(a,b,41471,0);a.link=c;return a},readlink:function(a){if(!O.eb(a.mode))throw new O.oa(28);
+d);if(a.ra.subarray&&b.subarray)a.ra.set(b.subarray(c,c+d),f);else for(g=0;g<d;g++)a.ra[f+g]=b[c+g];a.xa=Math.max(a.xa,f+d);return d},Ja:function(a,b,c){1===c?b+=a.position:2===c&&O.isFile(a.node.mode)&&(b+=a.node.xa);if(0>b)throw new O.oa(28);return b},ib:function(a,b,c){P.ic(a.node,b+c);a.node.xa=Math.max(a.node.xa,b+c)},Xa:function(a,b,c,d,f){if(!O.isFile(a.node.mode))throw new O.oa(43);a=a.node.ra;if(f&2||a.buffer!==va){if(0<c||c+b<a.length)a.subarray?a=a.subarray(c,c+b):a=Array.prototype.slice.call(a,
+c,c+b);c=!0;b=ab(b);if(!b)throw new O.oa(48);A.set(a,b)}else c=!1,b=a.byteOffset;return{ta:b,Xb:c}},fb:function(a,b,c,d,f){if(!O.isFile(a.node.mode))throw new O.oa(43);if(f&2)return 0;P.sa.write(a,b,0,d,c,!1);return 0}}};function cb(a,b,c){var d="al "+a;ja(a,f=>{f||x('Loading data file "'+a+'" failed (no arrayBuffer).');b(new Uint8Array(f));d&&Ja(d)},()=>{if(c)c();else throw'Loading data file "'+a+'" failed.';});d&&Ia(d)}
+var O={root:null,mb:[],fc:{},streams:[],Xc:1,Ka:null,dc:"/",Jb:!1,pc:!0,oa:null,Fb:{},Lc:null,xb:0,wa:(a,b={})=>{a=N(O.cwd(),a);if(!a)return{path:"",node:null};b=Object.assign({Db:!0,Sb:0},b);if(8<b.Sb)throw new O.oa(32);a=Qa(a.split("/").filter(k=>!!k),!1);for(var c=O.root,d="/",f=0;f<a.length;f++){var g=f===a.length-1;if(g&&b.parent)break;c=O.Oa(c,a[f]);d=K(d+"/"+a[f]);O.Va(c)&&(!g||g&&b.Db)&&(c=c.lb.root);if(!g||b.Da)for(g=0;O.eb(c.mode);)if(c=O.readlink(d),d=N(Ra(d),c),c=O.wa(d,{Sb:b.Sb+1}).node,
+40<g++)throw new O.oa(32);}return{path:d,node:c}},Ra:a=>{for(var b;;){if(O.tb(a))return a=a.ya.rc,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}},Ib:(a,b)=>{for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%O.Ka.length},nc:a=>{var b=O.Ib(a.parent.id,a.name);a.Ya=O.Ka[b];O.Ka[b]=a},oc:a=>{var b=O.Ib(a.parent.id,a.name);if(O.Ka[b]===a)O.Ka[b]=a.Ya;else for(b=O.Ka[b];b;){if(b.Ya===a){b.Ya=a.Ya;break}b=b.Ya}},Oa:(a,b)=>{var c=O.Uc(a);if(c)throw new O.oa(c,
+f.length&&c(null)}"function"==typeof a&&(b=a,a=!1);O.xb++;1<O.xb&&r("warning: "+O.xb+" FS.syncfs operations in flight at once, probably just doing extra work");var f=O.kc(O.root.ya),g=0;f.forEach(k=>{if(!k.type.tc)return d(null);k.type.tc(k,a,d)})},ya:(a,b,c)=>{var d="/"===c,f=!c;if(d&&O.root)throw new O.oa(10);if(!d&&!f){var g=O.wa(c,{Db:!1});c=g.path;g=g.node;if(O.Va(g))throw new O.oa(10);if(!O.Aa(g.mode))throw new O.oa(54);}b={type:a,Dd:b,rc:c,mb:[]};a=a.ya(b);a.ya=b;b.root=a;d?O.root=a:g&&(g.lb=
+b,g.ya&&g.ya.mb.push(b));return a},Hd:a=>{a=O.wa(a,{Db:!1});if(!O.Va(a.node))throw new O.oa(28);a=a.node;var b=a.lb,c=O.kc(b);Object.keys(O.Ka).forEach(d=>{for(d=O.Ka[d];d;){var f=d.Ya;c.includes(d.ya)&&O.Cb(d);d=f}});a.lb=null;a.ya.mb.splice(a.ya.mb.indexOf(b),1)},lookup:(a,b)=>a.qa.lookup(a,b),Pa:(a,b,c)=>{var d=O.wa(a,{parent:!0}).node;a=M(a);if(!a||"."===a||".."===a)throw new O.oa(28);var f=O.Ob(d,a);if(f)throw new O.oa(f);if(!d.qa.Pa)throw new O.oa(63);return d.qa.Pa(d,a,b,c)},create:(a,b)=>
+O.Pa(a,(void 0!==b?b:438)&4095|32768,0),mkdir:(a,b)=>O.Pa(a,(void 0!==b?b:511)&1023|16384,0),Bd:(a,b)=>{a=a.split("/");for(var c="",d=0;d<a.length;++d)if(a[d]){c+="/"+a[d];try{O.mkdir(c,b)}catch(f){if(20!=f.ua)throw f;}}},wb:(a,b,c)=>{"undefined"==typeof c&&(c=b,b=438);return O.Pa(a,b|8192,c)},symlink:(a,b)=>{if(!N(a))throw new O.oa(44);var c=O.wa(b,{parent:!0}).node;if(!c)throw new O.oa(44);b=M(b);var d=O.Ob(c,b);if(d)throw new O.oa(d);if(!c.qa.symlink)throw new O.oa(63);return c.qa.symlink(c,b,
+a)},rename:(a,b)=>{var c=Ra(a),d=Ra(b),f=M(a),g=M(b);var k=O.wa(a,{parent:!0});var h=k.node;k=O.wa(b,{parent:!0});k=k.node;if(!h||!k)throw new O.oa(44);if(h.ya!==k.ya)throw new O.oa(75);var n=O.Oa(h,f);a=Ua(a,d);if("."!==a.charAt(0))throw new O.oa(28);a=Ua(b,c);if("."!==a.charAt(0))throw new O.oa(55);try{var q=O.Oa(k,g)}catch(p){}if(n!==q){b=O.Aa(n.mode);if(f=O.vb(h,f,b))throw new O.oa(f);if(f=q?O.vb(k,g,b):O.Ob(k,g))throw new O.oa(f);if(!h.qa.rename)throw new O.oa(63);if(O.Va(n)||q&&O.Va(q))throw new O.oa(10);
+if(k!==h&&(f=O.Ta(h,"w")))throw new O.oa(f);O.oc(n);try{h.qa.rename(n,k,g)}catch(p){throw p;}finally{O.nc(n)}}},rmdir:a=>{var b=O.wa(a,{parent:!0}).node;a=M(a);var c=O.Oa(b,a),d=O.vb(b,a,!0);if(d)throw new O.oa(d);if(!b.qa.rmdir)throw new O.oa(63);if(O.Va(c))throw new O.oa(10);b.qa.rmdir(b,a);O.Cb(c)},readdir:a=>{a=O.wa(a,{Da:!0}).node;if(!a.qa.readdir)throw new O.oa(54);return a.qa.readdir(a)},unlink:a=>{var b=O.wa(a,{parent:!0}).node;if(!b)throw new O.oa(44);a=M(a);var c=O.Oa(b,a),d=O.vb(b,a,!1);
+if(d)throw new O.oa(d);if(!b.qa.unlink)throw new O.oa(63);if(O.Va(c))throw new O.oa(10);b.qa.unlink(b,a);O.Cb(c)},readlink:a=>{a=O.wa(a).node;if(!a)throw new O.oa(44);if(!a.qa.readlink)throw new O.oa(28);return N(O.Ra(a.parent),a.qa.readlink(a))},stat:(a,b)=>{a=O.wa(a,{Da:!b}).node;if(!a)throw new O.oa(44);if(!a.qa.Ia)throw new O.oa(63);return a.qa.Ia(a)},lstat:a=>O.stat(a,!0),chmod:(a,b,c)=>{a="string"==typeof a?O.wa(a,{Da:!c}).node:a;if(!a.qa.Ba)throw new O.oa(63);a.qa.Ba(a,{mode:b&4095|a.mode&
+-4096,timestamp:Date.now()})},lchmod:(a,b)=>{O.chmod(a,b,!0)},fchmod:(a,b)=>{a=O.Sa(a);if(!a)throw new O.oa(8);O.chmod(a.node,b)},chown:(a,b,c,d)=>{a="string"==typeof a?O.wa(a,{Da:!d}).node:a;if(!a.qa.Ba)throw new O.oa(63);a.qa.Ba(a,{timestamp:Date.now()})},lchown:(a,b,c)=>{O.chown(a,b,c,!0)},fchown:(a,b,c)=>{a=O.Sa(a);if(!a)throw new O.oa(8);O.chown(a.node,b,c)},truncate:(a,b)=>{if(0>b)throw new O.oa(28);a="string"==typeof a?O.wa(a,{Da:!0}).node:a;if(!a.qa.Ba)throw new O.oa(63);if(O.Aa(a.mode))throw new O.oa(31);
+if(!O.isFile(a.mode))throw new O.oa(28);var c=O.Ta(a,"w");if(c)throw new O.oa(c);a.qa.Ba(a,{size:b,timestamp:Date.now()})},Nc:(a,b)=>{a=O.Sa(a);if(!a)throw new O.oa(8);if(0===(a.flags&2097155))throw new O.oa(28);O.truncate(a.node,b)},ud:(a,b,c)=>{a=O.wa(a,{Da:!0}).node;a.qa.Ba(a,{timestamp:Math.max(b,c)})},open:(a,b,c)=>{if(""===a)throw new O.oa(44);b="string"==typeof b?O.Wc(b):b;c=b&64?("undefined"==typeof c?438:c)&4095|32768:0;if("object"==typeof a)var d=a;else{a=K(a);try{d=O.wa(a,{Da:!(b&131072)}).node}catch(g){}}var f=
+!1;if(b&64)if(d){if(b&128)throw new O.oa(20);}else d=O.Pa(a,c,0),f=!0;if(!d)throw new O.oa(44);O.rb(d.mode)&&(b&=-513);if(b&65536&&!O.Aa(d.mode))throw new O.oa(54);if(!f&&(c=O.Vc(d,b)))throw new O.oa(c);b&512&&!f&&O.truncate(d,0);b&=-131713;d=O.cc({node:d,path:O.Ra(d),flags:b,seekable:!0,position:0,sa:d.sa,td:[],error:!1});d.sa.open&&d.sa.open(d);!e.logReadFiles||b&1||(O.Rb||(O.Rb={}),a in O.Rb||(O.Rb[a]=1));return d},close:a=>{if(O.kb(a))throw new O.oa(8);a.Hb&&(a.Hb=null);try{a.sa.close&&a.sa.close(a)}catch(b){throw b;
+}finally{O.Cc(a.fd)}a.fd=null},kb:a=>null===a.fd,Ja:(a,b,c)=>{if(O.kb(a))throw new O.oa(8);if(!a.seekable||!a.sa.Ja)throw new O.oa(70);if(0!=c&&1!=c&&2!=c)throw new O.oa(28);a.position=a.sa.Ja(a,b,c);a.td=[];return a.position},read:(a,b,c,d,f)=>{if(0>d||0>f)throw new O.oa(28);if(O.kb(a))throw new O.oa(8);if(1===(a.flags&2097155))throw new O.oa(8);if(O.Aa(a.node.mode))throw new O.oa(31);if(!a.sa.read)throw new O.oa(28);var g="undefined"!=typeof f;if(!g)f=a.position;else if(!a.seekable)throw new O.oa(70);
+b=a.sa.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 O.oa(28);if(O.kb(a))throw new O.oa(8);if(0===(a.flags&2097155))throw new O.oa(8);if(O.Aa(a.node.mode))throw new O.oa(31);if(!a.sa.write)throw new O.oa(28);a.seekable&&a.flags&1024&&O.Ja(a,0,2);var k="undefined"!=typeof f;if(!k)f=a.position;else if(!a.seekable)throw new O.oa(70);b=a.sa.write(a,b,c,d,f,g);k||(a.position+=b);return b},ib:(a,b,c)=>{if(O.kb(a))throw new O.oa(8);if(0>b||0>=c)throw new O.oa(28);
+if(0===(a.flags&2097155))throw new O.oa(8);if(!O.isFile(a.node.mode)&&!O.Aa(a.node.mode))throw new O.oa(43);if(!a.sa.ib)throw new O.oa(138);a.sa.ib(a,b,c)},Xa:(a,b,c,d,f)=>{if(0!==(d&2)&&0===(f&2)&&2!==(a.flags&2097155))throw new O.oa(2);if(1===(a.flags&2097155))throw new O.oa(2);if(!a.sa.Xa)throw new O.oa(43);return a.sa.Xa(a,b,c,d,f)},fb:(a,b,c,d,f)=>a&&a.sa.fb?a.sa.fb(a,b,c,d,f):0,Cd:()=>0,qc:(a,b,c)=>{if(!a.sa.qc)throw new O.oa(59);return a.sa.qc(a,b,c)},readFile:(a,b={})=>{b.flags=b.flags||0;
+b,0,b.byteLength,void 0,c.Ac);else throw Error("Unsupported data type");O.close(a)},cwd:()=>O.dc,chdir:a=>{a=O.wa(a,{Da:!0});if(null===a.node)throw new O.oa(44);if(!O.Aa(a.node.mode))throw new O.oa(54);var b=O.Ta(a.node,"x");if(b)throw new O.oa(b);O.dc=a.path},Fc:()=>{O.mkdir("/tmp");O.mkdir("/home");O.mkdir("/home/web_user")},Ec:()=>{O.mkdir("/dev");O.Tb(O.Wa(1,3),{read:()=>0,write:(b,c,d,f)=>f});O.wb("/dev/null",O.Wa(1,3));Xa(O.Wa(5,0),Za);Xa(O.Wa(6,0),$a);O.wb("/dev/tty",O.Wa(5,0));O.wb("/dev/tty1",
+O.Wa(6,0));var a=Ta();O.Ha("/dev","random",a);O.Ha("/dev","urandom",a);O.mkdir("/dev/shm");O.mkdir("/dev/shm/tmp")},Hc:()=>{O.mkdir("/proc");var a=O.mkdir("/proc/self");O.mkdir("/proc/self/fd");O.ya({ya:()=>{var b=O.createNode(a,"fd",16895,73);b.qa={lookup:(c,d)=>{var f=O.Sa(+d);if(!f)throw new O.oa(8);c={parent:null,ya:{rc:"fake"},qa:{readlink:()=>f.path}};return c.parent=c}};return b}},{},"/proc/self/fd")},Ic:()=>{e.stdin?O.Ha("/dev","stdin",e.stdin):O.symlink("/dev/tty","/dev/stdin");e.stdout?
+O.Ha("/dev","stdout",null,e.stdout):O.symlink("/dev/tty","/dev/stdout");e.stderr?O.Ha("/dev","stderr",null,e.stderr):O.symlink("/dev/tty1","/dev/stderr");O.open("/dev/stdin",0);O.open("/dev/stdout",1);O.open("/dev/stderr",1)},hc:()=>{O.oa||(O.oa=function(a,b){this.node=b;this.ld=function(c){this.ua=c};this.ld(a);this.message="FS error"},O.oa.prototype=Error(),O.oa.prototype.constructor=O.oa,[44].forEach(a=>{O.Fb[a]=new O.oa(a);O.Fb[a].stack="<generic error, no stack>"}))},nd:()=>{O.hc();O.Ka=Array(4096);
+K(a+"/"+b):a);a=O.Gb(d,f);k=O.create(k,a);if(c){if("string"==typeof c){b=Array(c.length);d=0;for(f=c.length;d<f;++d)b[d]=c.charCodeAt(d);c=b}O.chmod(k,a|146);b=O.open(k,577);O.write(b,c,0,c.length,0,g);O.close(b);O.chmod(k,a)}return k},Ha:(a,b,c,d)=>{a=Sa("string"==typeof a?a:O.Ra(a),b);b=O.Gb(!!c,!!d);O.Ha.Nb||(O.Ha.Nb=64);var f=O.Wa(O.Ha.Nb++,0);O.Tb(f,{open:g=>{g.seekable=!1},close:()=>{d&&d.buffer&&d.buffer.length&&d(10)},read:(g,k,h,n)=>{for(var q=0,p=0;p<n;p++){try{var t=c()}catch(w){throw new O.oa(29);
+}if(void 0===t&&0===q)throw new O.oa(6);if(null===t||void 0===t)break;q++;k[h+p]=t}q&&(g.node.timestamp=Date.now());return q},write:(g,k,h,n)=>{for(var q=0;q<n;q++)try{d(k[h+q])}catch(p){throw new O.oa(29);}n&&(g.node.timestamp=Date.now());return q}});return O.wb(a,b,f)},Eb:a=>{if(a.Kb||a.Tc||a.link||a.ra)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.ra=Va(ia(a.url),!0),a.xa=a.ra.length}catch(b){throw new O.oa(29);}else throw Error("Cannot load without read() or XMLHttpRequest.");},$b:(a,b,c,d,f)=>{function g(){this.Mb=!1;this.Ea=[]}function k(p,t,w,l,u){p=p.node.ra;if(u>=p.length)return 0;l=Math.min(p.length-u,l);if(p.slice)for(var v=0;v<l;v++)t[w+v]=p[u+v];else for(v=0;v<l;v++)t[w+v]=p.get(u+v);return l}g.prototype.get=function(p){if(!(p>this.length-1||0>p)){var t=p%this.chunkSize;return this.mc(p/this.chunkSize|0)[t]}};g.prototype.Pb=
+v.Ea;if(L>I)throw Error("invalid range ("+L+", "+I+") or no bytes requested!");if(I>t-1)throw Error("only "+t+" bytes available! programmer error!");var G=new XMLHttpRequest;G.open("GET",c,!1);t!==u&&G.setRequestHeader("Range","bytes="+L+"-"+I);G.responseType="arraybuffer";G.overrideMimeType&&G.overrideMimeType("text/plain; charset=x-user-defined");G.send(null);if(!(200<=G.status&&300>G.status||304===G.status))throw Error("Couldn't load "+c+". Status: "+G.status);L=void 0!==G.response?new Uint8Array(G.response||
+[]):Va(G.responseText||"",!0);Ba[B]=L}if("undefined"==typeof v.Ea[B])throw Error("doXHR failed!");return v.Ea[B]});if(p||!t)u=t=1,u=t=this.mc(0).length,na("LazyFiles on gzip forces download of the whole file when length is accessed");this.xc=t;this.wc=u;this.Mb=!0};if("undefined"!=typeof XMLHttpRequest){if(!fa)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.Mb||
+var qb=void 0;function T(a){throw new qb(a);}var rb=void 0;function sb(a){throw new rb(a);}function tb(a,b,c){function d(h){h=c(h);h.length!==a.length&&sb("Mismatched type converter count");for(var n=0;n<a.length;++n)U(a[n],h[n])}a.forEach(function(h){mb[h]=b});var f=Array(b.length),g=[],k=0;b.forEach((h,n)=>{lb.hasOwnProperty(h)?f[n]=lb[h]:(g.push(h),kb.hasOwnProperty(h)||(kb[h]=[]),kb[h].push(()=>{f[n]=lb[h];++k;k===g.length&&d(f)}))});0===g.length&&d(f)}
+function U(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||T('type "'+d+'" must have a positive integer typeid pointer');if(lb.hasOwnProperty(a)){if(c.Rc)return;T("Cannot register type '"+d+"' twice")}lb[a]=b;delete mb[a];kb.hasOwnProperty(a)&&(b=kb[a],delete kb[a],b.forEach(f=>f()))}function ub(a){T(a.pa.za.va.name+" instance already deleted")}var vb=!1;function wb(){}
+function xb(a){--a.count.value;0===a.count.value&&(a.Ca?a.Fa.Za(a.Ca):a.za.va.Za(a.ta))}function yb(a,b,c){if(b===c)return a;if(void 0===c.Ga)return null;a=yb(a,b,c.Ga);return null===a?null:c.Jc(a)}var zb={},Ab=[];function Bb(){for(;Ab.length;){var a=Ab.pop();a.pa.bb=!1;a["delete"]()}}var Cb=void 0,Db={};function Eb(a,b){for(void 0===b&&T("ptr should not be undefined");a.Ga;)b=a.ob(b),a=a.Ga;return Db[b]}
+function Fb(a,b){b.za&&b.ta||sb("makeClassHandle requires ptr and ptrType");!!b.Fa!==!!b.Ca&&sb("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Gb(Object.create(a,{pa:{value:b}}))}function Gb(a){if("undefined"===typeof FinalizationRegistry)return Gb=b=>b,a;vb=new FinalizationRegistry(b=>{xb(b.pa)});Gb=b=>{var c=b.pa;c.Ca&&vb.register(b,{pa:c},b);return b};wb=b=>{vb.unregister(b)};return Gb(a)}function V(){}
+function Hb(a,b,c){if(void 0===a[b].Qa){var d=a[b];a[b]=function(){a[b].Qa.hasOwnProperty(arguments.length)||T("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+a[b].Qa+")!");return a[b].Qa[arguments.length].apply(this,arguments)};a[b].Qa=[];a[b].Qa[d.Bb]=d}}
+function Ib(a,b){e.hasOwnProperty(a)?(T("Cannot register public name '"+a+"' twice"),Hb(e,a,a),e.hasOwnProperty(void 0)&&T("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),e[a].Qa[void 0]=b):e[a]=b}function Jb(a,b,c,d,f,g,k,h){this.name=a;this.constructor=b;this.jb=c;this.Za=d;this.Ga=f;this.Oc=g;this.ob=k;this.Jc=h}
+function Kb(a,b,c){for(;b!==c;)b.ob||T("Expected null or instance of "+c.name+", got an instance of "+b.name),a=b.ob(a),b=b.Ga;return a}function Lb(a,b){if(null===b)return this.Lb&&T("null is not a valid "+this.name),0;b.pa||T('Cannot pass "'+Mb(b)+'" as a '+this.name);b.pa.ta||T("Cannot pass deleted object as a pointer of type "+this.name);return Kb(b.pa.ta,b.pa.za.va,this.va)}
+function Nb(a,b){if(null===b){this.Lb&&T("null is not a valid "+this.name);if(this.ub){var c=this.ed();null!==a&&a.push(this.Za,c);return c}return 0}b.pa||T('Cannot pass "'+Mb(b)+'" as a '+this.name);b.pa.ta||T("Cannot pass deleted object as a pointer of type "+this.name);!this.sb&&b.pa.za.sb&&T("Cannot convert argument of type "+(b.pa.Fa?b.pa.Fa.name:b.pa.za.name)+" to parameter type "+this.name);c=Kb(b.pa.ta,b.pa.za.va,this.va);if(this.ub)switch(void 0===b.pa.Ca&&T("Passing raw pointer to smart pointer is illegal"),
+this.md){case 0:b.pa.Fa===this?c=b.pa.Ca:T("Cannot convert argument of type "+(b.pa.Fa?b.pa.Fa.name:b.pa.za.name)+" to parameter type "+this.name);break;case 1:c=b.pa.Ca;break;case 2:if(b.pa.Fa===this)c=b.pa.Ca;else{var d=b.clone();c=this.gd(c,Ob(function(){d["delete"]()}));null!==a&&a.push(this.Za,c)}break;default:T("Unsupporting sharing policy")}return c}
+function Pb(a,b){if(null===b)return this.Lb&&T("null is not a valid "+this.name),0;b.pa||T('Cannot pass "'+Mb(b)+'" as a '+this.name);b.pa.ta||T("Cannot pass deleted object as a pointer of type "+this.name);b.pa.za.sb&&T("Cannot convert argument of type "+b.pa.za.name+" to parameter type "+this.name);return Kb(b.pa.ta,b.pa.za.va,this.va)}function Qb(a){return this.fromWireType(D[a>>2])}
+function W(a,b,c,d){this.name=a;this.va=b;this.Lb=c;this.sb=d;this.ub=!1;this.Za=this.gd=this.ed=this.sc=this.md=this.bd=void 0;void 0!==b.Ga?this.toWireType=Nb:(this.toWireType=d?Lb:Pb,this.Na=null)}function Rb(a,b){e.hasOwnProperty(a)||sb("Replacing nonexistant public symbol");e[a]=b;e[a].Bb=void 0}
+function Xb(a,b){function c(g){f[g]||lb[g]||(mb[g]?mb[g].forEach(c):(d.push(g),f[g]=!0))}var d=[],f={};b.forEach(c);throw new Ub(a+": "+d.map(Vb).join([", "]));}function Yb(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=ob(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
+function $b(a,b,c,d){var f=b.length;2>f&&T("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var g=null!==b[1]&&!1,k=!1,h=1;h<b.length;++h)if(null!==b[h]&&void 0===b[h].Na){k=!0;break}var n="void"!==b[0].name,q="",p="";for(h=0;h<f-2;++h)q+=(0!==h?", ":"")+"arg"+h,p+=(0!==h?", ":"")+"arg"+h+"Wired";a="return function "+nb(a)+"("+q+") {\nif (arguments.length !== "+(f-2)+") {\nthrowBindingError('function "+a+" called with ' + arguments.length + ' arguments, expected "+
+"%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 p in q)c=c.replace(new RegExp(p,"g"),q[p]);var t="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),w="January February March April May June July August September October November December".split(" ");q={"%a":function(l){return t[l.Ma].substring(0,3)},"%A":function(l){return t[l.Ma]},"%b":function(l){return w[l.zb].substring(0,3)},"%B":function(l){return w[l.zb]},
+Date.now(),k=g;O.ud(b,g,k);return 0}catch(h){if("undefined"==typeof O||!(h instanceof O.oa))throw h;return-h.ua}},u:function(){},q:function(a,b,c,d,f){var g=ib(c);b=S(b);U(a,{name:b,fromWireType:function(k){return!!k},toWireType:function(k,h){return h?d:f},argPackAdvance:8,readValueFromPointer:function(k){if(1===c)var h=A;else if(2===c)h=C;else if(4===c)h=D;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(h[k>>g])},Na:null})},S:function(a,b,c,d,f,g,k,h,n,q,p,t,w){p=
+S(p);g=Tb(f,g);h&&(h=Tb(k,h));q&&(q=Tb(n,q));w=Tb(t,w);var l=nb(p);Ib(l,function(){Xb("Cannot construct "+p+" due to unbound types",[d])});tb([a,b,c],d?[d]:[],function(u){u=u[0];if(d){var v=u.va;var B=v.jb}else B=V.prototype;u=ob(l,function(){if(Object.getPrototypeOf(this)!==L)throw new qb("Use 'new' to construct "+p);if(void 0===I.Ua)throw new qb(p+" has no accessible constructor");var G=I.Ua[arguments.length];if(void 0===G)throw new qb("Tried to invoke ctor of "+p+" with invalid number of parameters ("+
+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);var t=n.va.constructor;void 0===t[b]?(q.Bb=c-1,t[b]=q):(Hb(t,b,p),t[b].Qa[c-1]=q);tb([],h,function(w){w=[w[0],null].concat(w.slice(1));w=$b(p,w,g,k);void 0===t[b].Qa?(w.Bb=c-1,t[b]=w):t[b].Qa[c-1]=w;return[]});return[]})},I:function(a,b,c,d,f,g){0<b||x();var k=ac(b,c);f=Tb(d,f);tb([],[a],function(h){h=h[0];var n="constructor "+h.name;void 0===h.va.Ua&&(h.va.Ua=[]);if(void 0!==h.va.Ua[b-1])throw new qb("Cannot register multiple constructors with identical number of parameters ("+
+(b-1)+") for class '"+h.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");h.va.Ua[b-1]=()=>{Xb("Cannot construct "+h.name+" due to unbound types",k)};tb([],k,function(q){q.splice(1,0,null);h.va.Ua[b-1]=$b(n,q,f,g);return[]});return[]})},p:function(a,b){b=S(b);U(a,{name:b,fromWireType:function(c){c||T("Cannot use deleted val. handle = "+c);var d=Y[c].value;4<c&&0===--Y[c].hd&&(Y[c]=void 0,bc.push(c));return d},toWireType:function(c,d){return Ob(d)},
+q+=k;k=n+1}}else{q=Array(f);for(h=0;h<f;++h)q[h]=String.fromCharCode(z[g+h]);q=q.join("")}X(d);return q},toWireType:function(d,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var g="string"==typeof f;g||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||T("Cannot pass non-string to std::string");var k=c&&g?ua(f):f.length;var h=mc(4+k+1),n=h+4;E[h>>2]=k;if(c&&g)ta(f,z,n,k+1);else if(g)for(g=0;g<k;++g){var q=f.charCodeAt(g);255<q&&(X(n),T("String has UTF-16 code units that do not fit in 8 bits"));
+T("Cannot pass non-string to C++ string type "+c);var p=g(q),t=mc(4+p+b);E[t>>2]=p>>h;f(q,t+4,p+b);null!==n&&n.push(X,t);return t},argPackAdvance:8,readValueFromPointer:Qb,Na:function(n){X(n)}})},r:function(a,b){b=S(b);U(a,{yd:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},m:function(){return Date.now()},U:function(a,b){a=new Date(1E3*hb(a));D[b>>2]=a.getSeconds();D[b+4>>2]=a.getMinutes();D[b+8>>2]=a.getHours();D[b+12>>2]=a.getDate();D[b+16>>2]=a.getMonth();D[b+20>>