=55296&&p<=57343?(m+=4,++v):m+=3}return m},gt=(Q,m,v,p)=>{if(!(p>0))return 0;for(var N=v,J=v+p-1,V=0;V=55296&&Z<=57343){var FA=Q.charCodeAt(++V);Z=65536+((Z&1023)<<10)|FA&1023}if(Z<=127){if(v>=J)break;m[v++]=Z}else if(Z<=2047){if(v+1>=J)break;m[v++]=192|Z>>6,m[v++]=128|Z&63}else if(Z<=65535){if(v+2>=J)break;m[v++]=224|Z>>12,m[v++]=128|Z>>6&63,m[v++]=128|Z&63}else{if(v+3>=J)break;m[v++]=240|Z>>18,m[v++]=128|Z>>12&63,m[v++]=128|Z>>6&63,m[v++]=128|Z&63}}return m[v]=0,v-N};function Ve(Q,m,v){var p=v>0?v:DA(Q)+1,N=new Array(p),J=gt(Q,N,0,N.length);return m&&(N.length=J),N}var ZA=()=>{if(!kA.length){var Q=null;if(typeof window<"u"&&typeof window.prompt=="function"&&(Q=window.prompt("Input: "),Q!==null&&(Q+=`
-`)),!Q)return null;kA=Ve(Q,!0)}return kA.shift()},rt={ttys:[],init(){},shutdown(){},register(Q,m){rt.ttys[Q]={input:[],output:[],ops:m},M.registerDevice(Q,rt.stream_ops)},stream_ops:{open(Q){var m=rt.ttys[Q.node.rdev];if(!m)throw new M.ErrnoError(43);Q.tty=m,Q.seekable=!1},close(Q){Q.tty.ops.fsync(Q.tty)},fsync(Q){Q.tty.ops.fsync(Q.tty)},read(Q,m,v,p,N){if(!Q.tty||!Q.tty.ops.get_char)throw new M.ErrnoError(60);for(var J=0,V=0;V0&&(d(bt(Q.output)),Q.output=[])},ioctl_tcgets(Q){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(Q,m,v){return 0},ioctl_tiocgwinsz(Q){return[24,80]}},default_tty1_ops:{put_char(Q,m){m===null||m===10?(B(bt(Q.output)),Q.output=[]):m!=0&&Q.output.push(m)},fsync(Q){Q.output&&Q.output.length>0&&(B(bt(Q.output)),Q.output=[])}}},Ei=(Q,m)=>{w.fill(0,Q,Q+m)},tn=(Q,m)=>Math.ceil(Q/m)*m,qi=Q=>{Q=tn(Q,65536);var m=vi(65536,Q);return m&&Ei(m,Q),m},xe={ops_table:null,mount(Q){return xe.createNode(null,"/",16895,0)},createNode(Q,m,v,p){if(M.isBlkdev(v)||M.isFIFO(v))throw new M.ErrnoError(63);xe.ops_table||={dir:{node:{getattr:xe.node_ops.getattr,setattr:xe.node_ops.setattr,lookup:xe.node_ops.lookup,mknod:xe.node_ops.mknod,rename:xe.node_ops.rename,unlink:xe.node_ops.unlink,rmdir:xe.node_ops.rmdir,readdir:xe.node_ops.readdir,symlink:xe.node_ops.symlink},stream:{llseek:xe.stream_ops.llseek}},file:{node:{getattr:xe.node_ops.getattr,setattr:xe.node_ops.setattr},stream:{llseek:xe.stream_ops.llseek,read:xe.stream_ops.read,write:xe.stream_ops.write,allocate:xe.stream_ops.allocate,mmap:xe.stream_ops.mmap,msync:xe.stream_ops.msync}},link:{node:{getattr:xe.node_ops.getattr,setattr:xe.node_ops.setattr,readlink:xe.node_ops.readlink},stream:{}},chrdev:{node:{getattr:xe.node_ops.getattr,setattr:xe.node_ops.setattr},stream:M.chrdev_stream_ops}};var N=M.createNode(Q,m,v,p);return M.isDir(N.mode)?(N.node_ops=xe.ops_table.dir.node,N.stream_ops=xe.ops_table.dir.stream,N.contents={}):M.isFile(N.mode)?(N.node_ops=xe.ops_table.file.node,N.stream_ops=xe.ops_table.file.stream,N.usedBytes=0,N.contents=null):M.isLink(N.mode)?(N.node_ops=xe.ops_table.link.node,N.stream_ops=xe.ops_table.link.stream):M.isChrdev(N.mode)&&(N.node_ops=xe.ops_table.chrdev.node,N.stream_ops=xe.ops_table.chrdev.stream),N.timestamp=Date.now(),Q&&(Q.contents[m]=N,Q.timestamp=N.timestamp),N},getFileDataAsTypedArray(Q){return Q.contents?Q.contents.subarray?Q.contents.subarray(0,Q.usedBytes):new Uint8Array(Q.contents):new Uint8Array(0)},expandFileStorage(Q,m){var v=Q.contents?Q.contents.length:0;if(!(v>=m)){var p=1024*1024;m=Math.max(m,v*(v
>>0),v!=0&&(m=Math.max(m,256));var N=Q.contents;Q.contents=new Uint8Array(m),Q.usedBytes>0&&Q.contents.set(N.subarray(0,Q.usedBytes),0)}},resizeFileStorage(Q,m){if(Q.usedBytes!=m)if(m==0)Q.contents=null,Q.usedBytes=0;else{var v=Q.contents;Q.contents=new Uint8Array(m),v&&Q.contents.set(v.subarray(0,Math.min(m,Q.usedBytes))),Q.usedBytes=m}},node_ops:{getattr(Q){var m={};return m.dev=M.isChrdev(Q.mode)?Q.id:1,m.ino=Q.id,m.mode=Q.mode,m.nlink=1,m.uid=0,m.gid=0,m.rdev=Q.rdev,M.isDir(Q.mode)?m.size=4096:M.isFile(Q.mode)?m.size=Q.usedBytes:M.isLink(Q.mode)?m.size=Q.link.length:m.size=0,m.atime=new Date(Q.timestamp),m.mtime=new Date(Q.timestamp),m.ctime=new Date(Q.timestamp),m.blksize=4096,m.blocks=Math.ceil(m.size/m.blksize),m},setattr(Q,m){m.mode!==void 0&&(Q.mode=m.mode),m.timestamp!==void 0&&(Q.timestamp=m.timestamp),m.size!==void 0&&xe.resizeFileStorage(Q,m.size)},lookup(Q,m){throw M.genericErrors[44]},mknod(Q,m,v,p){return xe.createNode(Q,m,v,p)},rename(Q,m,v){if(M.isDir(Q.mode)){var p;try{p=M.lookupNode(m,v)}catch{}if(p)for(var N in p.contents)throw new M.ErrnoError(55)}delete Q.parent.contents[Q.name],Q.parent.timestamp=Date.now(),Q.name=v,m.contents[v]=Q,m.timestamp=Q.parent.timestamp},unlink(Q,m){delete Q.contents[m],Q.timestamp=Date.now()},rmdir(Q,m){var v=M.lookupNode(Q,m);for(var p in v.contents)throw new M.ErrnoError(55);delete Q.contents[m],Q.timestamp=Date.now()},readdir(Q){var m=[".",".."];for(var v of Object.keys(Q.contents))m.push(v);return m},symlink(Q,m,v){var p=xe.createNode(Q,m,41471,0);return p.link=v,p},readlink(Q){if(!M.isLink(Q.mode))throw new M.ErrnoError(28);return Q.link}},stream_ops:{read(Q,m,v,p,N){var J=Q.node.contents;if(N>=Q.node.usedBytes)return 0;var V=Math.min(Q.node.usedBytes-N,p);if(V>8&&J.subarray)m.set(J.subarray(N,N+V),v);else for(var Z=0;Z0||v+m{var N=p?"":`al ${Q}`;I(Q).then(J=>{m(new Uint8Array(J)),N&&CA()},J=>{if(v)v();else throw`Loading data file "${Q}" failed.`}),N&&KA()},mi=(Q,m,v,p,N,J)=>{M.createDataFile(Q,m,v,p,N,J)},Ot=[],Lt=(Q,m,v,p)=>{typeof Browser<"u"&&Browser.init();var N=!1;return Ot.forEach(J=>{N||J.canHandle(m)&&(J.handle(Q,m,v,p),N=!0)}),N},ii=(Q,m,v,p,N,J,V,Z,FA,te)=>{var re=m?Ee.resolve(X.join2(Q,m)):Q;function Pe(ze){function ye(Ge){te?.(),Z||mi(Q,m,Ge,p,N,FA),J?.(),CA()}Lt(ze,re,ye,()=>{V?.(),CA()})||ye(ze)}KA(),typeof v=="string"?nn(v,Pe,V):Pe(v)},_i=Q=>{var m={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},v=m[Q];if(typeof v>"u")throw new Error(`Unknown file open mode: ${Q}`);return v},Tt=(Q,m)=>{var v=0;return Q&&(v|=365),m&&(v|=146),v},M={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(Q){this.name="ErrnoError",this.errno=Q}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(Q){this.node=Q}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(Q){this.shared.flags=Q}get position(){return this.shared.position}set position(Q){this.shared.position=Q}},FSNode:class{constructor(Q,m,v,p){Q||(Q=this),this.parent=Q,this.mount=Q.mount,this.mounted=null,this.id=M.nextInode++,this.name=m,this.mode=v,this.node_ops={},this.stream_ops={},this.rdev=p,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(Q){Q?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(Q){Q?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return M.isDir(this.mode)}get isDevice(){return M.isChrdev(this.mode)}},lookupPath(Q,m={}){if(Q=Ee.resolve(Q),!Q)return{path:"",node:null};var v={follow_mount:!0,recurse_count:0};if(m=Object.assign(v,m),m.recurse_count>8)throw new M.ErrnoError(32);for(var p=Q.split("/").filter(Pe=>!!Pe),N=M.root,J="/",V=0;V40)throw new M.ErrnoError(32)}}return{path:J,node:N}},getPath(Q){for(var m;;){if(M.isRoot(Q)){var v=Q.mount.mountpoint;return m?v[v.length-1]!=="/"?`${v}/${m}`:v+m:v}m=m?`${Q.name}/${m}`:Q.name,Q=Q.parent}},hashName(Q,m){for(var v=0,p=0;p>>0)%M.nameTable.length},hashAddNode(Q){var m=M.hashName(Q.parent.id,Q.name);Q.name_next=M.nameTable[m],M.nameTable[m]=Q},hashRemoveNode(Q){var m=M.hashName(Q.parent.id,Q.name);if(M.nameTable[m]===Q)M.nameTable[m]=Q.name_next;else for(var v=M.nameTable[m];v;){if(v.name_next===Q){v.name_next=Q.name_next;break}v=v.name_next}},lookupNode(Q,m){var v=M.mayLookup(Q);if(v)throw new M.ErrnoError(v);for(var p=M.hashName(Q.id,m),N=M.nameTable[p];N;N=N.name_next){var J=N.name;if(N.parent.id===Q.id&&J===m)return N}return M.lookup(Q,m)},createNode(Q,m,v,p){var N=new M.FSNode(Q,m,v,p);return M.hashAddNode(N),N},destroyNode(Q){M.hashRemoveNode(Q)},isRoot(Q){return Q===Q.parent},isMountpoint(Q){return!!Q.mounted},isFile(Q){return(Q&61440)===32768},isDir(Q){return(Q&61440)===16384},isLink(Q){return(Q&61440)===40960},isChrdev(Q){return(Q&61440)===8192},isBlkdev(Q){return(Q&61440)===24576},isFIFO(Q){return(Q&61440)===4096},isSocket(Q){return(Q&49152)===49152},flagsToPermissionString(Q){var m=["r","w","rw"][Q&3];return Q&512&&(m+="w"),m},nodePermissions(Q,m){return M.ignorePermissions?0:m.includes("r")&&!(Q.mode&292)||m.includes("w")&&!(Q.mode&146)||m.includes("x")&&!(Q.mode&73)?2:0},mayLookup(Q){if(!M.isDir(Q.mode))return 54;var m=M.nodePermissions(Q,"x");return m||(Q.node_ops.lookup?0:2)},mayCreate(Q,m){try{var v=M.lookupNode(Q,m);return 20}catch{}return M.nodePermissions(Q,"wx")},mayDelete(Q,m,v){var p;try{p=M.lookupNode(Q,m)}catch(J){return J.errno}var N=M.nodePermissions(Q,"wx");if(N)return N;if(v){if(!M.isDir(p.mode))return 54;if(M.isRoot(p)||M.getPath(p)===M.cwd())return 10}else if(M.isDir(p.mode))return 31;return 0},mayOpen(Q,m){return Q?M.isLink(Q.mode)?32:M.isDir(Q.mode)&&(M.flagsToPermissionString(m)!=="r"||m&512)?31:M.nodePermissions(Q,M.flagsToPermissionString(m)):44},MAX_OPEN_FDS:4096,nextfd(){for(var Q=0;Q<=M.MAX_OPEN_FDS;Q++)if(!M.streams[Q])return Q;throw new M.ErrnoError(33)},getStreamChecked(Q){var m=M.getStream(Q);if(!m)throw new M.ErrnoError(8);return m},getStream:Q=>M.streams[Q],createStream(Q,m=-1){return Q=Object.assign(new M.FSStream,Q),m==-1&&(m=M.nextfd()),Q.fd=m,M.streams[m]=Q,Q},closeStream(Q){M.streams[Q]=null},dupStream(Q,m=-1){var v=M.createStream(Q,m);return v.stream_ops?.dup?.(v),v},chrdev_stream_ops:{open(Q){var m=M.getDevice(Q.node.rdev);Q.stream_ops=m.stream_ops,Q.stream_ops.open?.(Q)},llseek(){throw new M.ErrnoError(70)}},major:Q=>Q>>8,minor:Q=>Q&255,makedev:(Q,m)=>Q<<8|m,registerDevice(Q,m){M.devices[Q]={stream_ops:m}},getDevice:Q=>M.devices[Q],getMounts(Q){for(var m=[],v=[Q];v.length;){var p=v.pop();m.push(p),v.push(...p.mounts)}return m},syncfs(Q,m){typeof Q=="function"&&(m=Q,Q=!1),M.syncFSRequests++,M.syncFSRequests>1&&B(`warning: ${M.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var v=M.getMounts(M.root.mount),p=0;function N(V){return M.syncFSRequests--,m(V)}function J(V){if(V)return J.errored?void 0:(J.errored=!0,N(V));++p>=v.length&&N(null)}v.forEach(V=>{if(!V.type.syncfs)return J(null);V.type.syncfs(V,Q,J)})},mount(Q,m,v){var p=v==="/",N=!v,J;if(p&&M.root)throw new M.ErrnoError(10);if(!p&&!N){var V=M.lookupPath(v,{follow_mount:!1});if(v=V.path,J=V.node,M.isMountpoint(J))throw new M.ErrnoError(10);if(!M.isDir(J.mode))throw new M.ErrnoError(54)}var Z={type:Q,opts:m,mountpoint:v,mounts:[]},FA=Q.mount(Z);return FA.mount=Z,Z.root=FA,p?M.root=FA:J&&(J.mounted=Z,J.mount&&J.mount.mounts.push(Z)),FA},unmount(Q){var m=M.lookupPath(Q,{follow_mount:!1});if(!M.isMountpoint(m.node))throw new M.ErrnoError(28);var v=m.node,p=v.mounted,N=M.getMounts(p);Object.keys(M.nameTable).forEach(V=>{for(var Z=M.nameTable[V];Z;){var FA=Z.name_next;N.includes(Z.mount)&&M.destroyNode(Z),Z=FA}}),v.mounted=null;var J=v.mount.mounts.indexOf(p);v.mount.mounts.splice(J,1)},lookup(Q,m){return Q.node_ops.lookup(Q,m)},mknod(Q,m,v){var p=M.lookupPath(Q,{parent:!0}),N=p.node,J=X.basename(Q);if(!J||J==="."||J==="..")throw new M.ErrnoError(28);var V=M.mayCreate(N,J);if(V)throw new M.ErrnoError(V);if(!N.node_ops.mknod)throw new M.ErrnoError(63);return N.node_ops.mknod(N,J,m,v)},create(Q,m){return m=m!==void 0?m:438,m&=4095,m|=32768,M.mknod(Q,m,0)},mkdir(Q,m){return m=m!==void 0?m:511,m&=1023,m|=16384,M.mknod(Q,m,0)},mkdirTree(Q,m){for(var v=Q.split("/"),p="",N=0;N"u"&&(v=m,m=438),m|=8192,M.mknod(Q,m,v)},symlink(Q,m){if(!Ee.resolve(Q))throw new M.ErrnoError(44);var v=M.lookupPath(m,{parent:!0}),p=v.node;if(!p)throw new M.ErrnoError(44);var N=X.basename(m),J=M.mayCreate(p,N);if(J)throw new M.ErrnoError(J);if(!p.node_ops.symlink)throw new M.ErrnoError(63);return p.node_ops.symlink(p,N,Q)},rename(Q,m){var v=X.dirname(Q),p=X.dirname(m),N=X.basename(Q),J=X.basename(m),V,Z,FA;if(V=M.lookupPath(Q,{parent:!0}),Z=V.node,V=M.lookupPath(m,{parent:!0}),FA=V.node,!Z||!FA)throw new M.ErrnoError(44);if(Z.mount!==FA.mount)throw new M.ErrnoError(75);var te=M.lookupNode(Z,N),re=Ee.relative(Q,p);if(re.charAt(0)!==".")throw new M.ErrnoError(28);if(re=Ee.relative(m,v),re.charAt(0)!==".")throw new M.ErrnoError(55);var Pe;try{Pe=M.lookupNode(FA,J)}catch{}if(te!==Pe){var ze=M.isDir(te.mode),ye=M.mayDelete(Z,N,ze);if(ye)throw new M.ErrnoError(ye);if(ye=Pe?M.mayDelete(FA,J,ze):M.mayCreate(FA,J),ye)throw new M.ErrnoError(ye);if(!Z.node_ops.rename)throw new M.ErrnoError(63);if(M.isMountpoint(te)||Pe&&M.isMountpoint(Pe))throw new M.ErrnoError(10);if(FA!==Z&&(ye=M.nodePermissions(Z,"w"),ye))throw new M.ErrnoError(ye);M.hashRemoveNode(te);try{Z.node_ops.rename(te,FA,J),te.parent=FA}catch(Ge){throw Ge}finally{M.hashAddNode(te)}}},rmdir(Q){var m=M.lookupPath(Q,{parent:!0}),v=m.node,p=X.basename(Q),N=M.lookupNode(v,p),J=M.mayDelete(v,p,!0);if(J)throw new M.ErrnoError(J);if(!v.node_ops.rmdir)throw new M.ErrnoError(63);if(M.isMountpoint(N))throw new M.ErrnoError(10);v.node_ops.rmdir(v,p),M.destroyNode(N)},readdir(Q){var m=M.lookupPath(Q,{follow:!0}),v=m.node;if(!v.node_ops.readdir)throw new M.ErrnoError(54);return v.node_ops.readdir(v)},unlink(Q){var m=M.lookupPath(Q,{parent:!0}),v=m.node;if(!v)throw new M.ErrnoError(44);var p=X.basename(Q),N=M.lookupNode(v,p),J=M.mayDelete(v,p,!1);if(J)throw new M.ErrnoError(J);if(!v.node_ops.unlink)throw new M.ErrnoError(63);if(M.isMountpoint(N))throw new M.ErrnoError(10);v.node_ops.unlink(v,p),M.destroyNode(N)},readlink(Q){var m=M.lookupPath(Q),v=m.node;if(!v)throw new M.ErrnoError(44);if(!v.node_ops.readlink)throw new M.ErrnoError(28);return Ee.resolve(M.getPath(v.parent),v.node_ops.readlink(v))},stat(Q,m){var v=M.lookupPath(Q,{follow:!m}),p=v.node;if(!p)throw new M.ErrnoError(44);if(!p.node_ops.getattr)throw new M.ErrnoError(63);return p.node_ops.getattr(p)},lstat(Q){return M.stat(Q,!0)},chmod(Q,m,v){var p;if(typeof Q=="string"){var N=M.lookupPath(Q,{follow:!v});p=N.node}else p=Q;if(!p.node_ops.setattr)throw new M.ErrnoError(63);p.node_ops.setattr(p,{mode:m&4095|p.mode&-4096,timestamp:Date.now()})},lchmod(Q,m){M.chmod(Q,m,!0)},fchmod(Q,m){var v=M.getStreamChecked(Q);M.chmod(v.node,m)},chown(Q,m,v,p){var N;if(typeof Q=="string"){var J=M.lookupPath(Q,{follow:!p});N=J.node}else N=Q;if(!N.node_ops.setattr)throw new M.ErrnoError(63);N.node_ops.setattr(N,{timestamp:Date.now()})},lchown(Q,m,v){M.chown(Q,m,v,!0)},fchown(Q,m,v){var p=M.getStreamChecked(Q);M.chown(p.node,m,v)},truncate(Q,m){if(m<0)throw new M.ErrnoError(28);var v;if(typeof Q=="string"){var p=M.lookupPath(Q,{follow:!0});v=p.node}else v=Q;if(!v.node_ops.setattr)throw new M.ErrnoError(63);if(M.isDir(v.mode))throw new M.ErrnoError(31);if(!M.isFile(v.mode))throw new M.ErrnoError(28);var N=M.nodePermissions(v,"w");if(N)throw new M.ErrnoError(N);v.node_ops.setattr(v,{size:m,timestamp:Date.now()})},ftruncate(Q,m){var v=M.getStreamChecked(Q);if((v.flags&2097155)===0)throw new M.ErrnoError(28);M.truncate(v.node,m)},utime(Q,m,v){var p=M.lookupPath(Q,{follow:!0}),N=p.node;N.node_ops.setattr(N,{timestamp:Math.max(m,v)})},open(Q,m,v){if(Q==="")throw new M.ErrnoError(44);m=typeof m=="string"?_i(m):m,m&64?(v=typeof v>"u"?438:v,v=v&4095|32768):v=0;var p;if(typeof Q=="object")p=Q;else{Q=X.normalize(Q);try{var N=M.lookupPath(Q,{follow:!(m&131072)});p=N.node}catch{}}var J=!1;if(m&64)if(p){if(m&128)throw new M.ErrnoError(20)}else p=M.mknod(Q,v,0),J=!0;if(!p)throw new M.ErrnoError(44);if(M.isChrdev(p.mode)&&(m&=-513),m&65536&&!M.isDir(p.mode))throw new M.ErrnoError(54);if(!J){var V=M.mayOpen(p,m);if(V)throw new M.ErrnoError(V)}m&512&&!J&&M.truncate(p,0),m&=-131713;var Z=M.createStream({node:p,path:M.getPath(p),flags:m,seekable:!0,position:0,stream_ops:p.stream_ops,ungotten:[],error:!1});return Z.stream_ops.open&&Z.stream_ops.open(Z),Z},close(Q){if(M.isClosed(Q))throw new M.ErrnoError(8);Q.getdents&&(Q.getdents=null);try{Q.stream_ops.close&&Q.stream_ops.close(Q)}catch(m){throw m}finally{M.closeStream(Q.fd)}Q.fd=null},isClosed(Q){return Q.fd===null},llseek(Q,m,v){if(M.isClosed(Q))throw new M.ErrnoError(8);if(!Q.seekable||!Q.stream_ops.llseek)throw new M.ErrnoError(70);if(v!=0&&v!=1&&v!=2)throw new M.ErrnoError(28);return Q.position=Q.stream_ops.llseek(Q,m,v),Q.ungotten=[],Q.position},read(Q,m,v,p,N){if(p<0||N<0)throw new M.ErrnoError(28);if(M.isClosed(Q))throw new M.ErrnoError(8);if((Q.flags&2097155)===1)throw new M.ErrnoError(8);if(M.isDir(Q.node.mode))throw new M.ErrnoError(31);if(!Q.stream_ops.read)throw new M.ErrnoError(28);var J=typeof N<"u";if(!J)N=Q.position;else if(!Q.seekable)throw new M.ErrnoError(70);var V=Q.stream_ops.read(Q,m,v,p,N);return J||(Q.position+=V),V},write(Q,m,v,p,N,J){if(p<0||N<0)throw new M.ErrnoError(28);if(M.isClosed(Q))throw new M.ErrnoError(8);if((Q.flags&2097155)===0)throw new M.ErrnoError(8);if(M.isDir(Q.node.mode))throw new M.ErrnoError(31);if(!Q.stream_ops.write)throw new M.ErrnoError(28);Q.seekable&&Q.flags&1024&&M.llseek(Q,0,2);var V=typeof N<"u";if(!V)N=Q.position;else if(!Q.seekable)throw new M.ErrnoError(70);var Z=Q.stream_ops.write(Q,m,v,p,N,J);return V||(Q.position+=Z),Z},allocate(Q,m,v){if(M.isClosed(Q))throw new M.ErrnoError(8);if(m<0||v<=0)throw new M.ErrnoError(28);if((Q.flags&2097155)===0)throw new M.ErrnoError(8);if(!M.isFile(Q.node.mode)&&!M.isDir(Q.node.mode))throw new M.ErrnoError(43);if(!Q.stream_ops.allocate)throw new M.ErrnoError(138);Q.stream_ops.allocate(Q,m,v)},mmap(Q,m,v,p,N){if((p&2)!==0&&(N&2)===0&&(Q.flags&2097155)!==2)throw new M.ErrnoError(2);if((Q.flags&2097155)===1)throw new M.ErrnoError(2);if(!Q.stream_ops.mmap)throw new M.ErrnoError(43);if(!m)throw new M.ErrnoError(28);return Q.stream_ops.mmap(Q,m,v,p,N)},msync(Q,m,v,p,N){return Q.stream_ops.msync?Q.stream_ops.msync(Q,m,v,p,N):0},ioctl(Q,m,v){if(!Q.stream_ops.ioctl)throw new M.ErrnoError(59);return Q.stream_ops.ioctl(Q,m,v)},readFile(Q,m={}){if(m.flags=m.flags||0,m.encoding=m.encoding||"binary",m.encoding!=="utf8"&&m.encoding!=="binary")throw new Error(`Invalid encoding type "${m.encoding}"`);var v,p=M.open(Q,m.flags),N=M.stat(Q),J=N.size,V=new Uint8Array(J);return M.read(p,V,0,J,0),m.encoding==="utf8"?v=bt(V):m.encoding==="binary"&&(v=V),M.close(p),v},writeFile(Q,m,v={}){v.flags=v.flags||577;var p=M.open(Q,v.flags,v.mode);if(typeof m=="string"){var N=new Uint8Array(DA(m)+1),J=gt(m,N,0,N.length);M.write(p,N,0,J,void 0,v.canOwn)}else if(ArrayBuffer.isView(m))M.write(p,m,0,m.byteLength,void 0,v.canOwn);else throw new Error("Unsupported data type");M.close(p)},cwd:()=>M.currentPath,chdir(Q){var m=M.lookupPath(Q,{follow:!0});if(m.node===null)throw new M.ErrnoError(44);if(!M.isDir(m.node.mode))throw new M.ErrnoError(54);var v=M.nodePermissions(m.node,"x");if(v)throw new M.ErrnoError(v);M.currentPath=m.path},createDefaultDirectories(){M.mkdir("/tmp"),M.mkdir("/home"),M.mkdir("/home/web_user")},createDefaultDevices(){M.mkdir("/dev"),M.registerDevice(M.makedev(1,3),{read:()=>0,write:(p,N,J,V,Z)=>V}),M.mkdev("/dev/null",M.makedev(1,3)),rt.register(M.makedev(5,0),rt.default_tty_ops),rt.register(M.makedev(6,0),rt.default_tty1_ops),M.mkdev("/dev/tty",M.makedev(5,0)),M.mkdev("/dev/tty1",M.makedev(6,0));var Q=new Uint8Array(1024),m=0,v=()=>(m===0&&(m=Be(Q).byteLength),Q[--m]);M.createDevice("/dev","random",v),M.createDevice("/dev","urandom",v),M.mkdir("/dev/shm"),M.mkdir("/dev/shm/tmp")},createSpecialDirectories(){M.mkdir("/proc");var Q=M.mkdir("/proc/self");M.mkdir("/proc/self/fd"),M.mount({mount(){var m=M.createNode(Q,"fd",16895,73);return m.node_ops={lookup(v,p){var N=+p,J=M.getStreamChecked(N),V={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>J.path}};return V.parent=V,V}},m}},{},"/proc/self/fd")},createStandardStreams(Q,m,v){Q?M.createDevice("/dev","stdin",Q):M.symlink("/dev/tty","/dev/stdin"),m?M.createDevice("/dev","stdout",null,m):M.symlink("/dev/tty","/dev/stdout"),v?M.createDevice("/dev","stderr",null,v):M.symlink("/dev/tty1","/dev/stderr"),M.open("/dev/stdin",0),M.open("/dev/stdout",1),M.open("/dev/stderr",1)},staticInit(){[44].forEach(Q=>{M.genericErrors[Q]=new M.ErrnoError(Q),M.genericErrors[Q].stack=""}),M.nameTable=new Array(4096),M.mount(xe,{},"/"),M.createDefaultDirectories(),M.createDefaultDevices(),M.createSpecialDirectories(),M.filesystems={MEMFS:xe}},init(Q,m,v){M.initialized=!0,M.createStandardStreams(Q,m,v)},quit(){M.initialized=!1;for(var Q=0;Qthis.length-1||ye<0)){var Ge=ye%this.chunkSize,Vi=ye/this.chunkSize|0;return this.getter(Vi)[Ge]}}setDataGetter(ye){this.getter=ye}cacheLength(){var ye=new XMLHttpRequest;if(ye.open("HEAD",v,!1),ye.send(null),!(ye.status>=200&&ye.status<300||ye.status===304))throw new Error("Couldn't load "+v+". Status: "+ye.status);var Ge=Number(ye.getResponseHeader("Content-length")),Vi,T=(Vi=ye.getResponseHeader("Accept-Ranges"))&&Vi==="bytes",oA=(Vi=ye.getResponseHeader("Content-Encoding"))&&Vi==="gzip",YA=1024*1024;T||(YA=Ge);var pe=(ge,Bt)=>{if(ge>Bt)throw new Error("invalid range ("+ge+", "+Bt+") or no bytes requested!");if(Bt>Ge-1)throw new Error("only "+Ge+" bytes available! programmer error!");var $e=new XMLHttpRequest;if($e.open("GET",v,!1),Ge!==YA&&$e.setRequestHeader("Range","bytes="+ge+"-"+Bt),$e.responseType="arraybuffer",$e.overrideMimeType&&$e.overrideMimeType("text/plain; charset=x-user-defined"),$e.send(null),!($e.status>=200&&$e.status<300||$e.status===304))throw new Error("Couldn't load "+v+". Status: "+$e.status);return $e.response!==void 0?new Uint8Array($e.response||[]):Ve($e.responseText||"",!0)},he=this;he.setDataGetter(ge=>{var Bt=ge*YA,$e=(ge+1)*YA-1;if($e=Math.min($e,Ge-1),typeof he.chunks[ge]>"u"&&(he.chunks[ge]=pe(Bt,$e)),typeof he.chunks[ge]>"u")throw new Error("doXHR failed!");return he.chunks[ge]}),(oA||!Ge)&&(YA=Ge=1,Ge=this.getter(0).length,YA=Ge,d("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=Ge,this._chunkSize=YA,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var V,Z}else var Z={isDevice:!1,url:v};var FA=M.createFile(Q,m,Z,p,N);Z.contents?FA.contents=Z.contents:Z.url&&(FA.contents=null,FA.url=Z.url),Object.defineProperties(FA,{usedBytes:{get:function(){return this.contents.length}}});var te={},re=Object.keys(FA.stream_ops);re.forEach(ze=>{var ye=FA.stream_ops[ze];te[ze]=(...Ge)=>(M.forceLoadFile(FA),ye(...Ge))});function Pe(ze,ye,Ge,Vi,T){var oA=ze.node.contents;if(T>=oA.length)return 0;var YA=Math.min(oA.length-T,Vi);if(oA.slice)for(var pe=0;pe(M.forceLoadFile(FA),Pe(ze,ye,Ge,Vi,T)),te.mmap=(ze,ye,Ge,Vi,T)=>{M.forceLoadFile(FA);var oA=qi(ye);if(!oA)throw new M.ErrnoError(48);return Pe(ze,R,oA,ye,Ge),{ptr:oA,allocated:!0}},FA.stream_ops=te,FA}},We={DEFAULT_POLLMASK:5,calculateAt(Q,m,v){if(X.isAbs(m))return m;var p;if(Q===-100)p=M.cwd();else{var N=We.getStreamFromFD(Q);p=N.path}if(m.length==0){if(!v)throw new M.ErrnoError(44);return p}return X.join2(p,m)},doStat(Q,m,v){var p=Q(m);K[v>>2]=p.dev,K[v+4>>2]=p.mode,z[v+8>>2]=p.nlink,K[v+12>>2]=p.uid,K[v+16>>2]=p.gid,K[v+20>>2]=p.rdev,H[v+24>>3]=BigInt(p.size),K[v+32>>2]=4096,K[v+36>>2]=p.blocks;var N=p.atime.getTime(),J=p.mtime.getTime(),V=p.ctime.getTime();return H[v+40>>3]=BigInt(Math.floor(N/1e3)),z[v+48>>2]=N%1e3*1e3*1e3,H[v+56>>3]=BigInt(Math.floor(J/1e3)),z[v+64>>2]=J%1e3*1e3*1e3,H[v+72>>3]=BigInt(Math.floor(V/1e3)),z[v+80>>2]=V%1e3*1e3*1e3,H[v+88>>3]=BigInt(p.ino),0},doMsync(Q,m,v,p,N){if(!M.isFile(m.node.mode))throw new M.ErrnoError(43);if(p&2)return 0;var J=w.slice(Q,Q+v);M.msync(m,J,N,v,p)},getStreamFromFD(Q){var m=M.getStreamChecked(Q);return m},varargs:void 0,getStr(Q){var m=Re(Q);return m}};function ni(Q,m,v,p){try{if(m=We.getStr(m),m=We.calculateAt(Q,m),v&-8)return-28;var N=M.lookupPath(m,{follow:!0}),J=N.node;if(!J)return-44;var V="";return v&4&&(V+="r"),v&2&&(V+="w"),v&1&&(V+="x"),V&&M.nodePermissions(J,V)?-2:0}catch(Z){if(typeof M>"u"||Z.name!=="ErrnoError")throw Z;return-Z.errno}}function pi(){var Q=K[+We.varargs>>2];return We.varargs+=4,Q}var dn=pi;function mn(Q,m,v){We.varargs=v;try{var p=We.getStreamFromFD(Q);switch(m){case 0:{var N=pi();if(N<0)return-28;for(;M.streams[N];)N++;var J;return J=M.dupStream(p,N),J.fd}case 1:case 2:return 0;case 3:return p.flags;case 4:{var N=pi();return p.flags|=N,0}case 12:{var N=dn(),V=0;return _[N+V>>1]=2,0}case 13:case 14:return 0}return-28}catch(Z){if(typeof M>"u"||Z.name!=="ErrnoError")throw Z;return-Z.errno}}function Uo(Q,m){try{var v=We.getStreamFromFD(Q);return We.doStat(M.stat,v.path,m)}catch(p){if(typeof M>"u"||p.name!=="ErrnoError")throw p;return-p.errno}}function kn(Q,m,v){We.varargs=v;try{var p=We.getStreamFromFD(Q);switch(m){case 21509:return p.tty?0:-59;case 21505:{if(!p.tty)return-59;if(p.tty.ops.ioctl_tcgets){var N=p.tty.ops.ioctl_tcgets(p),J=dn();K[J>>2]=N.c_iflag||0,K[J+4>>2]=N.c_oflag||0,K[J+8>>2]=N.c_cflag||0,K[J+12>>2]=N.c_lflag||0;for(var V=0;V<32;V++)R[J+V+17]=N.c_cc[V]||0;return 0}return 0}case 21510:case 21511:case 21512:return p.tty?0:-59;case 21506:case 21507:case 21508:{if(!p.tty)return-59;if(p.tty.ops.ioctl_tcsets){for(var J=dn(),Z=K[J>>2],FA=K[J+4>>2],te=K[J+8>>2],re=K[J+12>>2],Pe=[],V=0;V<32;V++)Pe.push(R[J+V+17]);return p.tty.ops.ioctl_tcsets(p.tty,m,{c_iflag:Z,c_oflag:FA,c_cflag:te,c_lflag:re,c_cc:Pe})}return 0}case 21519:{if(!p.tty)return-59;var J=dn();return K[J>>2]=0,0}case 21520:return p.tty?-28:-59;case 21531:{var J=dn();return M.ioctl(p,m,J)}case 21523:{if(!p.tty)return-59;if(p.tty.ops.ioctl_tiocgwinsz){var ze=p.tty.ops.ioctl_tiocgwinsz(p.tty),J=dn();_[J>>1]=ze[0],_[J+2>>1]=ze[1]}return 0}case 21524:return p.tty?0:-59;case 21515:return p.tty?0:-59;default:return-28}}catch(ye){if(typeof M>"u"||ye.name!=="ErrnoError")throw ye;return-ye.errno}}function Wn(Q,m,v,p){try{m=We.getStr(m);var N=p&256,J=p&4096;return p=p&-6401,m=We.calculateAt(Q,m,J),We.doStat(N?M.lstat:M.stat,m,v)}catch(V){if(typeof M>"u"||V.name!=="ErrnoError")throw V;return-V.errno}}function Vo(Q,m,v,p){We.varargs=p;try{m=We.getStr(m),m=We.calculateAt(Q,m);var N=p?pi():0;return M.open(m,v,N).fd}catch(J){if(typeof M>"u"||J.name!=="ErrnoError")throw J;return-J.errno}}function vo(Q,m){try{return Q=We.getStr(Q),We.doStat(M.stat,Q,m)}catch(v){if(typeof M>"u"||v.name!=="ErrnoError")throw v;return-v.errno}}var bo=()=>{TA("")},Yn=Q=>Q%4===0&&(Q%100!==0||Q%400===0),Mo=[0,31,60,91,121,152,182,213,244,274,305,335],ne=[0,31,59,90,120,151,181,212,243,273,304,334],wi=Q=>{var m=Yn(Q.getFullYear()),v=m?Mo:ne,p=v[Q.getMonth()]+Q.getDate()-1;return p},MA=9007199254740992,me=-9007199254740992,nt=Q=>QMA?NaN:Number(Q);function Wt(Q,m){Q=nt(Q);var v=new Date(Q*1e3);K[m>>2]=v.getSeconds(),K[m+4>>2]=v.getMinutes(),K[m+8>>2]=v.getHours(),K[m+12>>2]=v.getDate(),K[m+16>>2]=v.getMonth(),K[m+20>>2]=v.getFullYear()-1900,K[m+24>>2]=v.getDay();var p=wi(v)|0;K[m+28>>2]=p,K[m+36>>2]=-(v.getTimezoneOffset()*60);var N=new Date(v.getFullYear(),0,1),J=new Date(v.getFullYear(),6,1).getTimezoneOffset(),V=N.getTimezoneOffset(),Z=(J!=V&&v.getTimezoneOffset()==Math.min(V,J))|0;K[m+32>>2]=Z}function Xe(Q,m,v,p,N,J,V){N=nt(N);try{if(isNaN(N))return 61;var Z=We.getStreamFromFD(p),FA=M.mmap(Z,Q,N,m,v),te=FA.ptr;return K[J>>2]=FA.allocated,z[V>>2]=te,0}catch(re){if(typeof M>"u"||re.name!=="ErrnoError")throw re;return-re.errno}}function oi(Q,m,v,p,N,J){J=nt(J);try{var V=We.getStreamFromFD(N);v&2&&We.doMsync(Q,V,m,p,J)}catch(Z){if(typeof M>"u"||Z.name!=="ErrnoError")throw Z;return-Z.errno}}var Di=(Q,m,v)=>gt(Q,w,m,v),Ut=(Q,m,v,p)=>{var N=new Date().getFullYear(),J=new Date(N,0,1),V=new Date(N,6,1),Z=J.getTimezoneOffset(),FA=V.getTimezoneOffset(),te=Math.max(Z,FA);z[Q>>2]=te*60,K[m>>2]=+(Z!=FA);var re=ye=>{var Ge=ye>=0?"-":"+",Vi=Math.abs(ye),T=String(Math.floor(Vi/60)).padStart(2,"0"),oA=String(Vi%60).padStart(2,"0");return`UTC${Ge}${T}${oA}`},Pe=re(Z),ze=re(FA);FADate.now(),ft=()=>2147483648,Qi=Q=>{var m=D.buffer,v=(Q-m.byteLength+65535)/65536|0;try{return D.grow(v),j(),1}catch{}},ot=Q=>{var m=w.length;Q>>>=0;var v=ft();if(Q>v)return!1;for(var p=1;p<=4;p*=2){var N=m*(1+.2/p);N=Math.min(N,Q+100663296);var J=Math.min(v,tn(Math.max(Q,N),65536)),V=Qi(J);if(V)return!0}return!1},Mt={},on=()=>a,hn=()=>{if(!hn.strings){var Q=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",m={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:Q,_:on()};for(var v in Mt)Mt[v]===void 0?delete m[v]:m[v]=Mt[v];var p=[];for(var v in m)p.push(`${v}=${m[v]}`);hn.strings=p}return hn.strings},Ai=(Q,m)=>{for(var v=0;v{var v=0;return hn().forEach((p,N)=>{var J=m+v;z[Q+N*4>>2]=J,Ai(p,J),v+=p.length+1}),0},dt=(Q,m)=>{var v=hn();z[Q>>2]=v.length;var p=0;return v.forEach(N=>p+=N.length+1),z[m>>2]=p,0},EA=Q=>{c(Q,new xt(Q))},HA=(Q,m)=>{EA(Q)},ve=HA;function Qt(Q){try{var m=We.getStreamFromFD(Q);return M.close(m),0}catch(v){if(typeof M>"u"||v.name!=="ErrnoError")throw v;return v.errno}}var yi=(Q,m,v,p)=>{for(var N=0,J=0;J>2],Z=z[m+4>>2];m+=8;var FA=M.read(Q,R,V,Z,p);if(FA<0)return-1;if(N+=FA,FA>2]=J,0}catch(V){if(typeof M>"u"||V.name!=="ErrnoError")throw V;return V.errno}}function pn(Q,m,v,p){m=nt(m);try{if(isNaN(m))return 61;var N=We.getStreamFromFD(Q);return M.llseek(N,m,v),H[p>>3]=BigInt(N.position),N.getdents&&m===0&&v===0&&(N.getdents=null),0}catch(J){if(typeof M>"u"||J.name!=="ErrnoError")throw J;return J.errno}}var Fn=(Q,m,v,p)=>{for(var N=0,J=0;J>2],Z=z[m+4>>2];m+=8;var FA=M.write(Q,R,V,Z,p);if(FA<0)return-1;if(N+=FA,FA>2]=J,0}catch(V){if(typeof M>"u"||V.name!=="ErrnoError")throw V;return V.errno}}var ln=Q=>{var m=i["_"+Q];return m},Pt=(Q,m)=>{R.set(Q,m)},$i=Q=>rn(Q),Rr=Q=>{var m=DA(Q)+1,v=$i(m);return Di(Q,v,m),v},Ft=(Q,m,v,p,N)=>{var J={string:Ge=>{var Vi=0;return Ge!=null&&Ge!==0&&(Vi=Rr(Ge)),Vi},array:Ge=>{var Vi=$i(Ge.length);return Pt(Ge,Vi),Vi}};function V(Ge){return m==="string"?Re(Ge):m==="boolean"?!!Ge:Ge}var Z=ln(Q),FA=[],te=0;if(p)for(var re=0;re(i._viz_set_y_invert=se.A)(Q),i._viz_set_reduce=Q=>(i._viz_set_reduce=se.B)(Q),i._viz_get_graphviz_version=()=>(i._viz_get_graphviz_version=se.C)(),i._free=Q=>(i._free=se.D)(Q),i._malloc=Q=>(i._malloc=se.E)(Q),i._viz_get_plugin_list=Q=>(i._viz_get_plugin_list=se.G)(Q),i._viz_create_graph=(Q,m,v)=>(i._viz_create_graph=se.H)(Q,m,v),i._viz_read_one_graph=Q=>(i._viz_read_one_graph=se.I)(Q),i._viz_string_dup=(Q,m)=>(i._viz_string_dup=se.J)(Q,m),i._viz_string_dup_html=(Q,m)=>(i._viz_string_dup_html=se.K)(Q,m),i._viz_string_free=(Q,m)=>(i._viz_string_free=se.L)(Q,m),i._viz_string_free_html=(Q,m)=>(i._viz_string_free_html=se.M)(Q,m),i._viz_add_node=(Q,m)=>(i._viz_add_node=se.N)(Q,m),i._viz_add_edge=(Q,m,v)=>(i._viz_add_edge=se.O)(Q,m,v),i._viz_add_subgraph=(Q,m)=>(i._viz_add_subgraph=se.P)(Q,m),i._viz_set_default_graph_attribute=(Q,m,v)=>(i._viz_set_default_graph_attribute=se.Q)(Q,m,v),i._viz_set_default_node_attribute=(Q,m,v)=>(i._viz_set_default_node_attribute=se.R)(Q,m,v),i._viz_set_default_edge_attribute=(Q,m,v)=>(i._viz_set_default_edge_attribute=se.S)(Q,m,v),i._viz_set_attribute=(Q,m,v)=>(i._viz_set_attribute=se.T)(Q,m,v),i._viz_free_graph=Q=>(i._viz_free_graph=se.U)(Q),i._viz_create_context=()=>(i._viz_create_context=se.V)(),i._viz_free_context=Q=>(i._viz_free_context=se.W)(Q),i._viz_layout=(Q,m,v)=>(i._viz_layout=se.X)(Q,m,v),i._viz_free_layout=(Q,m)=>(i._viz_free_layout=se.Y)(Q,m),i._viz_reset_errors=()=>(i._viz_reset_errors=se.Z)(),i._viz_render=(Q,m,v)=>(i._viz_render=se._)(Q,m,v);var vi=(Q,m)=>(vi=se.$)(Q,m),Yi=Q=>(Yi=se.aa)(Q),rn=Q=>(rn=se.ba)(Q),Hr=()=>(Hr=se.ca)();i.ccall=Ft,i.getValue=de,i.PATH=X,i.UTF8ToString=Re,i.stringToUTF8=Di,i.lengthBytesUTF8=DA,i.FS=M;var Ri,fs;VA=function Q(){Ri||Bo(),Ri||(VA=Q)};function Bo(){if(pA>0||!fs&&(fs=1,lA(),pA>0))return;function Q(){Ri||(Ri=1,i.calledRun=1,!L&&(vA(),n(i),tA()))}Q()}return Bo(),A=r,A}})(),KP=[[/^Error: (.*)/,"error"],[/^Warning: (.*)/,"warning"]];function M3A(t){return t.map(e=>{for(let A=0;A{if(typeof A.name!="string")throw new Error("image name must be a string");if(typeof A.width!="number"&&typeof A.width!="string")throw new Error("image width must be a number or string");if(typeof A.height!="number"&&typeof A.height!="string")throw new Error("image height must be a number or string");let i=t.PATH.join("/",A.name),n=`
-
-`;return t.FS.createPath("/",t.PATH.dirname(i)),t.FS.writeFile(i,n),i}):[]}function x3A(t,e){for(let A of e)t.FS.analyzePath(A).exists&&t.FS.unlink(A)}function L3A(t,e,A){let i;try{let n=t.lengthBytesUTF8(e);return i=t.ccall("malloc","number",["number"],[n+1]),t.stringToUTF8(e,i,n+1),t.ccall("viz_read_one_graph","number",["number"],[i])}finally{i&&t.ccall("free","number",["number"],[i])}}function F3A(t,e,A){let i=t.ccall("viz_create_graph","number",["string","number","number"],[e.name,typeof e.directed<"u"?e.directed:!0,typeof e.strict<"u"?e.strict:!1]);return HP(t,i,e),i}function HP(t,e,A){zP(t,e,A),A.nodes&&A.nodes.forEach(i=>{let n=t.ccall("viz_add_node","number",["number","string"],[e,String(i.name)]);i.attributes&&TP(t,e,n,i.attributes)}),A.edges&&A.edges.forEach(i=>{let n=t.ccall("viz_add_edge","number",["number","string","string"],[e,String(i.tail),String(i.head)]);i.attributes&&TP(t,e,n,i.attributes)}),A.subgraphs&&A.subgraphs.forEach(i=>{let n=t.ccall("viz_add_subgraph","number",["number","string"],[e,String(i.name)]);HP(t,n,i)})}function zP(t,e,A){if(A.graphAttributes)for(let[i,n]of Object.entries(A.graphAttributes))m8(t,e,n,o=>{t.ccall("viz_set_default_graph_attribute","number",["number","string","number"],[e,i,o])});if(A.nodeAttributes)for(let[i,n]of Object.entries(A.nodeAttributes))m8(t,e,n,o=>{t.ccall("viz_set_default_node_attribute","number",["number","string","number"],[e,i,o])});if(A.edgeAttributes)for(let[i,n]of Object.entries(A.edgeAttributes))m8(t,e,n,o=>{t.ccall("viz_set_default_edge_attribute","number",["number","string","number"],[e,i,o])})}function TP(t,e,A,i){for(let[n,o]of Object.entries(i))m8(t,e,o,r=>{t.ccall("viz_set_attribute","number",["number","string","number"],[A,n,r])})}function m8(t,e,A,i){let n;if(typeof A=="object"&&"html"in A?n=t.ccall("viz_string_dup_html","number",["number","string"],[e,String(A.html)]):n=t.ccall("viz_string_dup","number",["number","string"],[e,String(A)]),n==0)throw new Error("couldn't dup string");i(n),typeof A=="object"&&"html"in A?t.ccall("viz_string_free_html","number",["number","number"],[e,n]):t.ccall("viz_string_free","number",["number","number"],[e,n])}var Pk=class{constructor(e){this.module=e}get graphvizVersion(){return S3A(this.module)}get formats(){return YP(this.module,"device")}get engines(){return YP(this.module,"layout")}renderFormats(e,A,i={}){return JP(this.module,e,A,rA({engine:"dot"},i))}render(e,A={}){let i;A.format===void 0?i="dot":i=A.format;let n=JP(this.module,e,[i],rA({engine:"dot"},A));return n.status==="success"&&(n.output=n.output[i]),n}renderString(e,A={}){let i=this.render(e,A);if(i.status!=="success")throw new Error(i.errors.find(n=>n.level=="error")?.message||"render failed");return i.output}renderSVGElement(e,A={}){let i=this.renderString(e,Ye(rA({},A),{format:"svg"}));return new DOMParser().parseFromString(i,"image/svg+xml").documentElement}renderJSON(e,A={}){let i=this.renderString(e,Ye(rA({},A),{format:"json"}));return JSON.parse(i)}};function Yu(){return b3A().then(t=>new Pk(t))}var gU=jQ(rq());var vs=class{static getBaseUrlWithoutPath(){let e=window.location.href;return new URL(e).origin+"/dev-ui/"}static getApiServerBaseUrl(){return window.runtimeConfig?.backendUrl}static getWSServerUrl(){let e=this.getApiServerBaseUrl();return!e||e==""?window.location.host:e.startsWith("http://")?e.slice(7):e.startsWith("https://")?e.slice(8):e}};var H2=class t{constructor(e,A){this.http=e;this.zone=A}apiServerDomain=vs.getApiServerBaseUrl();_currentApp=new Mi("");currentApp=this._currentApp.asObservable();isLoading=new Mi(!1);getApp(){return this.currentApp}setApp(e){this._currentApp.next(e)}getLoadingState(){return this.isLoading}runSse(e){let A=this.apiServerDomain+"/run_sse";return this.isLoading.next(!0),new ct(i=>{let n=this;fetch(A,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify(e)}).then(o=>{let r=o.body?.getReader(),s=new TextDecoder("utf-8"),a="",c=()=>{r?.read().then(({done:l,value:I})=>{if(this.isLoading.next(!0),l)return this.isLoading.next(!1),i.complete();let C=s.decode(I,{stream:!0});a+=C;try{a.split(/\r?\n/).filter(B=>B.startsWith("data:")).forEach(B=>{let E=B.replace(/^data:\s*/,"");JSON.parse(E),n.zone.run(()=>i.next(E))}),a=""}catch(d){d instanceof SyntaxError&&c()}c()}).catch(l=>{n.zone.run(()=>i.error(l))})};c()}).catch(o=>{n.zone.run(()=>i.error(o))})})}listApps(){if(this.apiServerDomain!=null){let e=this.apiServerDomain+"/list-apps?relative_path=./";return this.http.get(e)}return new ct}static \u0275fac=function(A){return new(A||t)(we(Ds),we(Qe))};static \u0275prov=NA({token:t,factory:t.\u0275fac,providedIn:"root"})};var YmA="import_session",JmA="edit_function_args";var TmA="a2a_card",KB=class t{route=f(ha);constructor(){}isImportSessionEnabled(){return this.route.queryParams.pipe(je(e=>e[YmA]==="true"))}isEditFunctionArgsEnabled(){return this.route.queryParams.pipe(je(e=>e[JmA]==="true"))}isSessionUrlEnabled(){return Me(!0)}isA2ACardEnabled(){return this.route.queryParams.pipe(je(e=>e[TmA]==="true"))}static \u0275fac=function(A){return new(A||t)};static \u0275prov=NA({token:t,factory:t.\u0275fac,providedIn:"root"})};function HmA(t,e){}var z2=class{viewContainerRef;injector;id;role="dialog";panelClass="";hasBackdrop=!0;backdropClass="";disableClose=!1;width="";height="";minWidth;minHeight;maxWidth;maxHeight;positionStrategy;data=null;direction;ariaDescribedBy=null;ariaLabelledBy=null;ariaLabel=null;ariaModal=!1;autoFocus="first-tabbable";restoreFocus=!0;scrollStrategy;closeOnNavigation=!0;closeOnDestroy=!0;closeOnOverlayDetachments=!0;componentFactoryResolver;providers;container;templateContext};var rS=(()=>{class t extends J2{_elementRef=f(ee);_focusTrapFactory=f(n8);_config;_interactivityChecker=f(Mu);_ngZone=f(Qe);_overlayRef=f(LB);_focusMonitor=f(dr);_renderer=f(Wi);_platform=f(Ii);_document=f(at,{optional:!0});_portalOutlet;_focusTrap=null;_elementFocusedBeforeDialogWasOpened=null;_closeInteractionType=null;_ariaLabelledByQueue=[];_changeDetectorRef=f(It);_injector=f(Rt);_isDestroyed=!1;constructor(){super(),this._config=f(z2,{optional:!0})||new z2,this._config.ariaLabelledBy&&this._ariaLabelledByQueue.push(this._config.ariaLabelledBy)}_addAriaLabelledBy(A){this._ariaLabelledByQueue.push(A),this._changeDetectorRef.markForCheck()}_removeAriaLabelledBy(A){let i=this._ariaLabelledByQueue.indexOf(A);i>-1&&(this._ariaLabelledByQueue.splice(i,1),this._changeDetectorRef.markForCheck())}_contentAttached(){this._initializeFocusTrap(),this._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._isDestroyed=!0,this._restoreFocus()}attachComponentPortal(A){this._portalOutlet.hasAttached();let i=this._portalOutlet.attachComponentPortal(A);return this._contentAttached(),i}attachTemplatePortal(A){this._portalOutlet.hasAttached();let i=this._portalOutlet.attachTemplatePortal(A);return this._contentAttached(),i}attachDomPortal=A=>{this._portalOutlet.hasAttached();let i=this._portalOutlet.attachDomPortal(A);return this._contentAttached(),i};_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(A,i){this._interactivityChecker.isFocusable(A)||(A.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let n=()=>{o(),r(),A.removeAttribute("tabindex")},o=this._renderer.listen(A,"blur",n),r=this._renderer.listen(A,"mousedown",n)})),A.focus(i)}_focusByCssSelector(A,i){let n=this._elementRef.nativeElement.querySelector(A);n&&this._forceFocus(n,i)}_trapFocus(){this._isDestroyed||To(()=>{let A=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||A.focus();break;case!0:case"first-tabbable":this._focusTrap?.focusInitialElement()||this._focusDialogContainer();break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus);break}},{injector:this._injector})}_restoreFocus(){let A=this._config.restoreFocus,i=null;if(typeof A=="string"?i=this._document.querySelector(A):typeof A=="boolean"?i=A?this._elementFocusedBeforeDialogWasOpened:null:A&&(i=A),this._config.restoreFocus&&i&&typeof i.focus=="function"){let n=pB(),o=this._elementRef.nativeElement;(!n||n===this._document.body||n===o||o.contains(n))&&(this._focusMonitor?(this._focusMonitor.focusVia(i,this._closeInteractionType),this._closeInteractionType=null):i.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){let A=this._elementRef.nativeElement,i=pB();return A===i||A.contains(i)}_initializeFocusTrap(){this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=pB()))}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe(()=>{this._config.disableClose&&this._recaptureFocus()})}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=zA({type:t,selectors:[["cdk-dialog-container"]],viewQuery:function(i,n){if(i&1&&Te(fa,7),i&2){let o;XA(o=$A())&&(n._portalOutlet=o.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(i,n){i&2&&Ne("id",n._config.id||null)("role",n._config.role)("aria-modal",n._config.ariaModal)("aria-labelledby",n._config.ariaLabel?null:n._ariaLabelledByQueue[0])("aria-label",n._config.ariaLabel)("aria-describedby",n._config.ariaDescribedBy||null)},features:[lt],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(i,n){i&1&&_A(0,HmA,0,0,"ng-template",0)},dependencies:[fa],styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"],encapsulation:2})}return t})(),Tu=class{overlayRef;config;componentInstance;componentRef;containerInstance;disableClose;closed=new OA;backdropClick;keydownEvents;outsidePointerEvents;id;_detachSubscription;constructor(e,A){this.overlayRef=e,this.config=A,this.disableClose=A.disableClose,this.backdropClick=e.backdropClick(),this.keydownEvents=e.keydownEvents(),this.outsidePointerEvents=e.outsidePointerEvents(),this.id=A.id,this.keydownEvents.subscribe(i=>{i.keyCode===27&&!this.disableClose&&!ir(i)&&(i.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{this.disableClose||this.close(void 0,{focusOrigin:"mouse"})}),this._detachSubscription=e.detachments().subscribe(()=>{A.closeOnOverlayDetachments!==!1&&this.close()})}close(e,A){if(this.containerInstance){let i=this.closed;this.containerInstance._closeInteractionType=A?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),i.next(e),i.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(e="",A=""){return this.overlayRef.updateSize({width:e,height:A}),this}addPanelClass(e){return this.overlayRef.addPanelClass(e),this}removePanelClass(e){return this.overlayRef.removePanelClass(e),this}},zmA=new dA("DialogScrollStrategy",{providedIn:"root",factory:()=>{let t=f(nr);return()=>t.scrollStrategies.block()}}),OmA=new dA("DialogData"),PmA=new dA("DefaultDialogConfig");var sS=(()=>{class t{_overlay=f(nr);_injector=f(Rt);_defaultOptions=f(PmA,{optional:!0});_parentDialog=f(t,{optional:!0,skipSelf:!0});_overlayContainer=f(d8);_idGenerator=f(sn);_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new OA;_afterOpenedAtThisLevel=new OA;_ariaHiddenElements=new Map;_scrollStrategy=f(zmA);get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}afterAllClosed=jl(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Pn(void 0)));constructor(){}open(A,i){let n=this._defaultOptions||new z2;i=rA(rA({},n),i),i.id=i.id||this._idGenerator.getId("cdk-dialog-"),i.id&&this.getDialogById(i.id);let o=this._getOverlayConfig(i),r=this._overlay.create(o),s=new Tu(r,i),a=this._attachContainer(r,s,i);return s.containerInstance=a,this._attachDialogContent(A,s,a,i),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(s),s.closed.subscribe(()=>this._removeOpenDialog(s,!0)),this.afterOpened.next(s),s}closeAll(){oS(this.openDialogs,A=>A.close())}getDialogById(A){return this.openDialogs.find(i=>i.id===A)}ngOnDestroy(){oS(this._openDialogsAtThisLevel,A=>{A.config.closeOnDestroy===!1&&this._removeOpenDialog(A,!1)}),oS(this._openDialogsAtThisLevel,A=>A.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(A){let i=new Bg({positionStrategy:A.positionStrategy||this._overlay.position().global().centerHorizontally().centerVertically(),scrollStrategy:A.scrollStrategy||this._scrollStrategy(),panelClass:A.panelClass,hasBackdrop:A.hasBackdrop,direction:A.direction,minWidth:A.minWidth,minHeight:A.minHeight,maxWidth:A.maxWidth,maxHeight:A.maxHeight,width:A.width,height:A.height,disposeOnNavigation:A.closeOnNavigation});return A.backdropClass&&(i.backdropClass=A.backdropClass),i}_attachContainer(A,i,n){let o=n.injector||n.viewContainerRef?.injector,r=[{provide:z2,useValue:n},{provide:Tu,useValue:i},{provide:LB,useValue:A}],s;n.container?typeof n.container=="function"?s=n.container:(s=n.container.type,r.push(...n.container.providers(n))):s=rS;let a=new dl(s,n.viewContainerRef,Rt.create({parent:o||this._injector,providers:r}));return A.attach(a).instance}_attachDialogContent(A,i,n,o){if(A instanceof wn){let r=this._createInjector(o,i,n,void 0),s={$implicit:o.data,dialogRef:i};o.templateContext&&(s=rA(rA({},s),typeof o.templateContext=="function"?o.templateContext():o.templateContext)),n.attachTemplatePortal(new ys(A,null,s,r))}else{let r=this._createInjector(o,i,n,this._injector),s=n.attachComponentPortal(new dl(A,o.viewContainerRef,r));i.componentRef=s,i.componentInstance=s.instance}}_createInjector(A,i,n,o){let r=A.injector||A.viewContainerRef?.injector,s=[{provide:OmA,useValue:A.data},{provide:Tu,useValue:i}];return A.providers&&(typeof A.providers=="function"?s.push(...A.providers(i,A,n)):s.push(...A.providers)),A.direction&&(!r||!r.get(mo,null,{optional:!0}))&&s.push({provide:mo,useValue:{value:A.direction,change:Me()}}),Rt.create({parent:r||o,providers:s})}_removeOpenDialog(A,i){let n=this.openDialogs.indexOf(A);n>-1&&(this.openDialogs.splice(n,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((o,r)=>{o?r.setAttribute("aria-hidden",o):r.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),i&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){let A=this._overlayContainer.getContainerElement();if(A.parentElement){let i=A.parentElement.children;for(let n=i.length-1;n>-1;n--){let o=i[n];o!==A&&o.nodeName!=="SCRIPT"&&o.nodeName!=="STYLE"&&!o.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(o,o.getAttribute("aria-hidden")),o.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){let A=this._parentDialog;return A?A._getAfterAllClosed():this._afterAllClosedAtThisLevel}static \u0275fac=function(i){return new(i||t)};static \u0275prov=NA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function oS(t,e){let A=t.length;for(;A--;)e(t[A])}var sq=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=Ce({type:t});static \u0275inj=Ie({providers:[sS],imports:[El,dg,r8,dg]})}return t})();function jmA(t,e){}var D8=class{viewContainerRef;injector;id;role="dialog";panelClass="";hasBackdrop=!0;backdropClass="";disableClose=!1;width="";height="";minWidth;minHeight;maxWidth;maxHeight;position;data=null;direction;ariaDescribedBy=null;ariaLabelledBy=null;ariaLabel=null;ariaModal=!1;autoFocus="first-tabbable";restoreFocus=!0;delayFocusTrap=!0;scrollStrategy;closeOnNavigation=!0;componentFactoryResolver;enterAnimationDuration;exitAnimationDuration},aS="mdc-dialog--open",aq="mdc-dialog--opening",cq="mdc-dialog--closing",qmA=150,VmA=75,ZmA=(()=>{class t extends rS{_animationMode=f(Si,{optional:!0});_animationStateChanged=new WA;_animationsEnabled=this._animationMode!=="NoopAnimations";_actionSectionCount=0;_hostElement=this._elementRef.nativeElement;_enterAnimationDuration=this._animationsEnabled?gq(this._config.enterAnimationDuration)??qmA:0;_exitAnimationDuration=this._animationsEnabled?gq(this._config.exitAnimationDuration)??VmA:0;_animationTimer=null;_contentAttached(){super._contentAttached(),this._startOpenAnimation()}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._enterAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty(lq,`${this._enterAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(aq,aS)),this._waitForAnimationToComplete(this._enterAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add(aS),Promise.resolve().then(()=>this._finishDialogOpen()))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._exitAnimationDuration}),this._hostElement.classList.remove(aS),this._animationsEnabled?(this._hostElement.style.setProperty(lq,`${this._exitAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(cq)),this._waitForAnimationToComplete(this._exitAnimationDuration,this._finishDialogClose)):Promise.resolve().then(()=>this._finishDialogClose())}_updateActionSectionCount(A){this._actionSectionCount+=A,this._changeDetectorRef.markForCheck()}_finishDialogOpen=()=>{this._clearAnimationClasses(),this._openAnimationDone(this._enterAnimationDuration)};_finishDialogClose=()=>{this._clearAnimationClasses(),this._animationStateChanged.emit({state:"closed",totalTime:this._exitAnimationDuration})};_clearAnimationClasses(){this._hostElement.classList.remove(aq,cq)}_waitForAnimationToComplete(A,i){this._animationTimer!==null&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(i,A)}_requestAnimationFrame(A){this._ngZone.runOutsideAngular(()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(A):A()})}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(A){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:A})}ngOnDestroy(){super.ngOnDestroy(),this._animationTimer!==null&&clearTimeout(this._animationTimer)}attachComponentPortal(A){let i=super.attachComponentPortal(A);return i.location.nativeElement.classList.add("mat-mdc-dialog-component-host"),i}static \u0275fac=(()=>{let A;return function(n){return(A||(A=Hi(t)))(n||t)}})();static \u0275cmp=zA({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:10,hostBindings:function(i,n){i&2&&(Hs("id",n._config.id),Ne("aria-modal",n._config.ariaModal)("role",n._config.role)("aria-labelledby",n._config.ariaLabel?null:n._ariaLabelledByQueue[0])("aria-label",n._config.ariaLabel)("aria-describedby",n._config.ariaDescribedBy||null),ue("_mat-animation-noopable",!n._animationsEnabled)("mat-mdc-dialog-container-with-actions",n._actionSectionCount>0))},features:[lt],decls:3,vars:0,consts:[[1,"mat-mdc-dialog-inner-container","mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function(i,n){i&1&&(S(0,"div",0)(1,"div",1),_A(2,jmA,0,0,"ng-template",2),F()())},dependencies:[fa],styles:['.mat-mdc-dialog-container{width:100%;height:100%;display:block;box-sizing:border-box;max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;outline:0}.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-max-width, 560px);min-width:var(--mat-dialog-container-min-width, 280px)}@media(max-width: 599px){.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-small-max-width, calc(100vw - 32px))}}.mat-mdc-dialog-inner-container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;opacity:0;transition:opacity linear var(--mat-dialog-transition-duration, 0ms);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mdc-dialog--closing .mat-mdc-dialog-inner-container{transition:opacity 75ms linear;transform:none}.mdc-dialog--open .mat-mdc-dialog-inner-container{opacity:1}._mat-animation-noopable .mat-mdc-dialog-inner-container{transition:none}.mat-mdc-dialog-surface{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;width:100%;height:100%;position:relative;overflow-y:auto;outline:0;transform:scale(0.8);transition:transform var(--mat-dialog-transition-duration, 0ms) cubic-bezier(0, 0, 0.2, 1);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;box-shadow:var(--mat-dialog-container-elevation-shadow, none);border-radius:var(--mdc-dialog-container-shape, var(--mat-sys-corner-extra-large, 4px));background-color:var(--mdc-dialog-container-color, var(--mat-sys-surface, white))}[dir=rtl] .mat-mdc-dialog-surface{text-align:right}.mdc-dialog--open .mat-mdc-dialog-surface,.mdc-dialog--closing .mat-mdc-dialog-surface{transform:none}._mat-animation-noopable .mat-mdc-dialog-surface{transition:none}.mat-mdc-dialog-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mat-mdc-dialog-title{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:var(--mat-dialog-headline-padding, 6px 24px 13px)}.mat-mdc-dialog-title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mat-mdc-dialog-title{text-align:right}.mat-mdc-dialog-container .mat-mdc-dialog-title{color:var(--mdc-dialog-subhead-color, var(--mat-sys-on-surface, rgba(0, 0, 0, 0.87)));font-family:var(--mdc-dialog-subhead-font, var(--mat-sys-headline-small-font, inherit));line-height:var(--mdc-dialog-subhead-line-height, var(--mat-sys-headline-small-line-height, 1.5rem));font-size:var(--mdc-dialog-subhead-size, var(--mat-sys-headline-small-size, 1rem));font-weight:var(--mdc-dialog-subhead-weight, var(--mat-sys-headline-small-weight, 400));letter-spacing:var(--mdc-dialog-subhead-tracking, var(--mat-sys-headline-small-tracking, 0.03125em))}.mat-mdc-dialog-content{display:block;flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;max-height:65vh}.mat-mdc-dialog-content>:first-child{margin-top:0}.mat-mdc-dialog-content>:last-child{margin-bottom:0}.mat-mdc-dialog-container .mat-mdc-dialog-content{color:var(--mdc-dialog-supporting-text-color, var(--mat-sys-on-surface-variant, rgba(0, 0, 0, 0.6)));font-family:var(--mdc-dialog-supporting-text-font, var(--mat-sys-body-medium-font, inherit));line-height:var(--mdc-dialog-supporting-text-line-height, var(--mat-sys-body-medium-line-height, 1.5rem));font-size:var(--mdc-dialog-supporting-text-size, var(--mat-sys-body-medium-size, 1rem));font-weight:var(--mdc-dialog-supporting-text-weight, var(--mat-sys-body-medium-weight, 400));letter-spacing:var(--mdc-dialog-supporting-text-tracking, var(--mat-sys-body-medium-tracking, 0.03125em))}.mat-mdc-dialog-container .mat-mdc-dialog-content{padding:var(--mat-dialog-content-padding, 20px 24px)}.mat-mdc-dialog-container-with-actions .mat-mdc-dialog-content{padding:var(--mat-dialog-with-actions-content-padding, 20px 24px 0)}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:0}.mat-mdc-dialog-actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0);padding:var(--mat-dialog-actions-padding, 16px 24px);justify-content:var(--mat-dialog-actions-alignment, flex-end)}@media(forced-colors: active){.mat-mdc-dialog-actions{border-top-color:CanvasText}}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-start,.mat-mdc-dialog-actions[align=start]{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}.mat-mdc-dialog-component-host{display:contents}'],encapsulation:2})}return t})(),lq="--mat-dialog-transition-duration";function gq(t){return t==null?null:typeof t=="number"?t:t.endsWith("ms")?zs(t.substring(0,t.length-2)):t.endsWith("s")?zs(t.substring(0,t.length-1))*1e3:t==="0"?0:null}var w8=function(t){return t[t.OPEN=0]="OPEN",t[t.CLOSING=1]="CLOSING",t[t.CLOSED=2]="CLOSED",t}(w8||{}),Br=class{_ref;_containerInstance;componentInstance;componentRef;disableClose;id;_afterOpened=new OA;_beforeClosed=new OA;_result;_closeFallbackTimeout;_state=w8.OPEN;_closeInteractionType;constructor(e,A,i){this._ref=e,this._containerInstance=i,this.disableClose=A.disableClose,this.id=e.id,e.addPanelClass("mat-mdc-dialog-panel"),i._animationStateChanged.pipe(kt(n=>n.state==="opened"),On(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),i._animationStateChanged.pipe(kt(n=>n.state==="closed"),On(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),e.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),zn(this.backdropClick(),this.keydownEvents().pipe(kt(n=>n.keyCode===27&&!this.disableClose&&!ir(n)))).subscribe(n=>{this.disableClose||(n.preventDefault(),Iq(this,n.type==="keydown"?"keyboard":"mouse"))})}close(e){this._result=e,this._containerInstance._animationStateChanged.pipe(kt(A=>A.state==="closing"),On(1)).subscribe(A=>{this._beforeClosed.next(e),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),A.totalTime+100)}),this._state=w8.CLOSING,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(e){let A=this._ref.config.positionStrategy;return e&&(e.left||e.right)?e.left?A.left(e.left):A.right(e.right):A.centerHorizontally(),e&&(e.top||e.bottom)?e.top?A.top(e.top):A.bottom(e.bottom):A.centerVertically(),this._ref.updatePosition(),this}updateSize(e="",A=""){return this._ref.updateSize(e,A),this}addPanelClass(e){return this._ref.addPanelClass(e),this}removePanelClass(e){return this._ref.removePanelClass(e),this}getState(){return this._state}_finishDialogClose(){this._state=w8.CLOSED,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}};function Iq(t,e,A){return t._closeInteractionType=e,t.close(A)}var as=new dA("MatMdcDialogData"),WmA=new dA("mat-mdc-dialog-default-options"),XmA=new dA("mat-mdc-dialog-scroll-strategy",{providedIn:"root",factory:()=>{let t=f(nr);return()=>t.scrollStrategies.block()}});var qs=(()=>{class t{_overlay=f(nr);_defaultOptions=f(WmA,{optional:!0});_scrollStrategy=f(XmA);_parentDialog=f(t,{optional:!0,skipSelf:!0});_idGenerator=f(sn);_dialog=f(sS);_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new OA;_afterOpenedAtThisLevel=new OA;dialogConfigClass=D8;_dialogRefConstructor;_dialogContainerType;_dialogDataToken;get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){let A=this._parentDialog;return A?A._getAfterAllClosed():this._afterAllClosedAtThisLevel}afterAllClosed=jl(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Pn(void 0)));constructor(){this._dialogRefConstructor=Br,this._dialogContainerType=ZmA,this._dialogDataToken=as}open(A,i){let n;i=rA(rA({},this._defaultOptions||new D8),i),i.id=i.id||this._idGenerator.getId("mat-mdc-dialog-"),i.scrollStrategy=i.scrollStrategy||this._scrollStrategy();let o=this._dialog.open(A,Ye(rA({},i),{positionStrategy:this._overlay.position().global().centerHorizontally().centerVertically(),disableClose:!0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:i},{provide:z2,useValue:i}]},templateContext:()=>({dialogRef:n}),providers:(r,s,a)=>(n=new this._dialogRefConstructor(r,i,a),n.updatePosition(i?.position),[{provide:this._dialogContainerType,useValue:a},{provide:this._dialogDataToken,useValue:s.data},{provide:this._dialogRefConstructor,useValue:n}])}));return n.componentRef=o.componentRef,n.componentInstance=o.componentInstance,this.openDialogs.push(n),this.afterOpened.next(n),n.afterClosed().subscribe(()=>{let r=this.openDialogs.indexOf(n);r>-1&&(this.openDialogs.splice(r,1),this.openDialogs.length||this._getAfterAllClosed().next())}),n}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(A){return this.openDialogs.find(i=>i.id===A)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(A){let i=A.length;for(;i--;)A[i].close()}static \u0275fac=function(i){return new(i||t)};static \u0275prov=NA({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),hg=(()=>{class t{dialogRef=f(Br,{optional:!0});_elementRef=f(ee);_dialog=f(qs);ariaLabel;type="button";dialogResult;_matDialogClose;constructor(){}ngOnInit(){this.dialogRef||(this.dialogRef=dq(this._elementRef,this._dialog.openDialogs))}ngOnChanges(A){let i=A._matDialogClose||A._matDialogCloseResult;i&&(this.dialogResult=i.currentValue)}_onButtonClick(A){Iq(this.dialogRef,A.screenX===0&&A.screenY===0?"keyboard":"mouse",this.dialogResult)}static \u0275fac=function(i){return new(i||t)};static \u0275dir=jA({type:t,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(i,n){i&1&&hA("click",function(r){return n._onButtonClick(r)}),i&2&&Ne("aria-label",n.ariaLabel||null)("type",n.type)},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],type:"type",dialogResult:[0,"mat-dialog-close","dialogResult"],_matDialogClose:[0,"matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],features:[ti]})}return t})(),Cq=(()=>{class t{_dialogRef=f(Br,{optional:!0});_elementRef=f(ee);_dialog=f(qs);constructor(){}ngOnInit(){this._dialogRef||(this._dialogRef=dq(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{this._onAdd()})}ngOnDestroy(){this._dialogRef?._containerInstance&&Promise.resolve().then(()=>{this._onRemove()})}static \u0275fac=function(i){return new(i||t)};static \u0275dir=jA({type:t})}return t})(),bs=(()=>{class t extends Cq{id=f(sn).getId("mat-mdc-dialog-title-");_onAdd(){this._dialogRef._containerInstance?._addAriaLabelledBy?.(this.id)}_onRemove(){this._dialogRef?._containerInstance?._removeAriaLabelledBy?.(this.id)}static \u0275fac=(()=>{let A;return function(n){return(A||(A=Hi(t)))(n||t)}})();static \u0275dir=jA({type:t,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-mdc-dialog-title","mdc-dialog__title"],hostVars:1,hostBindings:function(i,n){i&2&&Hs("id",n.id)},inputs:{id:"id"},exportAs:["matDialogTitle"],features:[lt]})}return t})(),ma=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=jA({type:t,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"],features:[YT([D0])]})}return t})(),pa=(()=>{class t extends Cq{align;_onAdd(){this._dialogRef._containerInstance?._updateActionSectionCount?.(1)}_onRemove(){this._dialogRef._containerInstance?._updateActionSectionCount?.(-1)}static \u0275fac=(()=>{let A;return function(n){return(A||(A=Hi(t)))(n||t)}})();static \u0275dir=jA({type:t,selectors:[["","mat-dialog-actions",""],["mat-dialog-actions"],["","matDialogActions",""]],hostAttrs:[1,"mat-mdc-dialog-actions","mdc-dialog__actions"],hostVars:6,hostBindings:function(i,n){i&2&&ue("mat-mdc-dialog-actions-align-start",n.align==="start")("mat-mdc-dialog-actions-align-center",n.align==="center")("mat-mdc-dialog-actions-align-end",n.align==="end")},inputs:{align:"align"},features:[lt]})}return t})();function dq(t,e){let A=t.nativeElement.parentElement;for(;A&&!A.classList.contains("mat-mdc-dialog-container");)A=A.parentElement;return A?e.find(i=>i.id===A.id):null}var Bq=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=Ce({type:t});static \u0275inj=Ie({providers:[qs],imports:[sq,El,dg,it,it]})}return t})();function $mA(t,e){if(t&1&&JA(0,"img",5),t&2){let A=O(2);yA("src",A.displayContent,ja)}}function ApA(t,e){t&1&&(S(0,"div",6),AA(1," No image data provided. "),F())}function epA(t,e){if(t&1&&(S(0,"div",3),_A(1,$mA,1,1,"img",5)(2,ApA,2,0,"div",6),F()),t&2){let A=O();G(),GA(A.displayContent?1:-1),G(),GA(A.displayContent?-1:2)}}function tpA(t,e){if(t&1&&JA(0,"div",4),t&2){let A=O();yA("innerHTML",A.displayContent,RI)}}var v0=class t{constructor(e,A,i){this.dialogRef=e;this.data=A;this.sanitizer=i}displayContent=null;isSvgContent=!1;ngOnInit(){this.processImageData()}processImageData(){let e=this.data.imageData;if(!e){this.displayContent=null,this.isSvgContent=!1;return}if(e.trim().includes("